Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/140001/?format=api
https://patches.dpdk.org/api/patches/140001/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20240509112057.1167947-4-luca.vizzarro@arm.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20240509112057.1167947-4-luca.vizzarro@arm.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20240509112057.1167947-4-luca.vizzarro@arm.com", "date": "2024-05-09T11:20:52", "name": "[v2,3/8] dts: refactor EalParams", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "f9aaa8b5a56a65e1b03fb5a0428cb97926055a5a", "submitter": { "id": 3197, "url": "https://patches.dpdk.org/api/people/3197/?format=api", "name": "Luca Vizzarro", "email": "luca.vizzarro@arm.com" }, "delegate": { "id": 1, "url": "https://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20240509112057.1167947-4-luca.vizzarro@arm.com/mbox/", "series": [ { "id": 31897, "url": "https://patches.dpdk.org/api/series/31897/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=31897", "date": "2024-05-09T11:20:49", "name": "dts: add testpmd params", "version": 2, "mbox": "https://patches.dpdk.org/series/31897/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/140001/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/140001/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A199043F7C;\n\tThu, 9 May 2024 13:21:33 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5F8364068E;\n\tThu, 9 May 2024 13:21:16 +0200 (CEST)", "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 9E74C402EE\n for <dev@dpdk.org>; Thu, 9 May 2024 13:21:12 +0200 (CEST)", "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9E88212FC;\n Thu, 9 May 2024 04:21:37 -0700 (PDT)", "from localhost.localdomain (unknown [10.1.194.74])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 780823F6A8;\n Thu, 9 May 2024 04:21:11 -0700 (PDT)" ], "From": "Luca Vizzarro <luca.vizzarro@arm.com>", "To": "dev@dpdk.org", "Cc": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>,\n Jeremy Spewock <jspewock@iol.unh.edu>, Luca Vizzarro <luca.vizzarro@arm.com>,\n Paul Szczepanek <paul.szczepanek@arm.com>", "Subject": "[PATCH v2 3/8] dts: refactor EalParams", "Date": "Thu, 9 May 2024 12:20:52 +0100", "Message-Id": "<20240509112057.1167947-4-luca.vizzarro@arm.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20240509112057.1167947-1-luca.vizzarro@arm.com>", "References": "<20240326190422.577028-1-luca.vizzarro@arm.com>\n <20240509112057.1167947-1-luca.vizzarro@arm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Move EalParams to its own module to avoid circular dependencies.\n\nSigned-off-by: Luca Vizzarro <luca.vizzarro@arm.com>\nReviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>\n---\n dts/framework/params/eal.py | 50 +++++++++++++++++++\n dts/framework/remote_session/testpmd_shell.py | 2 +-\n dts/framework/testbed_model/sut_node.py | 42 +---------------\n 3 files changed, 53 insertions(+), 41 deletions(-)\n create mode 100644 dts/framework/params/eal.py", "diff": "diff --git a/dts/framework/params/eal.py b/dts/framework/params/eal.py\nnew file mode 100644\nindex 0000000000..bbdbc8f334\n--- /dev/null\n+++ b/dts/framework/params/eal.py\n@@ -0,0 +1,50 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2024 Arm Limited\n+\n+\"\"\"Module representing the DPDK EAL-related parameters.\"\"\"\n+\n+from dataclasses import dataclass, field\n+from typing import Literal\n+\n+from framework.params import Params, Switch\n+from framework.testbed_model.cpu import LogicalCoreList\n+from framework.testbed_model.port import Port\n+from framework.testbed_model.virtual_device import VirtualDevice\n+\n+\n+def _port_to_pci(port: Port) -> str:\n+ return port.pci\n+\n+\n+@dataclass(kw_only=True)\n+class EalParams(Params):\n+ \"\"\"The environment abstraction layer parameters.\n+\n+ Attributes:\n+ lcore_list: The list of logical cores to use.\n+ memory_channels: The number of memory channels to use.\n+ prefix: Set the file prefix string with which to start DPDK, e.g.: ``prefix=\"vf\"``.\n+ no_pci: Switch to disable PCI bus, e.g.: ``no_pci=True``.\n+ vdevs: Virtual devices, e.g.::\n+ vdevs=[\n+ VirtualDevice('net_ring0'),\n+ VirtualDevice('net_ring1')\n+ ]\n+ ports: The list of ports to allow.\n+ other_eal_param: user defined DPDK EAL parameters, e.g.:\n+ ``other_eal_param='--single-file-segments'``\n+ \"\"\"\n+\n+ lcore_list: LogicalCoreList = field(metadata=Params.short(\"l\"))\n+ memory_channels: int = field(metadata=Params.short(\"n\"))\n+ prefix: str = field(metadata=Params.long(\"file-prefix\"))\n+ no_pci: Switch = None\n+ vdevs: list[VirtualDevice] | None = field(\n+ default=None, metadata=Params.multiple() | Params.long(\"vdev\")\n+ )\n+ ports: list[Port] | None = field(\n+ default=None,\n+ metadata=Params.convert_value(_port_to_pci) | Params.multiple() | Params.short(\"a\"),\n+ )\n+ other_eal_param: Params | None = None\n+ _separator: Literal[True] = field(default=True, init=False, metadata=Params.short(\"-\"))\ndiff --git a/dts/framework/remote_session/testpmd_shell.py b/dts/framework/remote_session/testpmd_shell.py\nindex 7eced27096..841d456a2f 100644\n--- a/dts/framework/remote_session/testpmd_shell.py\n+++ b/dts/framework/remote_session/testpmd_shell.py\n@@ -21,8 +21,8 @@\n from typing import Callable, ClassVar\n \n from framework.exception import InteractiveCommandExecutionError\n+from framework.params.eal import EalParams\n from framework.settings import SETTINGS\n-from framework.testbed_model.sut_node import EalParams\n from framework.utils import StrEnum\n \n from .interactive_shell import InteractiveShell\ndiff --git a/dts/framework/testbed_model/sut_node.py b/dts/framework/testbed_model/sut_node.py\nindex c886590979..e1163106a3 100644\n--- a/dts/framework/testbed_model/sut_node.py\n+++ b/dts/framework/testbed_model/sut_node.py\n@@ -15,9 +15,8 @@\n import os\n import tarfile\n import time\n-from dataclasses import dataclass, field\n from pathlib import PurePath\n-from typing import Literal, Type\n+from typing import Type\n \n from framework.config import (\n BuildTargetConfiguration,\n@@ -26,6 +25,7 @@\n SutNodeConfiguration,\n )\n from framework.params import Params, Switch\n+from framework.params.eal import EalParams\n from framework.remote_session import CommandResult\n from framework.settings import SETTINGS\n from framework.utils import MesonArgs\n@@ -37,44 +37,6 @@\n from .virtual_device import VirtualDevice\n \n \n-def _port_to_pci(port: Port) -> str:\n- return port.pci\n-\n-\n-@dataclass(kw_only=True)\n-class EalParams(Params):\n- \"\"\"The environment abstraction layer parameters.\n-\n- Attributes:\n- lcore_list: The list of logical cores to use.\n- memory_channels: The number of memory channels to use.\n- prefix: Set the file prefix string with which to start DPDK, e.g.: ``prefix=\"vf\"``.\n- no_pci: Switch to disable PCI bus, e.g.: ``no_pci=True``.\n- vdevs: Virtual devices, e.g.::\n- vdevs=[\n- VirtualDevice('net_ring0'),\n- VirtualDevice('net_ring1')\n- ]\n- ports: The list of ports to allow.\n- other_eal_param: user defined DPDK EAL parameters, e.g.:\n- ``other_eal_param='--single-file-segments'``\n- \"\"\"\n-\n- lcore_list: LogicalCoreList = field(metadata=Params.short(\"l\"))\n- memory_channels: int = field(metadata=Params.short(\"n\"))\n- prefix: str = field(metadata=Params.long(\"file-prefix\"))\n- no_pci: Switch\n- vdevs: list[VirtualDevice] | None = field(\n- default=None, metadata=Params.multiple() | Params.long(\"vdev\")\n- )\n- ports: list[Port] | None = field(\n- default=None,\n- metadata=Params.convert_value(_port_to_pci) | Params.multiple() | Params.short(\"a\"),\n- )\n- other_eal_param: Params | None = None\n- _separator: Literal[True] = field(default=True, init=False, metadata=Params.short(\"-\"))\n-\n-\n class SutNode(Node):\n \"\"\"The system under test node.\n \n", "prefixes": [ "v2", "3/8" ] }{ "id": 140001, "url": "