From: Jeremy Spewock
Currently in the DTS framework there is nothing that allows you to bind
ports on the SUT to different drivers, but the ability to do so is
necessary in the case of many different test suites. This change allows
developers to bind to either os_driver or os_driver_for_dpdk whic
From: Jeremy Spewock
Modifies the current process so that we bind to os_driver_for_dpdk from
the configuration file before running test suites and bind back to the
os_driver afterwards. This allows test suites to assume that the ports
are bound to a DPDK supported driver or bind to either driver
From: Jeremy Spewock
v2:
* addresses the comments from version 1, adjusting documentation
accordingly and condensing usage of the context manager.
Jeremy Spewock (2):
dts: add context manager for interactive shells
dts: improve starting and stopping interactive shells
dts/framework/rem
From: Jeremy Spewock
Interactive shells are managed in a way currently where they are closed
and cleaned up at the time of garbage collection. Due to there being no
guarantee of when this garbage collection happens in Python, there is no
way to consistently know when an application will be closed
From: Jeremy Spewock
The InteractiveShell class currently relies on being cleaned up and
shutdown at the time of garbage collection, but this cleanup of the class
does no verification that the session is still running prior to cleanup.
So, if a user were to call this method themselves prior to ga
From: Jeremy Spewock
This series ports over the implementation of the dual_vlan test suite in
old DTS and refactors it, dropping some duplicated functionality as well
as some features that are specific to certain NICs.
One thing to note about this series is that it is tested and fully
working on
From: Jeremy Spewock
The previous method would send the command `tx_vlan set ` when
the correct command is `tx_vlan reset `.
Fixes: a49d9da1e9a5 ("dts: add VLAN methods to testpmd shell")
Cc: dm...@iol.unh.edu
depends-on: patch-142103 ("dts: add VLAN methods to testpmd shell")
Signed-off-by: J
From: Jeremy Spewock
This patch ports over the functionality of the dual_vlan suite from old
DTS to the new framework. This test suite exists to test the
functionality of VLAN functions such as stripping, inserting, and
filerting in the presence of two VLAN headers.
There are some test cases whi
From: Jeremy Spewock
Adds the test suite name to the yaml schema to allow for it to be run.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dts/framework/config/conf_yaml_schema.json
b/dts/frame
From: Jeremy Spewock
v2:
* remove test cases that verify the ability to have 3 VLAN headers as
this is a less practical case than only having 2.
* add a test case that verifies a packet with only 1 VLAN header can
have another inserted into it.
* remove patch that fixes tx_vlan_reset met
From: Jeremy Spewock
This patch ports over the functionality of the dual_vlan suite from old
DTS to the new framework. This test suite exists to test the
functionality of VLAN functions such as stripping, inserting, and
filerting in the presence of two VLAN headers.
There are some test cases whi
From: Jeremy Spewock
Adds the test suite name to the yaml schema to allow for it to be run.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dts/framework/config/conf_yaml_schema.json
b/dts/frame
From: Jeremy Spewock
v5:
* rebased on main
* pulled tags forward from previous versions since there has been no
change to the series outside of rebases since then.
Jeremy Spewock (3):
dts: Improve output gathering in interactive shells
dts: Add missing docstring from XML-RPC server
d
From: Jeremy Spewock
The current implementation of consuming output from interactive shells
relies on being able to find an expected prompt somewhere within the
output buffer after sending the command. This is useful in situations
where the prompt does not appear in the output itself, but in some
From: Jeremy Spewock
When this XML-RPC server implementation was added, the docstring had to
be shortened in order to reduce the chances of this race condition being
encountered. Now that this race condition issue is resolved, the full
docstring can be restored.
Signed-off-by: Jeremy Spewock
Re
From: Jeremy Spewock
The messages being logged by interactive shells currently are using the
same logger as the node they were created from. Because of this, when
sending interactive commands, the logs make no distinction between when
you are sending a command directly to the host and when you ar
From: Jeremy Spewock
v3:
* rebase on rc3
Jeremy Spewock (4):
dts: add send_packets to test suites and rework packet addressing
dts: add port queue modification and forwarding stats to testpmd
dts: add dynamic queue test suite
dts: add dynamic queue conf to the yaml schema
dts/framewor
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
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
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
From: Jeremy Spewock
Adds the ability to run the test suite using the yaml configuration
file.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dts/framework/config/conf_yaml_schema.json
b/dts/fr
From: Jeremy Spewock
v3:
* rebase on rc3
Jeremy Spewock (2):
dts: add dual_vlan testing suite
dts: add dual_vlan test suite to the yaml schema
dts/framework/config/conf_yaml_schema.json | 3 +-
dts/tests/TestSuite_dual_vlan.py | 268 +
2 files changed, 270
From: Jeremy Spewock
This patch ports over the functionality of the dual_vlan suite from old
DTS to the new framework. This test suite exists to test the
functionality of VLAN functions such as stripping, inserting, and
filerting in the presence of two VLAN headers.
There are some test cases whi
From: Jeremy Spewock
Adds the test suite name to the yaml schema to allow for it to be run.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dts/framework/config/conf_yaml_schema.json
b/dts/frame
From: Jeremy Spewock
v6:
* Fix error catch for retries. This series changed the error that
is thrown in the case of a timeout, but it was originally overlooked
that the context manager patch added a catch that is looking for the
old timeout error. This version fixes the patch by adjusti
From: Jeremy Spewock
The current implementation of consuming output from interactive shells
relies on being able to find an expected prompt somewhere within the
output buffer after sending the command. This is useful in situations
where the prompt does not appear in the output itself, but in some
From: Jeremy Spewock
When this XML-RPC server implementation was added, the docstring had to
be shortened in order to reduce the chances of this race condition being
encountered. Now that this race condition issue is resolved, the full
docstring can be restored.
Signed-off-by: Jeremy Spewock
Re
From: Jeremy Spewock
The messages being logged by interactive shells currently are using the
same logger as the node they were created from. Because of this, when
sending interactive commands, the logs make no distinction between when
you are sending a command directly to the host and when you ar
From: Jeremy Spewock
This series adds a new text parser that is able to extract all verbose
messages from testpmd output into a more organized data structure.
Jeremy Spewock (1):
dts: add text parser for testpmd verbose output
dts/framework/parser.py | 30
dts/fra
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
From: Jeremy Spewock
v2:
* fix queue and port IDs types in the testpmd verbose output dataclass
using find_int().
Jeremy Spewock (1):
dts: add text parser for testpmd verbose output
dts/framework/parser.py | 30
dts/framework/remote_session/testpmd_shell.py |
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
From: Jeremy Spewock
This series ports over the functionality of the stats_checks test suite
from old DTS, but I left it as an RFC just because the verification is
different than other test suites that we have written. Mainly because
verifying the accuracy of the port statistics while accounting
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
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
From: Jeremy Spewock
Adding the test suite to the yaml schema allows for users to specify it
in their conf.yaml files and run the suite in their test runs.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
From: Jeremy Spewock
This series ports the functionality of the pf_msoke test sutie from old
DTS to the new framework. It is listed as an RFC mainly due to the fact
that is uses different verification steps than most other test suites
by utilizing checksums to differentiate packets sent by the fr
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
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
From: Jeremy Spewock
Add the PF smoke testing suite to the yaml schema so that it can be
specified in conf.yaml.
Signed-off-by: Jeremy Spewock
---
dts/framework/config/conf_yaml_schema.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dts/framework/config/conf_yaml_sch
From: Jeremy Spewock
I have not yet explored the idea of caching verbose output from all
commands rather than simply parsing whatever output is passed into the
method, but I wanted to get what I have currently out in the meantime.
v3:
* Add more OL flags to include everything listed in rte_mbuf
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
From: Jeremy Spewock
Currently in the DTS framework there are some commands used for
remounting hugepages that require super-user privileges but do not use
them, causing them to throw errors whenever they are run as a non-root
user. This patches fixes these problems by simply adding a flag that
e
From: Jeremy Spewock
There were two different commands in the hugepage mounting process that
were not using super-user privileges; one for unmounting hugepages and
another for re-mounting them. This patch adds the flag that enables
enhanced permissions for both of these actions.
Bugzilla ID: 143
From: Jeremy Spewock
Previously in DTS there was support for binding ports a node to
different drivers on a SUT, but there was no option on the TG. Since
there are likely to be some traffic generators in the future that would
require different drivers to operate properly, this support is somethin
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
From: Jeremy Spewock
This series ports over most of the test coverage provided from the
port_control testing suite in the Old DTS framework. The only
functionality that is missing is testing port functions in a VM through
QEMU and testing the support of resetting ports. Since we have no
method of
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
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
From: Jeremy Spewock
There currently is no method of creating or managing virtual functions
(VFs) in the new DTS framework but there are multiple test suites in
the old DTS framework that provide testing coverage using them. This
patch adds the functionality to the framework that is needed to cre
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
From: Jeremy Spewock
Previously in the DTS framework the helper methods in the TestSutie
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
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
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
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
Signed-off-by: Jeremy
From: Jeremy Spewock
v2:
* Accidentally left out a formatting fix in v1.
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 virtu
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
From: Jeremy Spewock
Previously in the DTS framework the helper methods in the TestSutie
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
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
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
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
Signed-off-by: Jeremy
From: Jeremy Spewock
v2:
* Accidentally left out a formatting fix in v1.
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 virtu
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
From: Jeremy Spewock
Previously in the DTS framework the helper methods in the TestSutie
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
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
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
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
Signed-off-by: Jeremy
From: Jeremy Spewock
rfc-v3:
* add missing depends-on tags to appropriate commits.
* adjust some other small issues in commit bodies
* add changes to fix name of function in os_udp
Jeremy Spewock (5):
dts: allow binding only a single port to a different driver
dts: parameterize what ports
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
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
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
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
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-14310
From: Jeremy Spewock
There are mechanisms to update the MTU of ports in the framework
already, but only when those ports are bound to their kernel drivers.
This series adds the functionality needed within testpmd to change the
MTU of ports on the SUT which are bound to their DPDK driver.
Jeremy
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
From: Jeremy Spewock
v2:
* allow for setting the MTU of all ports with testpmd.
* update doc-string
Jeremy Spewock (1):
dts: add methods for modifying MTU to testpmd shell
dts/framework/remote_session/testpmd_shell.py | 44 +++
1 file changed, 44 insertions(+)
--
2.46.0
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
From: Jeremy Spewock
v8:
* update test suite to use newly submitted capabilities series
* split the MTU update patch into its own series.
* now that the --max-pkt-len bug is fixed on mlx in 24.07, no longer
need to set MTU directly so this is also removed.
Jeremy Spewock (1):
dts: ad
From: Jeremy Spewock
Some NICs tested in DPDK allow for the scattering of packets without an
offload and others enforce that you enable the scattered_rx offload in
testpmd. The current version of the suite for testing support of
scattering packets only tests the case where the NIC supports testin
From: Jeremy Spewock
Testpmd offers methods to add and remove offloads from both ports and
queues on ports, but there are not yet method bindings in the Testpmd
API that the framework provides to reach them. This patch adds these
bindings for future test cases/suites that require certain
function
From: Jeremy Spewock
Testpmd offers methods for querying the runtime configuration of
offloads on a device that are useful for verification, but bindings to
reach these methods do not exist in the Testpmd API offered in the
framework. This patch creates methods that can query this configuration
a
From: Jeremy Spewock
The ability to query RX offloading capabilities of a device already
exist, but there are situations in other test suites where skipping a
test case/suite based on if a TX capability is missing is also
desirable. This patch expands the RX offloading capabilities class to
also
From: Jeremy Spewock
This series ports over the functionality of the Rx/Tx offloading test
suite from Old DTS. I marked this suite as an RFC since there are still
some errors that I need to fix from the formatting script, but I felt
that the commits were in a place where they could be viewed to
u
From: Jeremy Spewock
This patch adds a test sutie that ports over and expands upon
functionality provided in the RxTx test sutie in Old DTS. This test
suite provides convenience methods and decorators in an attempt to
reduce code duplication when developers are tasked with testing the
same offloa
From: Jeremy Spewock
Currently in the framework offloading capabilities are collected at a
device-level meaning that, if a capability is supported on either an
entire port or individual queues on that port, it is marked as supported
for the device. In some cases there is a want for being able to
From: Jeremy Spewock
v2:
* added fixes to allow for passing the formatting script
* removed some unused classes in TestPmdShell
There are a lot of dependencies for this series, I listed them below in
the order that I applied them.
depends-on: patch-142691 (“dts:add send_packets to test suites
From: Jeremy Spewock
The ability to query RX offloading capabilities of a device already
exist, but there are situations in other test suites where skipping a
test case/suite based on if a TX capability is missing is also
desirable. This patch expands the RX offloading capabilities class to
also
From: Jeremy Spewock
Currently in the framework offloading capabilities are collected at a
device-level meaning that, if a capability is supported on either an
entire port or individual queues on that port, it is marked as supported
for the device. In some cases there is a want for being able to
From: Jeremy Spewock
Testpmd offers methods for querying the runtime configuration of
offloads on a device that are useful for verification, but bindings to
reach these methods do not exist in the Testpmd API offered in the
framework. This patch creates methods that can query this configuration
a
From: Jeremy Spewock
Testpmd offers methods to add and remove offloads from both ports and
queues on ports, but there are not yet method bindings in the Testpmd
API that the framework provides to reach them. This patch adds these
bindings for future test cases/suites that require certain
function
From: Jeremy Spewock
This patch adds a test sutie that ports over and expands upon
functionality provided in the RxTx test sutie in Old DTS. This test
suite provides convenience methods and decorators in an attempt to
reduce code duplication when developers are tasked with testing the
same offloa
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
From: Jeremy Spewock
This patch was originally part of the dynamic queue test suite series,
but since other patches require it this series creates an independent
patch to allow it to be prioritized.
This patch is slightly different than the one in dynamic queue as this
version supports address u
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
From: Jeremy Spewock
This update to the RFC adds a few more things such as physical devices
and virtual devices to the config, driver checks in the smoke tests, and
interactive shell
handling.
Interactive shells are handled by creating two SSH connections upon
connecting to the SUT, one which i
From: Jeremy Spewock
Adds a new test suite for running smoke tests that verify general
configuration aspects of the system under test. If any of these tests
fail, the DTS execution terminates as part of a "fail-fast" model.
Signed-off-by: Jeremy Spewock
---
dts/conf.yaml
From: Jeremy Spewock
added paramiko to the dependency files
Signed-off-by: Jeremy Spewock
---
dts/poetry.lock| 160 ++---
dts/pyproject.toml | 1 +
2 files changed, 124 insertions(+), 37 deletions(-)
diff --git a/dts/poetry.lock b/dts/poetry.lock
From: Jeremy Spewock
This update to the RFC addresses comments recieved on the previous about
formatting and implementation. Things that are new to this patch series are:
* New class similar to the RemoteSession that handles interactive remote
sessions
* A keepalive for the interactive SSH sessi
From: Jeremy Spewock
Adds a new test suite for running smoke tests that verify general
configuration aspects of the system under test. If any of these tests
fail, the DTS execution terminates for that build target as part of a
"fail-fast" model.
Signed-off-by: Jeremy Spewock
---
dts/conf.yaml
From: Jeremy Spewock
added paramiko to the dependency files
Signed-off-by: Jeremy Spewock
---
dts/poetry.lock| 160 ++---
dts/pyproject.toml | 1 +
2 files changed, 124 insertions(+), 37 deletions(-)
diff --git a/dts/poetry.lock b/dts/poetry.lock
1 - 100 of 366 matches
Mail list logo