216. Benchmark the performance of single core forwarding with FVL25G/NNT10G¶
216.1. Prerequisites¶
Hardware:
- 1.1) nic_single_core_perf test for FVL25G: two dual port FVL25G nics,
all installed on the same socket, pick one port per nic
- 1.2) nic_single_core_perf test for NNT10G: four 82599 nics,
all installed on the same socket, pick one port per nic
Software:
dpdk: git clone http://dpdk.org/git/dpdk scapy: http://www.secdev.org/projects/scapy/ dts (next branch): git clone http://dpdk.org/git/tools/dts, then "git checkout next" Trex code: http://trex-tgn.cisco.com/trex/release/v2.26.tar.gz (to be run in stateless Layer 2 mode, see section in Getting Started Guide for more details) python-prettytable: apt install python-prettytable (for ubuntu os) or dnf install python-prettytable (for fedora os).
Connect all the selected nic ports to traffic generator(IXIA,TREX, PKTGEN) ports(TG ports):
2 TG 25g ports for FVL25G ports 4 TG 10g ports for 4 NNT10G ports
216.2. Test Case : Single Core Performance Measurement¶
Bind tested ports to igb_uio
Start testpmd:
./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 -- -i \ --portmask=0xf --txd=128 --rxd=128 testpmd> start
- Configure traffic generator to send traffic
- configure one below stream for each TG port
dst mac: peer nic port mac src ip : random dst ip : random packet length : 64 byte
check throughput and compare it with the expected value.
for NNT10G, repeat above step 1-4 for txd=rxd=512,2048 separately. for FVL25G nic, just test txd=rxd=512,2048 following above steps 1-4.
Result tables for different NICs:
FVL25G:
Frame Size TXD/RXD Throughput Rate Expected Throughput 64 512 xxxxxx Mpps xxx % xxx Mpps 64 2048 xxxxxx Mpps xxx % xxx Mpps NNT10G:
Frame Size TXD/RXD Throughput Rate Expected Throughput 64 128 xxxxxx Mpps xxx % xxx Mpps 64 512 xxxxxx Mpps xxx % xxx Mpps 64 2048 xxxxxx Mpps xxx % xxx Mpps
- Note : The values for the expected throughput may vary due to different
- platform and OS, and traffic generator, please correct threshold values accordingly. (the above expected values for FVL 25G and NNT10G were got from the combination of Purly,Ubuntu 16.04, and traffic generator IXIA)
Case will raise failure if actual throughputs have more than 1Mpps gap from expected ones.