From: Patrick Robb <probb@iol.unh.edu>
To: Luca.Vizzarro@arm.com
Cc: dev@dpdk.org, Paul.Szczepanek@arm.com, dmarx@iol.unh.edu,
abailey@iol.unh.edu, Patrick Robb <probb@iol.unh.edu>
Subject: [PATCH v4 0/3] Add TREX Traffic Generator to DTS Framework
Date: Wed, 1 Oct 2025 19:16:56 -0400 [thread overview]
Message-ID: <20251001231659.2297751-1-probb@iol.unh.edu> (raw)
In-Reply-To: <20250423194011.1447679-1-npratte@iol.unh.edu>
This series adds support for performance traffic generators, and
includes an implementation for using the TREX traffic generator for
performance testing. It also includes a new testsuite which measures the
single core forwarding performance of a SUT in millions of packets per
second.
There are some points in this series which may warrant further
discussion. Namely:
- We want to run only the functional traffic generator OR the
performance traffic generator at a given time. So, this series makes
DTS tear down and bring up traffic generators as needed, depending on
whether a testcase is of type functional or performance. I think this is
a good approach in general, but in order to facilitate this I have
removed the shell pool cleanup at testcase teardown and testsuite
teardown. Now, it only cleans up at testrun teardown. I think it is
possible to add these shell pool cleanups back in and keep the existing
solution, but I would like to discuss it at the next CI or DTS meeting.
- Currently, the testsuite prints out a stats table to the console when
the single core forwarding testsuite is complete. It may make sense to
start writing these stats to an output file as well.
If you would like to test this series, please also note that you will
have to move your YAML configs to the new configurations directory.
Nicholas Pratte (3):
dts: rework traffic generator inheritance structure
dts: add trex traffic generator to dts framework
dts: add performance test functions to test suite API
...sts.TestSuite_single_core_forward_perf.rst | 8 +
doc/guides/tools/dts.rst | 35 ++-
dts/{ => configurations}/nodes.example.yaml | 0
.../test_run.example.yaml | 6 +-
dts/configurations/tests_config.example.yaml | 17 ++
dts/framework/config/test_run.py | 22 +-
dts/framework/context.py | 5 +-
dts/framework/remote_session/blocking_app.py | 4 +-
.../remote_session/interactive_shell.py | 2 +-
dts/framework/settings.py | 12 +-
dts/framework/test_run.py | 54 +++-
dts/framework/test_suite.py | 32 ++-
.../traffic_generator/__init__.py | 13 +-
.../capturing_traffic_generator.py | 34 +++
.../performance_traffic_generator.py | 64 +++++
.../testbed_model/traffic_generator/scapy.py | 1 +
.../traffic_generator/traffic_generator.py | 44 +--
.../testbed_model/traffic_generator/trex.py | 258 ++++++++++++++++++
.../TestSuite_single_core_forward_perf.py | 139 ++++++++++
dts/tests_config.example.yaml | 5 -
20 files changed, 690 insertions(+), 65 deletions(-)
create mode 100644 doc/api/dts/tests.TestSuite_single_core_forward_perf.rst
rename dts/{ => configurations}/nodes.example.yaml (100%)
rename dts/{ => configurations}/test_run.example.yaml (88%)
create mode 100644 dts/configurations/tests_config.example.yaml
create mode 100644 dts/framework/testbed_model/traffic_generator/performance_traffic_generator.py
create mode 100644 dts/framework/testbed_model/traffic_generator/trex.py
create mode 100644 dts/tests/TestSuite_single_core_forward_perf.py
delete mode 100644 dts/tests_config.example.yaml
--
2.49.0
next prev parent reply other threads:[~2025-10-01 23:17 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-23 19:40 [RFC Patch v1 0/5] " Nicholas Pratte
2025-04-23 19:40 ` [RFC Patch v1 1/5] dts: rework config module to support perf TGs Nicholas Pratte
2025-04-23 19:40 ` [RFC Patch v1 2/5] dts: rework traffic generator inheritance structure Nicholas Pratte
2025-05-15 19:24 ` Patrick Robb
2025-05-16 19:12 ` Nicholas Pratte
2025-04-23 19:40 ` [RFC Patch v1 3/5] dts: add asychronous support to ssh sessions Nicholas Pratte
2025-05-15 19:24 ` Patrick Robb
2025-04-23 19:40 ` [RFC Patch v1 4/5] dts: add trex traffic generator to dts framework Nicholas Pratte
2025-05-15 19:25 ` Patrick Robb
2025-05-16 19:45 ` Nicholas Pratte
2025-04-23 19:40 ` [RFC Patch v1 5/5] dts: add performance test functions to test suite api Nicholas Pratte
2025-05-15 19:25 ` Patrick Robb
2025-05-16 20:18 ` [RFC v2 0/6] Add TREX Traffic Generator to DTS Framework Nicholas Pratte
2025-05-16 20:18 ` [RFC v2 1/6] dts: rework config module to support perf TGs Nicholas Pratte
2025-05-20 20:33 ` Dean Marx
2025-05-16 20:18 ` [RFC v2 2/6] dts: rework traffic generator inheritance structure Nicholas Pratte
2025-05-21 20:36 ` Dean Marx
2025-05-16 20:18 ` [RFC v2 3/6] dts: add asynchronous support to ssh sessions Nicholas Pratte
2025-05-22 15:04 ` Dean Marx
2025-05-16 20:18 ` [RFC v2 4/6] dts: add extended timeout option to interactive shells Nicholas Pratte
2025-05-22 15:10 ` Dean Marx
2025-05-16 20:18 ` [RFC v2 5/6] dts: add trex traffic generator to dts framework Nicholas Pratte
2025-05-22 16:55 ` Dean Marx
2025-05-16 20:18 ` [RFC v2 6/6] dts: add performance test functions to test suite api Nicholas Pratte
2025-05-22 17:54 ` Dean Marx
2025-07-02 5:21 ` [PATCH v3 1/5] dts: rework config module to support perf TGs Patrick Robb
2025-07-02 5:21 ` [PATCH v3 2/5] dts: rework traffic generator inheritance structure Patrick Robb
2025-07-02 15:31 ` Luca Vizzarro
2025-07-02 5:21 ` [PATCH v3 3/5] dts: add timeout override option to interactive shells Patrick Robb
2025-07-02 15:33 ` Luca Vizzarro
2025-07-02 5:21 ` [PATCH v3 4/5] dts: add trex traffic generator to dts framework Patrick Robb
2025-07-02 16:32 ` Luca Vizzarro
2025-07-02 5:21 ` [PATCH v3 5/5] dts: add performance test functions to test suite API Patrick Robb
2025-07-02 16:37 ` Luca Vizzarro
2025-07-02 15:09 ` [PATCH v3 1/5] dts: rework config module to support perf TGs Luca Vizzarro
2025-10-01 23:16 ` Patrick Robb [this message]
2025-10-01 23:16 ` [PATCH v4 1/3] dts: rework traffic generator inheritance structure Patrick Robb
2025-10-01 23:16 ` [PATCH v4 2/3] dts: add trex traffic generator to dts framework Patrick Robb
2025-10-01 23:16 ` [PATCH v4 3/3] dts: add performance test functions to test suite API Patrick Robb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251001231659.2297751-1-probb@iol.unh.edu \
--to=probb@iol.unh.edu \
--cc=Luca.Vizzarro@arm.com \
--cc=Paul.Szczepanek@arm.com \
--cc=abailey@iol.unh.edu \
--cc=dev@dpdk.org \
--cc=dmarx@iol.unh.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).