[dpdk-dev] Unable to get the basic quick start working for dpdk

Patrick Mahan mahan at mahan.org
Wed May 15 19:38:03 CEST 2013


Good Morning,

I am doing a bit of work investigating the DPDK code for a prospective client.

I have the following hardware setup:

Dell PowerEdge T620 running Fedora 14 with the 2.6.35.14-106 kernel.  I had to
build a custom version to enable memmap for HPET.

Uname -a output:

pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 14 > uname -a
Linux dpdk-eval 2.6.35.14-106.PLM.fc14.x86_64 #1 SMP Tue May 14 10:10:44 PDT 2013
x86_64 x86_64 x86_64 GNU/Linux

The cpu 0 info from /proc/cpuinfo:

pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 3 > cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping	: 7
cpu MHz		: 2899.896
cache size	: 20480 KB
physical id	: 0
siblings	: 16
core id		: 0
cpu cores	: 8
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm
constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni
pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1
sse4_2 x2apic popcnt aes xsave avx lahf_lm arat tpr_shadow vnmi flexpriority ept vpid
bogomips	: 5799.79
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual

I am using an Intel 82599EB dual-port 10GE interface:

pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 4 > lspci -D | grep Ethernet
0000:03:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network
Connection (rev 01)
0000:03:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit Network
Connection (rev 01)
0000:06:00.0 Ethernet controller: Intel Corporation Device 1521 (rev 01)
0000:06:00.1 Ethernet controller: Intel Corporation Device 1521 (rev 01)
pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 9 > lspci -n -s 0000:03:00.0
03:00.0 0200: 8086:10fb (rev 01)

I have 2MB Hugepage enabled (though the CPU is capable of 1Gb):

pmahan at dpdk-eval-~ 1 > cat /proc/cmdline
ro root=/dev/mapper/vg_dpdkeval-lv_root rd_LVM_LV=vg_dpdkeval/lv_root
rd_LVM_LV=vg_dpdkeval/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8
SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb hugepages=1024 quiet

I installed the igb_uio module successfully (uio was already loaded due to
other work).

I mounted the hugetlb mount point:

pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 23 > sudo ls -F /mnt
huge/
pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 24 > sudo mount -t hugetlbfs nodev /mnt
/huge

However, following the quickstart guide on the dpdk.org website, I tried to
run testpmd as shown.  But I don't see any traffic running:

pmahan at dpdk-eval-~/src/dpdk/dpdk-1.2.3r1 27 > sudo build/app/testpmd -b
0000:06:000.0 -b 0000:06:00.1 -c7 -n3 -- -i --nb-cores=2 --nb-ports=2

EAL: coremask set to 7
EAL: Using native RDTSC
EAL: Detected lcore 0 on socket 0
EAL: Detected lcore 1 on socket 0
EAL: Detected lcore 2 on socket 0
EAL: Detected lcore 3 on socket 0
EAL: Detected lcore 4 on socket 0
EAL: Detected lcore 5 on socket 0
EAL: Detected lcore 6 on socket 0
EAL: Detected lcore 7 on socket 0
EAL: Detected lcore 8 on socket 0
EAL: Detected lcore 9 on socket 0
EAL: Detected lcore 10 on socket 0
EAL: Detected lcore 11 on socket 0
EAL: Detected lcore 12 on socket 0
EAL: Detected lcore 13 on socket 0
EAL: Detected lcore 14 on socket 0
EAL: Detected lcore 15 on socket 0
EAL: Requesting 1024 pages of size 2097152
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f7bd2400000 (size = 0x200000)
EAL: Ask a virtual area of 0x7fc00000 bytes
EAL: Virtual area found at 0x7f7b52600000 (size = 0x7fc00000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7f7b52200000 (size = 0x200000)
EAL: Master core 0 is ready (tid=d2b37820)
EAL: Core 1 is ready (tid=511fd700)
EAL: Core 2 is ready (tid=509fc700)
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: unbind kernel driver /sys/bus/pci/devices/0000:03:00.0/driver/unbind
EAL: bind PCI device 0000:03:00.0 to igb_uio driver
EAL: Device bound
EAL: map PCI resource for device 0000:03:00.0
EAL: PCI memory mapped at 0x7f7bd26ab000
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: unbind kernel driver /sys/bus/pci/devices/0000:03:00.1/driver/unbind
EAL: bind PCI device 0000:03:00.1 to igb_uio driver
EAL: Device bound
EAL: map PCI resource for device 0000:03:00.1
EAL: PCI memory mapped at 0x7f7bd262b000
EAL: probe driver: 8086:1521 rte_igb_pmd
EAL: probe driver: 8086:1521 rte_igb_pmd
Interactive-mode selected
Initializing port 0... done:  Link Up - speed 10000 Mbps - full-duplex
Initializing port 1... done:  Link Up - speed 10000 Mbps - full-duplex
testpmd> show port stats all

  ######################## NIC statistics for port 0  ########################
  RX-packets: 0          RX-errors: 0         RX-bytes: 0
  TX-packets: 0          TX-errors: 0         TX-bytes: 0
  ############################################################################

  ######################## NIC statistics for port 1  ########################
  RX-packets: 0          RX-errors: 0         RX-bytes: 0
  TX-packets: 0          TX-errors: 0         TX-bytes: 0
  ############################################################################
testpmd> start tx_first
  io packet forwarding - CRC stripping disabled - packets/burst=16
  nb forwarding cores=2 - nb forwarding ports=2
  RX queues=1 - RX desc=128 - RX free threshold=0
  RX threshold registers: pthresh=8 hthresh=8 wthresh=4
  TX queues=1 - TX desc=512 - TX free threshold=0
  TX threshold registers: pthresh=36 hthresh=0 wthresh=0
  TX RS bit threshold=0
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 0              TX-dropped: 0             TX-total: 0
  ----------------------------------------------------------------------------

  ---------------------- Forward statistics for port 1  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 0              TX-dropped: 0             TX-total: 0
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 0              TX-dropped: 0             TX-total: 0
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Done.
testpmd> quit
Stopping port 0...done
Stopping port 1...done
bye...

I basically have connected the two ports together, but I am not seeing any
traffic transmitted or received.

I have also tried transmitting external traffic from my other Intel box that has
a 10 G interface (transmitting 512 byte UDP packets at quickly as possible.  That
only results in the RX-dropped count on the inbound port to increase.  I
discovered this was actually the MPC counter on the port value (no CRC errors or
RLE errors).

I had no errors in building, but I am unable to get this to work.  Any suggestions?

Thanks,

Patrick


More information about the dev mailing list