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