This looked good to me, just a couple of minor comments (about docstrings and their format) and one question that I left. Once this is rebased on the newer version of my patch it should be good. On Mon, Jul 17, 2023 at 7:07 AM Juraj Linkeš wrote: > Add abstractions for traffic generator split into those that can and > can't capture traffic. > > The Scapy implementation uses an XML-RPC server for remote control. This > requires an interactive session to add Scapy funcions to the server. The > interactive session code is based on another patch [0]. > > The basic test case is there to showcase the Scapy implementation - it > sends just one UDP packet and verifies it on the other end. > > [0]: > http://patches.dpdk.org/project/dpdk/patch/20230713165347.21997-3-jspewock@iol.unh.edu/ > > Juraj Linkeš (6): > dts: add scapy dependency > dts: add traffic generator config > dts: traffic generator abstractions > dts: add python remote interactive shell > dts: scapy traffic generator implementation > dts: add basic UDP test case > > doc/guides/tools/dts.rst | 31 ++ > dts/conf.yaml | 27 +- > dts/framework/config/__init__.py | 115 ++++--- > dts/framework/config/conf_yaml_schema.json | 32 +- > dts/framework/dts.py | 65 ++-- > dts/framework/remote_session/__init__.py | 3 +- > dts/framework/remote_session/linux_session.py | 96 ++++++ > dts/framework/remote_session/os_session.py | 75 +++-- > .../remote_session/remote/__init__.py | 1 + > .../remote/interactive_shell.py | 18 +- > .../remote_session/remote/python_shell.py | 24 ++ > .../remote_session/remote/testpmd_shell.py | 33 +- > dts/framework/test_suite.py | 221 ++++++++++++- > dts/framework/testbed_model/__init__.py | 1 + > .../capturing_traffic_generator.py | 135 ++++++++ > dts/framework/testbed_model/hw/port.py | 60 ++++ > dts/framework/testbed_model/node.py | 64 +++- > dts/framework/testbed_model/scapy.py | 290 ++++++++++++++++++ > dts/framework/testbed_model/sut_node.py | 52 ++-- > dts/framework/testbed_model/tg_node.py | 99 ++++++ > .../testbed_model/traffic_generator.py | 72 +++++ > dts/framework/utils.py | 13 + > dts/poetry.lock | 21 +- > dts/pyproject.toml | 1 + > dts/tests/TestSuite_os_udp.py | 45 +++ > dts/tests/TestSuite_smoke_tests.py | 6 +- > 26 files changed, 1434 insertions(+), 166 deletions(-) > create mode 100644 dts/framework/remote_session/remote/python_shell.py > create mode 100644 > dts/framework/testbed_model/capturing_traffic_generator.py > create mode 100644 dts/framework/testbed_model/hw/port.py > create mode 100644 dts/framework/testbed_model/scapy.py > create mode 100644 dts/framework/testbed_model/tg_node.py > create mode 100644 dts/framework/testbed_model/traffic_generator.py > create mode 100644 dts/tests/TestSuite_os_udp.py > > -- > 2.34.1 > >