[PATCH v2 0/2] dts: pf_smoke port

2024-09-06 Thread jspewock
From: Jeremy Spewock v2: * update dependencies and how the test suite uses them * use a unique src MAC on packets to find them in verbose output rather than checksums since using checksums isn't supported on all NICs * formatting fixes and doc-string updates Jeremy Spewock (2): dts: a

[PATCH v2 1/2] dts: add ability to modify number of queues on a port to testpmd

2024-09-06 Thread jspewock
From: Jeremy Spewock The ability to change the configuration of a port at runtime is a crucial aspect of DPDK. This patch adds both the steps required to modify the number of queues on a port at runtime and also the verification steps to ensure that the command behaved as expected. Depends-on: p

[PATCH v2 2/2] dts: add pf smoke testing suite

2024-09-06 Thread jspewock
From: Jeremy Spewock This patch adds a smoke testing suite for Physical Function features. The goal of this suite is to test some of the most basic features of DPDK on a physical function and bail out early if any of these features aren't supported as expected. Unlike DTS smoke tests, these ones

[PATCH v1 0/3] dts: port vf_smoke to new DTS

2024-09-06 Thread jspewock
From: Jeremy Spewock The VF smoke testing suite in the old DTS framework had the same test cases as the PF smoke testing suite and, therefore, it makes sense to have the two test suites use the same testing functions. In this series the easiest way to do this was to simply parameterize what ports

[PATCH v1 1/3] dts: allow specifying ingress port in send_packets

2024-09-06 Thread jspewock
From: Jeremy Spewock In order to use VFs in the framework, methods for sending packets had to be modified so that they support choosing which ports to use when sending and receiving. This patch creates the same support for the send_packets method so that it can be used with VFs. Signed-off-by: J

[PATCH v1 2/3] dts: parameterize ports used in pf_smoke suite

2024-09-06 Thread jspewock
From: Jeremy Spewock Currently the pf_smoke testing suite only uses the default ports for sending and receiving packets. When looking at that suite in isolation, this is fine since its primary goal is to test the physical functions in the test run (which the defaults should represent). However, s

[PATCH v1 3/3] dts: add vf_smoke tests suite

2024-09-06 Thread jspewock
From: Jeremy Spewock VFs should be tested against the same criteria as PFs, therefore the smoke testing suite for VFs inherits the same test cases and testing coverage from the PF smoke testing suite. The primary difference between the two suites is that VF smoke initially creates virtual functio

[PATCH v4 1/1] dts: add methods for modifying MTU to testpmd shell

2024-09-06 Thread jspewock
From: Jeremy Spewock There are methods within DTS currently that support updating the MTU of ports on a node, but the methods for doing this in a linux session rely on the ip command and the port being bound to the kernel driver. Since test suites are run while bound to the driver for DPDK, there

[PATCH v4 0/1] dts: allow for updating MTU with testpmd

2024-09-06 Thread jspewock
From: Jeremy Spewock v4: * add dependency on port caching patch to avoid the need for the if-statement that was added in the last version. Jeremy Spewock (1): dts: add methods for modifying MTU to testpmd shell dts/framework/remote_session/testpmd_shell.py | 44 +++ 1 fil

[PATCH v1] dts: fix runner target in the Dockerfile

2024-09-11 Thread jspewock
From: Jeremy Spewock Currently the runner target in the Dockerfile attempts to run the `poetry install` command when building the image, but this fails due to poetry not being found in the container. Poetry is installed in a previous step with pipx, but doing so adds the binary to use poetry to ~

[PATCH v2] dts: fix runner target in the Dockerfile

2024-09-16 Thread jspewock
From: Jeremy Spewock Currently the runner target in the Dockerfile attempts to run the `poetry install` command when building the image, but this fails due to poetry not being found in the container. Poetry is installed in a previous step with pipx, but doing so adds the binary to use poetry to ~

[PATCH v3 2/2] dts: add port stats checks test suite

