Skip to content

perftool-incubator/bench-trafficgen

Repository files navigation

bench-trafficgen

Utility Scripts

Name Description
trafficgen-base Contains several Bash functions to validate prerequisite tools and utilities, expand number lists, and resolve device IDs based on input parameters.
trafficgen-client Wrapper script for running binary-search.py with some additional options, including resolving logical DPDK IDs from PCI device locations, and reporting search summary results. It also validates prerequisites and shuts down TRex at the end of the script.
trafficgen-get-runtime Returns "-1" to request unbounded runtime.
trafficgen-import-files Imports a TRex config and a traffic profile, and copies them to specified destination paths. It also validates the JSON traffic profile using a Python script.
trafficgen-infra Launches a TRex service and performs several checks and validations to ensure the service is running correctly. It also provides options for setting TRex parameters such as CPUs, memory limit, and Mellanox support.
trafficgen-post-process Processes and logs data from the tests on a Trex traffic generator by parsing the JSON files generated by the tests and extracting the desired fields to log. The logged data is then organized and outputted with file name "metric-data-$period_name.json.xz"; the JSON files adhere to a Common Data Model (CDM) Schema.
trafficgen-server-start Starts a traffic generator server for testing network traffic. It sets default values for various options, processes command-line options to override the defaults, determines the device to be used and the corresponding CPUs, and builds the command-line options for the traffic generator testpmd. Finally, it runs testpmd with the generated options.
trafficgen-server-stop Stops the trafficgen server and logs the output to a file named "trafficgen-server-stop-stderrout.txt". It allows the user to specify the switch type as "testpmd" or "null".

JSON files

Name Description
multiplex.json Defines a set of presets and validations for the traffic generator tool, specifying various options and their valid values, such as device lists, traffic directions, packet protocols, and result output types.
rickshaw.json Defines the configuration settings for the trafficgen benchmarking tool, including the paths for required scripts and binaries, and options for the client and server components.
workshop.json Configuration file for a workshop environment and contains information on required dependencies and their installation methods,

Trafficgen

Please refer to the trafficgen README.