[PATCH v2 2/2] dts: add generic blocking app class

2025-07-04 Thread Luca Vizzarro
Add a generic blocking app class to allow a test writer to run any app in the background. Make the original BlockingDPDKApp class inherit from this one. Implement the new BlockingApp class in the packet_capture test suite. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts

[PATCH v2 1/2] dts: remove dpdk example build function

2025-07-04 Thread Luca Vizzarro
Usage of example DPDK apps should be avoided. Therefore, remove the function that allows to build example apps. Moreover, provide a dedicated helper function to retrieve the path to a DPDK app. Signed-off-by: Luca Vizzarro --- dts/framework/remote_session/dpdk.py | 33

[PATCH v2 0/2] dts: add generic blocking app class

2025-07-04 Thread Luca Vizzarro
Hi again, sending v2. v2: - removing the build dpdk example app as not needed. Luca Vizzarro (2): dts: remove dpdk example build function dts: add generic blocking app class dts/framework/remote_session/blocking_app.py | 135 +++ dts/framework/remote_session/dpdk.py

[PATCH 1/2] dts: add DPDK build app helper function

2025-07-02 Thread Luca Vizzarro
Make a distinction between example apps and app/ apps by renaming the build app function. Moreover, provide a dedicated helper function to retrieve the path to a DPDK app. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/remote_session/dpdk.py | 8 ++-- 1 file

[PATCH 2/2] dts: add generic blocking app class

2025-07-02 Thread Luca Vizzarro
Add a generic blocking app class to allow a test writer to run any app in the background. Make the original BlockingDPDKApp class inherit from this one. Implement the new BlockingApp class in the packet_capture test suite. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts

[PATCH 0/2] dts: add generic blocking app class

2025-07-02 Thread Luca Vizzarro
Hello, sending in some minor improvements that unlocks the possibility of running any app in the background. Best, Luca Luca Vizzarro (2): dts: add DPDK build app helper function dts: add generic blocking app class dts/framework/remote_session/blocking_app.py | 135

Re: [PATCH v3 5/5] dts: add performance test functions to test suite API

2025-07-02 Thread Luca Vizzarro
On 02/07/2025 06:21, Patrick Robb wrote: From: Nicholas Pratte Provide functional performance method to run performance tests using a user-supplied performance traffic generator. The single core performance test is included, with some basic statistics checks verifying TG packet is the test mis

Re: [PATCH v3 4/5] dts: add trex traffic generator to dts framework

2025-07-02 Thread Luca Vizzarro
On 02/07/2025 06:21, Patrick Robb wrote: class TrafficGeneratorConfig(FrozenModel): @@ -404,6 +406,8 @@ class TrafficGeneratorConfig(FrozenModel): #: The traffic generator type the child class is required to define to be distinguished among #: others. type: TrafficGeneratorTy

Re: [PATCH v3 3/5] dts: add timeout override option to interactive shells

2025-07-02 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH v3 2/5] dts: rework traffic generator inheritance structure

2025-07-02 Thread Luca Vizzarro
On 02/07/2025 06:21, Patrick Robb wrote: +++ b/dts/framework/testbed_model/traffic_generator/performance_traffic_generator.py @@ -0,0 +1,63 @@ + +@dataclass(slots=True) +class PerformanceTrafficStats(ABC): Why is this inheriting ABC? I don't see why a dataclass would be abstract given it's e

Re: [PATCH v3 1/5] dts: rework config module to support perf TGs

2025-07-02 Thread Luca Vizzarro
Hi Patrick and Nick, I am unsure what happened with this commit. The commit subject doesn't match what's happening here. Mentions a rework of the config module, which is not. Description seems ok. Another issue I see is that some changes don't make a lot logical sense as they stand here. The

Re: [PATCH v2] dts: fix devbind initialization bug