2024-09-23 Thread jspewock
From: Jeremy Spewock This patch adds a new test suite to DTS that validates the accuracy of the port statistics using testpmd. The functionality is tested by sending a packet of a fixed side to the SUT and verifying that the statistic for packets received, received bytes, packets sent, and sent b

[PATCH v3 1/2] dts: add clearing port stats to testpmd shell

2024-09-23 Thread jspewock
From: Jeremy Spewock Methods currently exist for querying the statistics of a port in testpmd, but there weren't methods added for clearing the current statistics on a port. This patch adds methods that allow you to clear the statistics of a single port or all ports to account for situations wher

[PATCH v3 0/2] dts: port over stats checks

2024-09-23 Thread jspewock
From: Jeremy Spewock v3: * fix name of the first patch Jeremy Spewock (2): dts: add clearing port stats to testpmd shell dts: add port stats checks test suite dts/framework/config/conf_yaml_schema.json| 3 +- dts/framework/remote_session/testpmd_shell.py | 49 +- dts/tests/Tes

[PATCH v2 2/2] dts: add port control testing suite

2024-09-23 Thread jspewock
From: Jeremy Spewock This patch ports over the port_control test suite from the Old DTS framework and adapts the functionality to fit with the current testing framework. The test suite provides validation of basic port control functions such as starting, stopping, and closing ports. It should be

[PATCH v2 0/2] dts: port over port_control testing suite

2024-09-23 Thread jspewock
From: Jeremy Spewock v2: * apply to next-dts Jeremy Spewock (2): dts: add method for closing ports to testpmd dts: add port control testing suite dts/framework/config/conf_yaml_schema.json| 3 +- dts/framework/remote_session/testpmd_shell.py | 18 + dts/tests/TestSuite_port_contr

[PATCH v2 1/2] dts: add method for closing ports to testpmd

2024-09-23 Thread jspewock
From: Jeremy Spewock Closing ports is a standard configuration feature that is available in testpmd but the framework lacks the ability to access this command through the Testpmd API. This patch adds a method that performs this action and verifies the results of sending the command to allow devel

[PATCH v2 2/2] dts: add port stats checks test suite

2024-09-23 Thread jspewock
From: Jeremy Spewock This patch adds a new test suite to DTS that validates the accuracy of the port statistics using testpmd. The functionality is tested by sending a packet of a fixed side to the SUT and verifying that the statistic for packets received, received bytes, packets sent, and sent b

[PATCH v2 1/2] dts: add clearing port stats and verbose mode to testpmd

2024-09-23 Thread jspewock
From: Jeremy Spewock Methods currently exist for querying the statistics of a port in testpmd, but there weren't methods added for clearing the current statistics on a port. This patch adds methods that allow you to clear the statistics of a single port or all ports to account for situations wher

[PATCH v2 0/2] dts: port over stats checks

2024-09-23 Thread jspewock
From: Jeremy Spewock v2: * apply on next-dts * add raw testpmd output to show_port_stats_all to make test method consistent * add dependency on VLAN suite for set_verbose method Jeremy Spewock (2): dts: add clearing port stats and verbose mode to testpmd dts: add port stats checks test

[PATCH v4 2/5] dts: parameterize what ports the TG sends packets to

2024-09-23 Thread jspewock
From: Jeremy Spewock Previously in the DTS framework the helper methods in the TestSuite class designated ports as either ingress or egress ports and would wrap the methods of the traffic generator to allow packets to only flow to those designated ingress or egress ports. This is undesirable in s

[PATCH v4 1/5] dts: allow binding only a single port to a different driver

2024-09-23 Thread jspewock
From: Jeremy Spewock Previously the DTS framework only included methods that bind all ports that the test run was aware of to either the DPDK driver or the OS driver. There are however some cases, like creating virtual functions, where you would want some ports bound to the OS driver and others b

[PATCH v4 0/5] dts: add VFs to the framework

