TRex Traffic Generator

Usage

TRex traffic generator is used for all CSIT performance tests. TRex stateless mode is used to measure NDR and PDR throughputs using MLRsearch and to measure maximum transer rate in MRR tests.

TRex is installed and run on the TG compute node. The typical procedure is:

  • If the TRex is not already installed on TG, it is installed in the suite setup phase - see TRex installation.

  • TRex configuration is set in its configuration file

    /etc/trex_cfg.yaml
    
  • TRex is started in the background mode

    $ sh -c 'cd <t-rex-install-dir>/scripts/ && sudo nohup ./t-rex-64 -i --prefix $(hostname) --hdrh --no-scapy-server > /tmp/trex.log 2>&1 &' > /dev/null
    
  • There are traffic streams dynamically prepared for each test, based on traffic profiles. The traffic is sent and the statistics obtained using trex.stl.api.STLClient.

Measuring Packet Loss

Following sequence is followed to measure packet loss:

  • Create an instance of STLClient.

  • Connect to the client.

  • Add all streams.

  • Clear statistics.

  • Send the traffic for defined time.

  • Get the statistics.

If there is a warm-up phase required, the traffic is sent also before test and the statistics are ignored.

Measuring Latency

If measurement of latency is requested, two more packet streams are created (one for each direction) with TRex flow_stats parameter set to STLFlowLatencyStats. In that case, returned statistics will also include min/avg/max latency values and encoded HDRHstogram data.