2025-06-17 Thread Luca Vizzarro
Looks good to me. just a small nit: On 16/06/2025 19:38, Dean Marx wrote: +test_run.ctx.topology.setup() +self.test_run.ctx.topology.configure_ports("sut", "dpdk") no need to do `self.` here. Outside of this: Reviewed-by: Luca Vizzarro

Re: [PATCH v2] dts: fix deterministic doc

2025-06-16 Thread Luca Vizzarro
Looks good. Reviewed-by: Luca Vizzarro

Re: [PATCH] doc: elaborate on per test suite configuration dts docs

2025-06-16 Thread Luca Vizzarro
Agree with Dean's changes. Also the start marker is broken, but can easily be added. Reviewed-by: Luca Vizzarro

Re: [PATCH v1 3/4] dts: remove unnecessary capability requirement

2025-05-14 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH v1 4/4] change verification field in unified packet suite

2025-05-14 Thread Luca Vizzarro
The changes look fine, so this is for them: Reviewed-by: Luca Vizzarro But the commit subject/body need amendment. The `dts: ` component prefix is missing in the subject On 06/03/2025 22:47, Dean Marx wrote: Changes the unified packet testing suite to use layer 4 destination ports as

Re: [PATCH v1 2/4] dts: change verification field in checksum offload suite

2025-05-14 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH v1 1/4] dts: add layer 4 port field to verbose parser

2025-05-14 Thread Luca Vizzarro
Hi Dean, looks good to me. Just a minor optional nit. Reviewed-by: Luca Vizzarro On 06/03/2025 22:47, Dean Marx wrote: +#: +l4_dport: int | None = field( +default=None, +metadata=TextParser.find_int(r"(?:Destination TCP port=|Destination UDP port

[PATCH v2 3/3] dts: add packet capture test suite

2025-05-06 Thread Luca Vizzarro
From: Thomas Wilks Add a test suite that tests the packet capture framework through the use of dpdk-dumpcap. Signed-off-by: Thomas Wilks Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- .../dts/tests.TestSuite_packet_capture.rst| 8 + dts/tests/TestSuite_packet_capture.py

[PATCH v2 2/3] dts: add facility to change file permissions

2025-05-06 Thread Luca Vizzarro
Add an abstraction to handle file permissions for the remote. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/testbed_model/os_session.py| 34 dts/framework/testbed_model/posix_session.py | 11 ++- 2 files changed, 44 insertions(+), 1

[PATCH v2 1/3] dts: import lldp package in scapy

2025-05-06 Thread Luca Vizzarro
From: Thomas Wilks Add import for lldp scapy package to enable lldp packet creation and handling. Signed-off-by: Thomas Wilks Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts/framework/testbed_model/traffic_generator/scapy.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dts

[PATCH v2 0/3] dts: add packet capture test suite

2025-05-06 Thread Luca Vizzarro
Hi there, sending in a v2 for the packet capture test suite. v2: - added a new command to change file permissions on remote - changed test suite to use dpdk-dumpcap instead of dpdk-pdump Best regards, Luca Luca Vizzarro (1): dts: add facility to change file permissions Thomas Wilks (2

[PATCH] dts: improve port handling

2025-05-06 Thread Luca Vizzarro
ce by not relying on the pre-bound driver prior to a DTS run, and always rely on the configured kernel driver. Finally provide a new decorator to allow test suites or cases to choose which ports from the configured topology to dedicate to DPDK. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szcz

[PATCH] dts: add ICMP to packet filter config

2025-04-15 Thread Luca Vizzarro
NICs like the Intel E810-C often produce ICMP packets. These packets are stray and can interfere with testing. Therefore, add an ICMP filtering option in the packet filter. Moreover, use Scapy constants for the header values. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- Hi

Re: [PATCH 2/2] dts: update dpdk-devbind script regex

2025-04-03 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH 1/2] dts: include smoke tests in tests config

