[dpdk-dev] lost when learning how to test dpdk

Jan Viktorin viktorin at rehivetech.com
Thu Jul 30 17:22:13 CEST 2015


The 82545 is listed at http://dpdk.org/doc/nics and I can see it in
rte_pci_dev_ids.h/e1000_hw.h:

196 #define E1000_DEV_ID_82545GM_COPPER           0x1026

$ lspci -nn
...
03:00.0 Ethernet controller [0200]: Intel Corporation 82545GM Gigabit Ethernet Controller [8086:1026] (rev 04)
03:02.0 Ethernet controller [0200]: Intel Corporation 82545GM Gigabit Ethernet Controller [8086:1026] (rev 04)

However, it is rev 04 and in e1000_hw.h there is just e1000_82545_rev_3.
But this should not avoid the match (?). Is it possible to grow the verbosity
level of the device matching process in DPDK?

I do not expect any support, I just wanted to use it for sending traffic
at 1 Gbps because there are two such cards mostly unused in my computer.
I did not plan to use I217-V (in fact, I did not expect much from this
integrated NIC and I did not even notice it is an Intel one...).

Regards
Jan Viktorin

On Thu, 30 Jul 2015 07:44:14 -0700
Ravi Kerur <rkerur at gmail.com> wrote:

> 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
> >



-- 
   Jan Viktorin                  E-mail: Viktorin at RehiveTech.com
   System Architect              Web:    www.RehiveTech.com
   RehiveTech
   Brno, Czech Republic


More information about the dev mailing list