On 28.07.2015 21:13, Jan Viktorin wrote: > Hello all, > > I am learning how to measure throughput with dpdk. I have 4 cores > Intel(R) Core(TM) i3-4360 CPU @ 3.70GHz and two 82545GM NICs connected > together. I do not understand very well, how to setup testpmd.
http://dpdk.org/doc http://dpdk.org/doc/guides/testpmd_app_ug/run_app.html http://dpdk.org/doc/quick-start > > I've successfully bound the NICs to dpdk: > > $ dpdk_nic_bind --status > > Network devices using DPDK-compatible driver > ============================================ > 0000:03:00.0 '82545GM Gigabit Ethernet Controller' drv=uio_pci_generic > unused=e1000 > 0000:03:02.0 '82545GM Gigabit Ethernet Controller' drv=uio_pci_generic > unused=e1000 > > Network devices using kernel driver > =================================== > 0000:00:19.0 'Ethernet Connection I217-V' if=eno1 drv=e1000e > unused=uio_pci_generic *Active* > > Other network devices > ===================== > <none> > > and then I tried to run testpmd: > > sudo ./testpmd -b 0000:03:00.0 -b 0000:03:02.0 -c 0xf -n2 -- --nb-cores=1 > --nb-ports=0 --rxd=2048 --txd=2048 --mbcache=512 --burst=512 http://dpdk.org/doc/guides/testpmd_app_ug/run_app.html#testpmd-command-line-options The -b option black lists your PCI devices, you don't need those. The --nb-ports is of course the number of ports, it cannot be 0. > ... > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7f1549800000 (size = 0x400000) > EAL: Requesting 1024 pages of size 2MB from socket 0 > EAL: TSC frequency is ~3699999 KHz > EAL: Master lcore 0 is ready (tid=de94a8c0;cpuset=[0]) > EAL: lcore 2 is ready (tid=487fd700;cpuset=[2]) > EAL: lcore 3 is ready (tid=47ffc700;cpuset=[3]) > EAL: lcore 1 is ready (tid=48ffe700;cpuset=[1]) > EAL: No probed ethernet devices > EAL: Error - exiting with code: 1 > Cause: Invalid port 0 > > I tried --nb-ports={0,1,2} but neither of them works. BTW, what does this > option it mean? :) > I could not find any description in the docs nor in the help (maybe I've > omitted something). > > > Well, if I manage the testpmd to work I need a packet generator, right? I've > downloaded > the dpdk-pktgen. And I am lost again. How can I start it? > > After several attempts (mostly trying to use the pktgen-master/slave.sh, what > is > their purpose?), the most "successful" output was: > > ... > EAL: Detected lcore 0 as core 0 on socket 03 handles port 1 rx & core 4 > handles port 0-7 tx > EAL: Detected lcore 1 as core 1 on socket 0 as it does not matter to the > syntax. > EAL: Detected lcore 2 as core 0 on socket 0 > EAL: Detected lcore 3 as core 1 on socket 0p/app/x86_64-native-linuxapp-gcc > (master *%=) > EAL: Support maximum 128 logical core(s) by configuration. > EAL: Detected 4 lcore(s) > EAL: No free hugepages reported in hugepages-2048kB You either don't have hugepages or there aren't any free left. > PANIC in rte_eal_init(): > Cannot get hugepage information > 6: [./pktgen(_start+0x29) [0x41abc9]] > 5: [/usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f93eadcc790]] > 4: [./pktgen(main+0x140) [0x419d80]] > 3: [./pktgen(rte_eal_init+0xd2b) [0x4bb8bb]] > 2: [./pktgen(__rte_panic+0xc9) [0x419ae5]] > 1: [./pktgen(rte_dump_stack+0x16) [0x4c3946]] > Aborted (core dumped) > > I'd like to run a simple scenario, just sending packets from one NIC to the > other (or > something similar) and measure the throughput. Could you please help me? > > Regards > Jan Viktorin >