2025-04-03 Thread Luca Vizzarro
Hi Patrick, this looks good, easy and quick fix. I am afraid that you can't append to an `Iterable` type though. I've also confirmed this with mypy: Unsupported left operand type for + ("Iterable[TestSuiteConfig]") I guess the easiest fix is to just change the argument type to `list` from

Re: [PATCH v12 07/10] dts: replace use of sanity check in comment

2025-04-03 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro I'm happy with the change. The original intention of the comment was to make sure that non-involved ports were still being allowed, and that there were no side effects. The comment change somewhat becomes redundant as it's repeating the subsequent message

[PATCH] dts: add Scapy asynchronous sniffer

2025-03-18 Thread Luca Vizzarro
e use of Event signals. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/test_run.py | 2 +- .../testbed_model/traffic_generator/scapy.py | 347 -- .../traffic_generator/traffic_generator.py| 2 +- dts/framework/uti

[PATCH v2 5/7] dts: make shells path dynamic

2025-03-15 Thread Luca Vizzarro
Turn the `path` attribute of InteractiveShell into a method property. This allows path to both be defined statically by the class implementation and also to be defined dynamically as part of the class construction. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework

[PATCH v2 6/7] dts: remove multi-inheritance classes

2025-03-14 Thread Luca Vizzarro
attribute. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- .../remote_session/interactive_shell.py | 9 + .../testbed_model/traffic_generator/scapy.py | 38 +-- .../traffic_generator/traffic_generator.py| 6 +-- dts/framework/utils.py

[PATCH v2 1/7] dts: escape single quotes

2025-03-14 Thread Luca Vizzarro
When making any command a privileged one in a LinuxSession, there currently is no consideration whether this command already includes single quotes. Therefore escape the existing single quotes before making the command. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts

Re: [PATCH] dts: fix SPDX tag

2025-03-14 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

[PATCH v2 7/7] dts: enable shell pooling

2025-03-14 Thread Luca Vizzarro
called if the shell has already been closed. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- .../remote_session/interactive_shell.py | 24 ++- dts/framework/remote_session/python_shell.py | 3 ++- dts/framework/remote_session/testpmd_shell.py | 2 ++ dts

[PATCH v2 3/7] dts: add shells pool

2025-03-14 Thread Luca Vizzarro
cleaned up properly without affecting shells created on a lower level, like the test suite. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- doc/api/dts/framework.remote_session.rst | 1 + .../framework.remote_session.shell_pool.rst | 8 ++ dts/framework/context.py

[PATCH v2 4/7] dts: revert back to a single InteractiveShell

2025-03-14 Thread Luca Vizzarro
the test run instead of the test suites. Revert back to a single InteractiveShell to simplify the code. Keep the context manager implementation but also render start_application and close public methods again. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework

[PATCH v2 0/7] dts: shell improvements

2025-03-14 Thread Luca Vizzarro
simplify - added a new pseudo-shell to handle blocking applications Best, Luca Luca Vizzarro (7): dts: escape single quotes dts: add blocking dpdk app class dts: add shells pool dts: revert back to a single InteractiveShell dts: make shells path dynamic dts: remove multi-inheritance

[PATCH v2 2/7] dts: add blocking dpdk app class

2025-03-14 Thread Luca Vizzarro
keystroke, therefore sending a SIGINT to the app. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/remote_session/dpdk_app.py | 73 +++ dts/framework/remote_session/dpdk_shell.py| 3 +- .../single_active_interactive_shell.py| 12 ++- dts

Re: [PATCH v4 7/7] dts: improve configuration errors

2025-03-11 Thread Luca Vizzarro
On 04/03/2025 22:39, Dean Marx wrote: Looks great, thanks Luca! Reviewed-by: Dean Marx Thank you for your review Dean!

Re: [PATCH 3/6] dts: add tmp directory facility