2024-09-23 Thread jspewock
From: Jeremy Spewock v4: * apply to next-dts Jeremy Spewock (5): dts: allow binding only a single port to a different driver dts: parameterize what ports the TG sends packets to dts: add class for virtual functions dts: add OS abstractions for creating virtual functions dts: add funct

[PATCH v4 3/5] dts: add class for virtual functions

2024-09-23 Thread jspewock
From: Jeremy Spewock In DPDK applications virtual functions are treated the same as ports, but within the framework there are benefits to differentiating the two in order to add more metadata to VFs about where they originate from. For this reason this patch adds a new class for handling virtual

[PATCH v4 5/5] dts: add functions for managing VFs to Node

2024-09-23 Thread jspewock
From: Jeremy Spewock In order for test suites to create virtual functions there has to be functions in the API that developers can use. This patch adds the ability to create virtual functions to the Node API so that they are reachable within test suites. Bugzilla ID: 1500 Depends-on: patch-14431

[PATCH v4 4/5] dts: add OS abstractions for creating virtual functions

2024-09-23 Thread jspewock
From: Jeremy Spewock Virtual functions in the framework are created using SR-IOV. The process for doing this can vary depending on the operating system, so the commands to create VFs have to be abstracted into different classes based on the operating system. This patch adds the stubs for methods

[PATCH v3 2/2] dts: add binding to different drivers to TG node

2024-09-24 Thread jspewock
From: Jeremy Spewock The DTS framework in its current state supports binding ports to different drivers on the SUT node but not the TG node. The TG node already has the information that it needs about the different drivers that it has available in the configuration file, but it did not previously

[PATCH v3 0/2] dts: add driver binding on TG

2024-09-24 Thread jspewock
From: Jeremy Spewock v3: * removed _remote from _remote_tmp_dir in node * switched to using Path where appropriate * added symlink to dpdk-devbind to dts/ and excluded from the the formatting script Jeremy Spewock (2): dts: add synbolic link to dpdk-devbind script dts: add binding to d

[PATCH v3 1/2] dts: add symbolic link to dpdk-devbind script

2024-09-24 Thread jspewock
From: Jeremy Spewock The devbind script is used throughout DTS to manage drivers on the remote hosts. Currently, the only way to copy this script onto a host is to either copy the entire DPDK directory onto a host, or reach out of the dts directory into its parent DPDK directory to access the scr

[PATCH v7 0/1] dts: testpmd verbose parser

2024-09-26 Thread jspewock
From: Jeremy Spewock v7: * update from string methods in both PacketOffloadFlag and RtePType to match the ones in the rss offload flag * update the doc-string in RtePType to have proper references to the DPDK libraries where the information is taken from. Jeremy Spewock (1): dts: add t

[PATCH v7 1/1] dts: add text parser for testpmd verbose output

2024-09-26 Thread jspewock
From: Jeremy Spewock Multiple test suites from the old DTS framework rely on being able to consume and interpret the verbose output of testpmd. The new framework doesn't have an elegant way for handling the verbose output, but test suites are starting to be written that rely on it. This patch cre

[PATCH v5 0/1] dts: replace XML-RPC server

2024-09-26 Thread jspewock
From: Jeremy Spewock v5: * renamed commit subject to match contribution guidelines * reformatted doc-strings to add more context and clarity * removed unnecessary hyphens Jeremy Spewock (1): dts: use PythonShell for Scapy instead of XML-RPC .../single_active_interactive_shell.py|

[PATCH v4 1/1] dts: rework packet addressing

2024-09-26 Thread jspewock
From: Jeremy Spewock This patch updates the _adjust_addresses method of test suites so that addresses of packets are only modified if the developer did not configure them beforehand. This allows for developers to have more control over the content of their packets when sending them through the fr

[PATCH v4 0/1] dts: adjust packet addressing

