Hi, thanks for reply. I could see those docs but it does not help me a lot. I still do not understand very well the principle of the tool. How it chooses the NICs to use? Previously I confused -b in dpdk_nic_bind and testpmd. They have somehow opposite meaning. I can start testpmd now, however, it does ot probe any NIC. I've tried -w to whitelist certain NICs but with no success.
$ 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> $ sudo testpmd -c 0x3 -n 2 -- -i --total-num-mbufs=2048 EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 1 on socket 0 EAL: Detected lcore 2 as core 0 on socket 0 EAL: Detected lcore 3 as core 1 on socket 0 EAL: Support maximum 128 logical core(s) by configuration. EAL: Detected 4 lcore(s) EAL: VFIO modules not all loaded, skip VFIO support... EAL: Setting up physically contiguous memory... EAL: Ask a virtual area of 0x3c00000 bytes EAL: Virtual area found at 0x7fe973e00000 (size = 0x3c00000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fe973a00000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fe973600000 (size = 0x200000) EAL: Ask a virtual area of 0x3c00000 bytes EAL: Virtual area found at 0x7fe96f800000 (size = 0x3c00000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fe96f400000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fe96f000000 (size = 0x200000) EAL: Requesting 64 pages of size 2MB from socket 0 EAL: TSC frequency is ~3699998 KHz EAL: Master lcore 0 is ready (tid=7989d8c0;cpuset=[0]) EAL: lcore 1 is ready (tid=6efff700;cpuset=[1]) EAL: No probed ethernet devices Interactive-mode selected Done testpmd> Thanks Jan Viktorin On Wed, 29 Jul 2015 12:09:06 +0300 ciprian.barbu <ciprian.barbu at enea.com> wrote: > > > 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 > > -- Jan Viktorin E-mail: Viktorin at RehiveTech.com System Architect Web: www.RehiveTech.com RehiveTech Brno, Czech Republic