2025-03-11 Thread Luca Vizzarro
On 05/03/2025 23:29, Dean Marx wrote: This makes sense, I noticed though that nothing is actually stored in these placeholder directories yet, and dpdk is built in a separate folder. Is the plan in the future to move this to the placeholder directory? Or is there a different use case? Reviewed-b

Re: [PATCH 2/6] dts: use topology in smoke tests

2025-03-11 Thread Luca Vizzarro
On 05/03/2025 23:26, Dean Marx wrote: On Mon, Feb 24, 2025 at 8:30 AM Luca Vizzarro wrote: The smoke tests where wrongly using all the node's ports for the smoke tests. Ensure only the ports specified in the current topology are used. Should be were, not where argh, good catch! than

[PATCH v4 7/7] dts: improve configuration errors

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro Improve the way that configuration errors are displayed to the user. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/config/__init__.py | 4 ++-- dts/framework/config/test_run.py | 2 +- dts/framework/runner.py | 14 +- 3

[PATCH v4 6/7] dts: add per-test-suite configuration

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro Allow test suites to be configured individually. Moreover enable them to implement their own custom configuration. Adds a new argument to the command line which enables the user to supply a YAML file to configure all of the requested test suites. This argument becomes

[PATCH v4 5/7] dts: run only one test run per execution

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro To aid configurability and flexibility both for the user and the developer, make DTS run only one test run per execution. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- doc/guides/tools/dts.rst | 18 dts/.gitignore | 2

[PATCH v4 3/7] dts: fix smoke tests docstring

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro Sphinx autodoc complains of is_blocking being duplicated. This is the case as the parent already holds a docstring for this attribute. Remove the duplication. Fixes: 6ef07151aac4 ("dts: update docstrings") Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek

[PATCH v4 1/7] dts: add tests package to API docs

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro The test suites are not documented in the API as their respective documentation files are missing. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- doc/api/dts/index.rst | 1 + doc/api/dts/tests.TestSuite_blocklist.rst

[PATCH v4 4/7] dts: update autodoc sorting order

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro The autodoc member sorting order default is set to alphabetical, which translates to autodoc sorting every member in modules, classes etc. This also brings some side effects, like sorting capabilities which can't be compared and result in errors. This change prevents au

[PATCH v4 2/7] dts: amend test suites docstring

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro Amend the test suites docstring to conform to valid rst. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/tests/TestSuite_dynamic_config.py | 10 +-- dts/tests/TestSuite_mac_filter.py | 42 +- dts/tests/TestSuite_mtu.py| 114

[PATCH v4 0/7] dts: add per-test-suite configuration

2025-03-03 Thread Luca Vizzarro
From: Luca Vizzarro Hi there, sending in v4 for the per-test-suite configuration patchset. v4: - rebased - Changed implementation: - test suites configurations are now provided through a dedicated optional configuration file. - running multiple test runs hinders flexibility in loading

[PATCH] dts: add TG setup and teardown

2025-02-25 Thread Luca Vizzarro
Add traffic generator setup and teardown respectively in TestRunSetup and TestRunTeardown. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/test_run.py | 2 ++ .../testbed_model/traffic_generator/traffic_generator.py| 2

[PATCH 1/6] dts: ensure runtime working directory

2025-02-24 Thread Luca Vizzarro
After loading the user's settings and supplied configuration files, make the dts folder the working directory for the runner. This allows DTS to easily access the local DPDK tree. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/main.py | 6 ++ 1 file chang

[PATCH 5/6] dts: enable build-less DPDK driver binding

2025-02-24 Thread Luca Vizzarro
Add a facility to bind drivers for DPDK on runtimes where the DPDK build is lacking. This is needed to execute any program that is based on DPDK, but is unrelated to the testing. Bugzilla ID: 1420 Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/remote_session

[PATCH 6/6] dts: restore TG setup and teardown

2025-02-24 Thread Luca Vizzarro
The setup and teardown was previously missed when reworking the execution internals into states. Add back the traffic generator setup and teardown respectively in TestRunSetup and TestRunTeardown. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/test_run.py

