There is no mailing list dedicated to NFVbench.
For inquiries and questions: send an email to firstname.lastname@example.org with a Subject line starting with
The list archives can be consulted and searched here:
OPNFV list archives:
Where can I find NFVbench Docker images?
Available versions of NFVbench Docker images can be found on Docker hub:
Where is the change log for NFVbench Docker image?
Note: there is also a GitHub mirror for NFVbench, but it is more complicated to see the association between commit history and tags
Which version of TRex is associated to a given version of NFVbench?
For a given version of NFVbench container image on Docker hub, TRex version can be found in the TREX_VER environment variable in the image history. For
instance, NFVbench Docker image version 3.4.1 is based on TRex 2.56 as can be seen here.
For a given version of NFVbench code base, the version of TRex that would be embedded in a Docker container built from that code base is given in the
TREX_VER environment variable found in docker/Dockerfile For instance, NFVbench code base tagged 3.6.1 is meant to be used with TRex 2.61 as can be seen in the Dockerfile.
NFVbench loop VM image
The list of the artifacts generated by NFVbench project, including all versions of NFVbench loop VM, can be found here:
https://artifacts.opnfv.org/nfvbench.html. Look for nfvbench/images.
CPU cores and huge pages
How to configure the CPU logical cores to be used by TRex?
Reminder: a CPU logical core is either a SMT thread (ie when intel hyper-threading is enabled) or a CPU physical core (when SMT is disabled).
- name: trex-local
- socket: 0
Note: the cores config parameter does not include the system
thread and the latency thread.
How can I see the logical CPU cores actually used by TRex?
How many huge pages do I need for NFVbench (TRex)?
Specify the memory reserved for running the TRex traffic generator (in MB).
Limit the amount of packet memory used. (Passed to dpdk as -m arg)
In the default config file for NFVbench 3.4.1, we have:
- name: trex-local
We use 1GB huge pages and we configure Linux kernel to allocate them at boot time with the parameters default_hugepagesz=1G hugepagesz=1G hugepages=<nb-of-pages> on the kernel CLI. <nb-of-pages> has to be a
multiple of the number of NUMA nodes, because the same number of pages is allocated on each NUMA node. For instance, if the traffic generator server has two NUMA nodes, the minimum value for one instance of TRex would be
Note: at startup, TRex takes all the available huge pages, then he releases the pages he does not need.
What is the TRex frame size?
When we specify a frame size to NFVbench eg with the -fs command line option, TRex generates *802.3 Ethernet frames* of that size. The size include the Ethernet header and the CRC checksum. The CRC checksum is 4-byte long. The Ethernet header is either 14-byte long (when NFVbench is configured without
VLAN ID) or 18-byte long (4 additional bytes for the 802.1Q tag when NFVbench is configured with VLAN IDs).