2024-09-26 Thread jspewock
From: Jeremy Spewock v4: * changed _adjust_addresses so that it doesn't use unneeded variables * modify doc-strings Jeremy Spewock (1): dts: rework packet addressing dts/framework/test_suite.py | 71 + 1 file changed, 48 insertions(+), 23 deletions(-) -

[PATCH v5 1/2] dts: rework packet addressing

2024-09-26 Thread jspewock
From: Jeremy Spewock This patch updates the _adjust_addresses method of test suites so that addresses of packets are only modified if the developer did not configure them beforehand. This allows for developers to have more control over the content of their packets when sending them through the fr

[PATCH v5 1/1] dts: use PythonShell for Scapy instead of XML-RPC

2024-09-26 Thread jspewock
From: Jeremy Spewock Previously all scapy commands were handled using an XML-RPC server that ran on the TGNode. This unnecessarily enforces a minimum Python version of 3.10 on the server that is being used as a traffic generator and complicates the implementation of scapy methods. This patch remo

[PATCH v5 0/2] dts: adjust packet addressing and add send_packets to test_suite

2024-09-26 Thread jspewock
From: Jeremy Spewock v5: * add send_packets patch back into this series but as its own patch Jeremy Spewock (2): dts: rework packet addressing dts: add send_packets to test_suite dts/framework/test_suite.py| 83 +++--- dts/framework/testbed_model/tg_node.py

[PATCH v5 2/2] dts: add send_packets to test_suite

2024-09-26 Thread jspewock
From: Jeremy Spewock Currently the only methods provided in the test suite class for sending packets capture the resulting received traffic after sending. There is, in some cases, a need to send multiple packets at once while not really needing to capture any of said received traffic. It is favor

[PATCH v3 2/2] dts: add pf smoke testing suite

2024-09-26 Thread jspewock
From: Jeremy Spewock This patch adds a smoke testing suite for Physical Function features. The goal of this suite is to test some of the most basic features of DPDK on a physical function and bail out early if any of these features aren't supported as expected. Unlike DTS smoke tests, these ones

[PATCH v3 1/2] dts: add ability to modify number of queues on a port to testpmd

2024-09-26 Thread jspewock
From: Jeremy Spewock The ability to change the configuration of a port at runtime is a crucial aspect of DPDK. This patch adds both the steps required to modify the number of queues on a port at runtime and also the verification steps to ensure that the command behaved as expected. Signed-off-by

[PATCH v3 0/2] dts: pf_smoke port

2024-09-26 Thread jspewock
From: Jeremy Spewock v3: * rebase on next-dts * update dependencies Jeremy Spewock (2): dts: add ability to modify number of queues on a port to testpmd dts: add pf smoke testing suite dts/framework/config/conf_yaml_schema.json| 3 +- dts/framework/remote_session/testpmd_shell.py |

[PATCH v2 3/3] dts: add vf_smoke tests suite

2024-09-26 Thread jspewock
From: Jeremy Spewock VFs should be tested against the same criteria as PFs, therefore the smoke testing suite for VFs inherits the same test cases and testing coverage from the PF smoke testing suite. The primary difference between the two suites is that VF smoke initially creates virtual functio

[PATCH v2 2/3] dts: parameterize ports used in pf_smoke suite

2024-09-26 Thread jspewock
From: Jeremy Spewock Currently the pf_smoke testing suite only uses the default ports for sending and receiving packets. When looking at that suite in isolation, this is fine since its primary goal is to test the physical functions in the test run (which the defaults should represent). However, s

[PATCH v2 1/3] dts: allow specifying ingress port in send_packets

2024-09-26 Thread jspewock
From: Jeremy Spewock In order to use VFs in the framework, methods for sending packets had to be modified so that they support choosing which ports to use when sending and receiving. This patch creates the same support for the send_packets method so that it can be used with VFs. Signed-off-by: J

[PATCH v2 0/3] dts: port vf_smoke to new DTS