[PATCH 2/6] dts: use topology in smoke tests

2025-02-24 Thread Luca Vizzarro
The smoke tests where wrongly using all the node's ports for the smoke tests. Ensure only the ports specified in the current topology are used. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/tests/TestSuite_smoke_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 del

[PATCH 4/6] dts: decouple DPDK runtime from build

2025-02-24 Thread Luca Vizzarro
Allow the DPDKRuntimeEnvironment to work without an associated DPDK build. This is useful when executing any program that is based on DPDK, so that the common runtime functionality can be shared. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/context.py

[PATCH 0/6] dts: add build-less driver binding

2025-02-24 Thread Luca Vizzarro
Hi there, sending in a solution that could enable DTS to bind drivers for DPDK-based apps, like traffic generators, that lack the DPDK build to gather dpdk-devbind.py from. Best, Luca Luca Vizzarro (6): dts: ensure runtime working directory dts: use topology in smoke tests dts: add tmp

[PATCH 3/6] dts: add tmp directory facility

2025-02-24 Thread Luca Vizzarro
about the setup is held. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/test_run.py| 4 +++ dts/framework/testbed_model/node.py | 31 +++- dts/framework/testbed_model/os_session.py| 12 dts/framework

[PATCH] dts: grab linter return value

2025-02-19 Thread Luca Vizzarro
In dts-check-format we were checking if the linter was updating the tree, but we were not picking up the return value in case an unfixable error would be raised. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- devtools/dts-check-format.sh | 1 + 1 file changed, 1 insertion

Re: [PATCH v2 6/7] dts: revamp runtime internals

2025-02-17 Thread Luca Vizzarro
On 14/02/2025 18:54, Nicholas Pratte wrote: This definitely cleans things up a lot! Reviewed-by: Nicholas Pratte @@ -217,9 +218,7 @@ def get_supported_capabilities( ) if cls.capabilities_to_check: capabilities_to_check_map = cls._get_decorated_capabilities_m

Re: [RFC PATCH 0/7] dts: revamp framework

2025-02-12 Thread Luca Vizzarro
On 04/02/2025 21:08, Dean Marx wrote: Hi Luca, I saw in the meeting minutes that the main purpose of this series is to implement the separation of concern principle better in DTS. Just wondering, what parts of the current framework did you think needed to be separated and why? I'm taking an OOP

Re: [RFC PATCH 1/7] dts: add port topology configuration

2025-02-12 Thread Luca Vizzarro
Thank you Dean! Applied.

Re: [RFC PATCH 1/7] dts: add port topology configuration

2025-02-12 Thread Luca Vizzarro
Great points! Thank you, will apply.

Re: [PATCH v2 0/7] dts: revamp framework

2025-02-12 Thread Luca Vizzarro
Forgot to mention that I've also removed the distinction between SUT and TG nodes. These are now all the same nodes. Runtime configuration for DPDK and TG now lies within the test run.

[PATCH v2 7/7] dts: remove node distinction

2025-02-12 Thread Luca Vizzarro
ained. This sets a predisposition for DPDK-based traffic generator as well, as it'd make it easier to handle their own environment using the pre-existing functionality. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- doc/api/dts/framework.remote_session.dpdk.rst | 8 + d

Re: [PATCH v2 0/7] dts: revamp framework

2025-02-12 Thread Luca Vizzarro
Please dismiss this email. Was sent in error.

[PATCH v2 6/7] dts: revamp runtime internals

2025-02-12 Thread Luca Vizzarro
e new class. Internals which have been completely reworked into a finite state machine (FSM), to simplify the use and understanding of the different execution states, while rendering the process of handling errors less repetitive and easier. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szcze

[PATCH v2 4/7] dts: improve Port model

