On Thu, Jul 30, 2015 at 5:03 AM, Jan Viktorin <viktorin at rehivetech.com> wrote:
> 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 > NICs may not be supported by PMD drivers yet. Do "lspci -nn" and check the device-id. Adding support in PMD should not be a problem, but I am not sure on support since there is End of Life listed on Intel Website http://ark.intel.com/products/4964/Intel-82545GM-Gigabit-Ethernet-Controller > Network devices using kernel driver > =================================== > 0000:00:19.0 'Ethernet Connection I217-V' if=eno1 drv=e1000e > unused=uio_pci_generic *Active* > DPDK doesn't bind Active NIC, support for I217-V in PMD is being tested currently. > > 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 >