2024-09-26 Thread jspewock
From: Jeremy Spewock v2: * rebase on next-dts * update dependencies Depends-on: series-33149 ("dts: pf_smoke port") Depends-on: series-33109 ("dts: add VFs to the framework") Jeremy Spewock (3): dts: allow specifying ingress port in send_packets dts: parameterize ports used in pf_smoke su

[PATCH v3 1/1] dts: Remove XML-RPC server for Scapy TG and instead use PythonShell

2024-09-19 Thread jspewock
From: Jeremy Spewock Previously all scapy commands were handled using an XML-RPC server that ran on the TGNode. This unnecessarily enforces a minimum Python version of 3.10 on the server that is being used as a traffic generator and complicates the implementation of scapy methods. This patch remo

[PATCH v3 0/1] dts: replace XML-RPC server

2024-09-19 Thread jspewock
From: Jeremy Spewock v3: * rebase on next-dts branch Jeremy Spewock (1): dts: Remove XML-RPC server for Scapy TG and instead use PythonShell .../single_active_interactive_shell.py| 7 +- .../traffic_generator/__init__.py | 2 +- .../testbed_model/traffic_generator/s

[PATCH v5 1/1] dts: add text parser for testpmd verbose output

2024-09-18 Thread jspewock
From: Jeremy Spewock Multiple test suites from the old DTS framework rely on being able to consume and interpret the verbose output of testpmd. The new framework doesn't have an elegant way for handling the verbose output, but test suites are starting to be written that rely on it. This patch cre

[PATCH v5 0/1] dts: testpmd verbose parser

2024-09-18 Thread jspewock
From: Jeremy Spewock v5: * fix typo Jeremy Spewock (1): dts: add text parser for testpmd verbose output dts/framework/remote_session/testpmd_shell.py | 525 +- dts/framework/utils.py| 6 + 2 files changed, 529 insertions(+), 2 deletions(-) -- 2.46

[PATCH v2 0/1] dts: adjust packet addressing and sending

2024-09-20 Thread jspewock
From: Jeremy Spewock v2: * rebase on next-dts Jeremy Spewock (1): dts: add send_packets to test suites and rework packet addressing dts/framework/test_suite.py| 87 +++--- dts/framework/testbed_model/tg_node.py | 9 +++ 2 files changed, 75 insertions(+), 21

[PATCH v2 1/1] dts: add send_packets to test suites and rework packet addressing

2024-09-20 Thread jspewock
From: Jeremy Spewock Currently the only method provided in the test suite class for sending packets sends a single packet and then captures the results. There is, in some cases, a need to send multiple packets at once while not really needing to capture any traffic received back. The method to do

[PATCH v4 1/1] dts: add text parser for testpmd verbose output

2024-09-18 Thread jspewock
From: Jeremy Spewock Multiple test suites from the old DTS framework rely on being able to consume and interpret the verbose output of testpmd. The new framework doesn't have an elegant way for handling the verbose output, but test suites are starting to be written that rely on it. This patch cre

[PATCH v4 0/1] dts: testpmd verbose parser

2024-09-18 Thread jspewock
From: Jeremy Spewock v4: * adjust name of OLFlags class to be PacketOffloadFlags * change values in PacketOffloadFlags to match the ones in rte_mbuf_core.h * added documentation from rte_mbuf_core.h to flag values * added documentation from rte_mbuf_ptype.h to the RtePTypes class

[PATCH v3] dts: fix runner target in the Dockerfile

2024-09-19 Thread jspewock
From: Jeremy Spewock Currently the runner target in the Dockerfile attempts to run the `poetry install` command when building the image, but this fails due to poetry not being found in the container. Poetry is installed in a previous step with pipx, but doing so adds the binary to use poetry to ~

[PATCH v2 1/1] dts: add binding to different drivers to TG node

2024-09-19 Thread jspewock
From: Jeremy Spewock The DTS framework in its current state supports binding ports to different drivers on the SUT node but not the TG node. The TG node already has the information that it needs about the different drivers that it has available in the configuration file, but it did not previously