2025-02-12 Thread Luca Vizzarro
Make Port models standalone, so that they can be directly manipulated by the test suites as needed. Moreover, let them handle themselves and retrieve the logical name and mac address in autonomy. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts

[PATCH v2 5/7] dts: add global runtime context

2025-02-12 Thread Luca Vizzarro
erned about the nodes, and can directly use the tools implementing context awareness, e.g. TestPmdShell, as needed. Bugzilla ID: 1461 Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- doc/api/dts/framework.context.rst | 8 ++ doc/api/dts/inde

[PATCH v2 3/7] dts: revamp Topology model

2025-02-12 Thread Luca Vizzarro
Change the Topology model to add further flexility in its usage as a standalone entry point to test suites. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Nicholas Pratte Reviewed-by: Dean Marx --- dts/framework/testbed_model/topology.py | 85

[PATCH v2 2/7] dts: isolate test specification to config

2025-02-12 Thread Luca Vizzarro
In an effort to improve separation of concerns, make the TestRunConfig class responsible for processing the configured test suites. Moreover, give TestSuiteConfig a facility to yield references to the selected test cases. Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by

[PATCH v2 1/7] dts: add port topology configuration

2025-02-12 Thread Luca Vizzarro
map topologies for each run as required. Moreover it simplifies the process to link ports by defining a user friendly notation. Bugzilla ID: 1478 Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek --- dts/framework/config/__init__.py | 54 dts/framework/config

[PATCH v2 0/7] dts: revamp framework

2025-02-12 Thread Luca Vizzarro
enums (as a consequence of the above) - fixed some docstrings Best, Luca Luca Vizzarro (7): dts: add port topology configuration dts: isolate test specification to config dts: revamp Topology model dts: improve Port model dts: add global runtime context dts: revamp runtime internals dts

[PATCH v2 0/7] dts: revamp framework

2025-02-12 Thread Luca Vizzarro
enums (as a consequence of the above) - fixed some docstrings Best, Luca Luca Vizzarro (7): dts: add port topology configuration dts: isolate test specification to config dts: revamp Topology model dts: improve Port model dts: add global runtime context dts: revamp runtime internals dts

Re: [PATCH v2 1/2] dts: remove 'requires_forwarding_restart' from framework

2025-02-04 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH v2 2/2] dts: rework run-time MTU adjustment test case

2025-02-03 Thread Luca Vizzarro
ing. -testpmd.start() Sorry!! you forgot to remove the lines above until the docstring I presume. testpmd.set_port_mtu_all(1500, verify=True) + Looks good otherwise! Reviewed-by: Luca Vizzarro

[RFC PATCH 7/7] dts: revamp runtime internals

2025-02-03 Thread Luca Vizzarro
e new class. Internals which have been completely reworked into a finite state machine (FSM), to simplify the use and understanding of the different execution states, while rendering the process of handling errors less repetitive and easier. Signed-off-by: Luca Vizzarro --- doc/ap

[RFC PATCH 6/7] dts: add global runtime context

2025-02-03 Thread Luca Vizzarro
about the nodes, and can directly use the tools, e.g. TestPmdShell, as needed which implement context awareness. Bugzilla ID: 1461 Signed-off-by: Luca Vizzarro --- doc/api/dts/framework.context.rst | 8 ++ doc/api/dts/index.rst | 1 + dts/framework/conte

[RFC PATCH 5/7] dts: add runtime status

2025-02-03 Thread Luca Vizzarro
Add a new module which defines the global runtime status of DTS and the distinct execution stages and steps. Signed-off-by: Luca Vizzarro --- doc/api/dts/framework.status.rst | 8 doc/api/dts/index.rst| 1 + dts/framework/logger.py | 36 -- dts

[RFC PATCH 4/7] dts: improve Port model

2025-02-03 Thread Luca Vizzarro
Make Port models standalone, so that they can be directly manipulated by the test suites as needed. Moreover, let them handle themselves and retrieve the logical name and mac address in autonomy. Signed-off-by: Luca Vizzarro --- dts/framework/testbed_model/linux_session.py | 47

