Currently the TRex Test has a hardcoded set of streams.
In order to make it more generic and extendable, this RFC first refactors
the client and server code into a library that does not depend on other
LNST code. That way, a small cli appliation can be implemented to inject
traffic using the same code as LNST would. This is useful for early prototyping.
An example of such as tool is introduced: test_tools/tperf. It basically runs the
client and server as LNST would and report the aggregated throughput.
Finally, the stream can be modularized into TRex compatible modules so that:
- New stream generators can be easily implemented
- TRex tools (e.g: stl-sym) can be used for stream generator development
The current stream generation is modularized as an example: udp_simple
I'm only a sporadic contributor to LNST so sending this RFC to get some feedback.
Adrian Moreno (3):
lnst.Tests.TRex Refactor TRex client and server
test_tools: Add tperf
lnst.TRex Use stl compatible modules to generate streams
lnst/TRex/TRex.py | 205 ++++++++++++++++++++++++++++++++++++++++
lnst/TRex/__init__.py | 0
lnst/TRex/udp_simple.py | 38 ++++++++
lnst/Tests/TRex.py | 137 ++++-----------------------
test_tools/tperf/tperf | 192 +++++++++++++++++++++++++++++++++++++
5 files changed, 452 insertions(+), 120 deletions(-)
create mode 100644 lnst/TRex/TRex.py
create mode 100644 lnst/TRex/__init__.py
create mode 100644 lnst/TRex/udp_simple.py
create mode 100755 test_tools/tperf/tperf
--
2.26.2