[PATCH v2 0/1] dts: add driver binding on TG

2024-09-19 Thread jspewock
From: Jeremy Spewock v2: * only copy the devbind script onto the TG node rather than the entire DPDK directory Jeremy Spewock (1): dts: add binding to different drivers to TG node dts/framework/runner.py | 2 + dts/framework/testbed_model/node.py | 49 +

[PATCH v4 0/1] dts: replace XML-RPC server

2024-09-25 Thread jspewock
From: Jeremy Spewock v4: * update naming scheme of methods in the scapy traffic generator and reorganized them * update doc-strings to add consistency and fix typos * add supoer().__init__() call to single_active_interactive_shell so that it and the traffic generator can be given in any

[PATCH v4 1/1] dts: Remove XML-RPC server for Scapy TG and instead use PythonShell

2024-09-25 Thread jspewock
From: Jeremy Spewock Previously all scapy commands were handled using an XML-RPC server that ran on the TGNode. This unnecessarily enforces a minimum Python version of 3.10 on the server that is being used as a traffic generator and complicates the implementation of scapy methods. This patch remo

[PATCH v6 0/1] dts: testpmd verbose parser

2024-09-25 Thread jspewock
From: Jeremy Spewock v6: * apply on next-dts * update PacketOffloadFlag values which were equal to combinations of other values to make them unique * remove support of EUI-64 MAC addresses for now * update RtePtype and PacketOffloadFlag so that their parser methods don't bother themselv

[PATCH v6 1/1] dts: add text parser for testpmd verbose output

2024-09-25 Thread jspewock
From: Jeremy Spewock Multiple test suites from the old DTS framework rely on being able to consume and interpret the verbose output of testpmd. The new framework doesn't have an elegant way for handling the verbose output, but test suites are starting to be written that rely on it. This patch cre

[PATCH v3 0/1] dts: adjust packet addressing

2024-09-25 Thread jspewock
From: Jeremy Spewock v3: * split send_packets into a different patch * updated code comments * moved variable delcaration Jeremy Spewock (1): dts: rework packet addressing dts/framework/test_suite.py | 75 ++--- 1 file changed, 54 insertions(+), 21 deletion

[PATCH v3 1/1] dts: rework packet addressing

2024-09-25 Thread jspewock
From: Jeremy Spewock This patch updates the _adjust_addresses method of test suites so that addresses of packets are only modified if the developer did not configure them beforehand. This allows for developers to have more control over the content of their packets when sending them through the fr

[PATCH v1] dts: add send_packets to test_suite

2024-09-25 Thread jspewock
From: Jeremy Spewock Currently the only methods provided in the test suite class for sending packets capture the resulting received traffic after sending. There is, in some cases, a need to send multiple packets at once while not really needing to capture any of said received traffic. It is favor

[PATCH v5 2/2] dts: add dynamic queue test suite

2024-09-25 Thread jspewock
From: Jeremy Spewock This patch adds a new test suite that is designed to test the stopping and modification of port queues at runtime. Specifically, there are test cases that display the ports ability to stop some queues but still send and receive traffic on others, as well as the ability to con

[PATCH v5 0/2] dts: add dynamic queue configuration test suite

2024-09-25 Thread jspewock
From: Jeremy Spewock v5: * applied on next-dts Jeremy Spewock (2): dts: add port queue modification and forwarding stats to testpmd dts: add dynamic queue test suite dts/framework/config/conf_yaml_schema.json| 3 +- dts/framework/remote_session/testpmd_shell.py | 233 +-

[PATCH v5 1/2] dts: add port queue modification and forwarding stats to testpmd

2024-09-25 Thread jspewock
From: Jeremy Spewock This patch adds methods for querying and modifying port queue state and configuration. In addition to this, it also adds the ability to capture the forwarding statistics that get outputted when you send the "stop" command in testpmd. Querying of port queue information is hand

<    1   2   3   4