[RFC PATCH 3/7] dts: revamp Topology model

2025-02-03 Thread Luca Vizzarro
Change the Topology model to add further flexility in its usage as a standalone entry point to test suites. Signed-off-by: Luca Vizzarro --- dts/framework/testbed_model/topology.py | 85 + 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/dts/framework

[RFC PATCH 2/7] dts: isolate test specification to config

2025-02-03 Thread Luca Vizzarro
In an effort to improve separation of concerns, make the TestRunConfig class responsible for processing the configured test suites. Moreover, give TestSuiteConfig a facility to yield references to the selected test cases. Signed-off-by: Luca Vizzarro --- dts/framework/config/__init__.py | 84

[RFC PATCH 1/7] dts: add port topology configuration

2025-02-03 Thread Luca Vizzarro
map topologies for each run as required. Moreover it simplies the process to link ports by defining a user friendly notation. Bugzilla ID: 1478 Signed-off-by: Luca Vizzarro --- dts/framework/config/__init__.py | 54 dts/framework/config/node.py | 25

[RFC PATCH 0/7] dts: revamp framework

2025-02-03 Thread Luca Vizzarro
proper documentation in some instances. Please do point everything out. Best, Luca Luca Vizzarro (7): dts: add port topology configuration dts: isolate test specification to config dts: revamp Topology model dts: improve Port model dts: add runtime status dts: add global runtime

Re: [PATCH 2/2] dts: rework run-time MTU adjustment test case

2025-01-31 Thread Luca Vizzarro
Looks good. Just some very small comments on polishing. Reviewed-by: Luca Vizzarro On 31/01/2025 19:38, Nicholas Pratte wrote: Forwarding restarts in the run-time MTU adjustment test case have been explicitly added, given that the 'requires_forwarding_restart' decorator from a prev

Re: [PATCH 1/2] dts: remove 'requires_forwarding_restart' from framework

2025-01-31 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

[PATCH 3/3] dts: bump up fabric version

2025-01-31 Thread Luca Vizzarro
up the version of fabric to 3, in order to support Python 3.12 and 3.13. Signed-off-by: Luca Vizzarro --- dts/poetry.lock| 165 +++-- dts/pyproject.toml | 2 +- 2 files changed, 129 insertions(+), 38 deletions(-) diff --git a/dts/poetry.lock b/dts

[PATCH 2/3] dts: stop using partial in enums

2025-01-31 Thread Luca Vizzarro
partial. While DTS still supports 3.10 and enum.member is not available, make NicCapability accept only decorator tuples, where the decorator can now be set to None when not in use. Bugzilla ID: 1617 Signed-off-by: Luca Vizzarro --- dts/framework/remote_session/testpmd_shell.py | 145

[PATCH 1/3] dts: remove use of field validators

2025-01-31 Thread Luca Vizzarro
odel validators. Therefore eliminating autodoc's warnings, making it no longer needed to warn the user about the possible warnings. Signed-off-by: Luca Vizzarro --- doc/guides/conf.py | 9 ++--- dts/framework/config/__init__.py | 18 -

[PATCH 0/3] dts: fix doc issues

2025-01-31 Thread Luca Vizzarro
function. Finally, we were relying on an older version of our SSH client library fabric which backwards-compatibility was dropped in Python 3.12, raising further problems while building docs. Best, Luca Luca Vizzarro (3): dts: remove use of field validators dts: stop using partial in enums

Re: [PATCH] dts: add sudo to linux link up

2025-01-30 Thread Luca Vizzarro
Reviewed-by: Luca Vizzarro

Re: [PATCH] dts: add sudo to linux link up

