[dpdk-dev] DPDK-pktgen not giving expected throughput

Shailja Pandey csz168117 at iitd.ac.in
Sat Jan 13 19:51:05 CET 2018


Hi,

Output of command ‘lspci | grep Ether’ is-

04:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
04:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02)
05:00.1 Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02)

I tried running pktgen with this command
./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xffff -n 4 -- -T -P -m “[2,4,6:8,10,12].0, [14,16,18:20,22,24].1”

but I am unable to see the ports while using comma separated cores like 2,4,6. However when I tried with multiple CPUs, the result is still the same.

After allocating multiple cores, I also tried the range commands to distribute the packets on different cores(RSS).

  
>/On Jan 11, 2018, at 12:45 AM, Shailja Pandey <csz168117 at iitd.ac.in 
<https://dpdk.org/ml/listinfo/dev>> wrote: />//>/I have also tried with multiple cpus using the command line- />//>/./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xffff -n 4 -- -T -P -m 
"[0:4].0,[5:8].1,[9-12].2,[13-16].3” /
What is port 0 and 1, I guess that port 2 and 3 are the 2x40 card. I guess I need the ‘lspci | grep Ether’ output too.

Lets assume port 2 and 3 are the 2 ports of 40G and the NIC is on PCI bus0 attached to NUMA node 0.

May need to blacklist the first two port 0 and 1 to remove them from being used.

./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xffff -n 4 -- -T -P -m “[2,4,6:8,10,12].0, [14,16,18:20,22,24].1”

Now you have 6 cores per port 3 on TX and 3 on RX on each port. You maybe be able to get away with 4 per port with the speed of the machine you have.

Next we have to use the range command to make sure the packets are transmitted with a varying set of 5 tuples.

Do a help command an look at the range commands, there is an example in the test directory.

To see the range information use ‘page range’ and then you can modify each port.

After you are happy with the configuration use the ‘save <filename>’ command to save the configuration. Then you can use ‘load <filename>’ or add it to the command line with the -f <filename> option.




>//>/On Thursday 11 January 2018 10:20 AM, Shailja Pandey wrote: />>/The command line for Pktgen is- />>//>>/./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0xfff -n 4 -- -T -P -m 
"[2].0,[4].1,[8].2,[10].3" />>//>>/Configuration of the machine is- />>//>>/Architecture: x86_64 />>/CPU op-mode(s): 32-bit, 64-bit />>/Byte Order: Little Endian />>/CPU(s): 32 />>/On-line CPU(s) list: 0-31 />>/Thread(s) per core: 2 />>/Core(s) per socket: 8 />>/Socket(s): 2 />>/NUMA node(s): 2 />>/Vendor ID: GenuineIntel />>/CPU family: 6 />>/Model: 63 />>/Model name: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz />>/Stepping: 2 />>/CPU MHz: 1204.226 />>/CPU max MHz: 3400.0000 />>/CPU min MHz: 1200.0000 />>/BogoMIPS: 5195.08 />>/Virtualization: VT-x />>/L1d cache: 32K />>/L1i cache: 32K />>/L2 cache: 256K />>/L3 cache: 20480K />>/NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 />>/NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 />>//>>/Linux XeonE5 4.4.0-93-generic />>//>>/Thanks! />>//>>//>>//>>//>>//>>/ > />>/On Jan 10, 2018, at 7:36 AM, Shailja Pandey <csz168117 at iitd.ac.in />>/ > wrote: />>//>>/ > />>//>>//>>/ > />>/Hi, />>//>>/ > />>//>>//>>/ > />>/We are performing experiments on Dell Poweredge R430 server, which is 
based on Haswell architecture based xeon-2640 v3 processor. We have 
attached XL 710 NIC(2x40 GbE) to the machine and expect 59 Mpps packet 
generation per port. But pktgen is able to generate only 21 Mpps per 
port and we are not sure about the problem. />>//>>/ > />>//>>//>>/ > />>/We are using DPDK version 16.07 and DPDK-pktgen version 3.1.0. Is there 
any way to generate packets from pktgen at 118 Mpps ? />>//>>//>>/What is the command line for Pktgen? />>//>>/Using a single CPU you should be able to generate about 21Mpps, which 
tells me the configuration is not correct. />>//>>/Pktgen needs N number of TX and RX cores to generate more traffic, plus 
the packets need to be spread across the cores using RSS. This means 
pktgen needs to be setup to generate packets with the 5 tuple difference 
to get all of the cores to receive the packets. />>//>>/I need to know the command line and the configuration of the machine to 
help. />>/ > />>//>>//>>/ > />>/-- />>//>>/ > />>//>>//>>/ > />>/Thanks, />>//>>/ > />>/Shailja />>//>>/ > />>//>>//>>//>>/Regards, />>/Keith />>//>>/-- />>//>>/Thanks, />>/Shailja />>//>//>/-- />//>/Thanks, />/Shailja />//
Regards,
Keith

-- 

Thanks,
Shailja



More information about the dev mailing list