2025-01-30 Thread Luca Vizzarro
Hi Patrick, thank you for the prompt fix! On 29/01/2025 22:08, Patrick Robb wrote: Fixes: 41d133d6c62f ("dts: automatically bring up link on interfaces") Cc: pr...@iol.unh.edu Signed-off-by: Patrick Robb --- dts/framework/testbed_model/linux_session.py | 2 +- 1 file changed, 1 insertion(+

[PATCH v4 2/7] dts: simplify build options config

2025-01-24 Thread Luca Vizzarro
From: Nicholas Pratte The build options configuration contained redundant fields that were not in use, and there is no future scope for their use. Bugzilla ID: 1360 Signed-off-by: Nicholas Pratte Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts

[PATCH v4 7/7] dts: run all test suites by default

2025-01-24 Thread Luca Vizzarro
uites if none are specified. Bugzilla ID: 1360 Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts/framework/config/test_run.py | 16 +++- dts/test_runs.example.yaml | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git

[PATCH v4 5/7] dts: handle CLI overrides in the configuration

2025-01-24 Thread Luca Vizzarro
1598 Signed-off-by: Nicholas Pratte Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts/framework/config/__init__.py | 65 ++-- dts/framework/runner.py | 18 ++--- 2 files changed, 64 insertions(+), 19 deletions(-)

[PATCH v4 6/7] dts: split configuration file

2025-01-24 Thread Luca Vizzarro
them. Bugzilla ID: 1344 Signed-off-by: Nicholas Pratte Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- doc/guides/tools/dts.rst | 78 ++- dts/.gitignore| 4 + dts/conf.yaml

[PATCH v4 4/7] dts: rework DPDK attributes in SUT node config

2025-01-24 Thread Luca Vizzarro
ves 'vdevs' from 'system_under_test_node' and moves it into 'test_runs'. Bugzilla ID: 1360 Signed-off-by: Nicholas Pratte Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts/conf.yaml

[PATCH v4 3/7] dts: infer use first core without config

2025-01-24 Thread Luca Vizzarro
From: Nicholas Pratte To further the simplification of the user configuration, use_first_core can be inferred from the lcores. If the user explicitly includes the core 0 in the lcores range, it will only then be used. Bugzilla ID: 1360 Signed-off-by: Nicholas Pratte Signed-off-by: Luca

[PATCH v4 1/7] dts: enable arch self-discovery

2025-01-24 Thread Luca Vizzarro
From: Nicholas Pratte The 'arch' attribute in the conf.yaml is unnecessary, as this can be readily discovered directly from any given node. Bugzilla ID: 1360 Signed-off-by: Nicholas Pratte Signed-off-by: Luca Vizzarro Reviewed-by: Paul Szczepanek Reviewed-by: Dean Marx --- dts

[PATCH v4 0/7] dts: refactor configuration

2025-01-24 Thread Luca Vizzarro
v4: - fixed bug where the CLI overrides where not being picked up when values were not set in the config and/or the defaults were available - added new comment in the configuration example file to indicate that all test suites are run if none are specified Luca Vizzarro (3): dts: handle

Re: [PATCH v1] dts: fix checksum suite docstring/variable format

2025-01-22 Thread Luca Vizzarro
Looks good, thanks. Just one nit. Reviewed-by: Luca Vizzarro On 16/01/2025 18:43, Dean Marx wrote: @@ -57,7 +57,7 @@ def send_packets_and_verify( packet_list: List of Scapy packets to send and verify. load: Raw layer load attribute in the sent packet

Re: [PATCH v6 2/2] dts: add flow create/delete to testpmd shell

2025-01-22 Thread Luca Vizzarro
Hi Dean, it looks mostly good, just some nits. On 21/01/2025 20:41, Dean Marx wrote: +def flow_create(self, flow_rule: FlowRule, port_id: int, verify: bool = True) -> int: +"""Creates a flow rule in the testpmd session. + +Args: +flow_rule: :class:`FlowRule` obje

  1   2   3   4   5   6   >