[dpdk-users] DPDK KNI Issue
Ilir Iljazi
iljazi at gmail.com
Mon Nov 30 23:09:36 CET 2015
Hi,
I have been having an issue with dpdk kni whereby I cant send and receive
packets from the kni interface. I spent about a week trying to figure it
out the issue myself to no avail. Although I did find articles with a
similar signature to mine none of the proposed solutions helped solve the
problem.
Environment:
Ubuntu Server 14.04
DPDK Package 2.1.0 (Latest)
Network Card: (10Gbe ixgbe driver)
06:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+
Network Connection
06:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+
Network Connection
06.00.0 (port 0 connected to switch)
06:00.1 (port 1 not connected to switch)
Configuration:
1.) DPDK built without issue
2.) Modules Loaded:
insmod $RTE_TARGET/kmod/igb_uio.ko
insmod $RTE_TARGET/kmod/rte_kni.ko kthread_mode=multiple
3.) Reserved Huge Pages:
echo 4096 >
/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 4096 >
/sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
4.) Mounted huge page partition
echo ">>> Mounting huge page partition"
mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
5.) Interfaces 06:00.0/1 bound to igb uio module (option 19 on setup)
Network devices using DPDK-compatible driver
============================================
0000:06:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
unused=
0000:06:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
unused=
6.) Started kni test application:
Command: ./examples/kni/build/app/kni -n 4 -c 0xff -- -p 0x1 -P
--config="(0,5,7)" &
Output:
EAL: PCI device 0000:06:00.0 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: PCI memory mapped at 0x7fcda5c00000
EAL: PCI memory mapped at 0x7fcda5c80000
PMD: eth_ixgbe_dev_init(): MAC: 2, PHY: 18, SFP+: 5
PMD: eth_ixgbe_dev_init(): port 0 vendorID=0x8086 deviceID=0x10fb
EAL: PCI device 0000:06:00.1 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: PCI memory mapped at 0x7fcda5c84000
EAL: PCI memory mapped at 0x7fcda5d04000
PMD: eth_ixgbe_dev_init(): MAC: 2, PHY: 18, SFP+: 6
PMD: eth_ixgbe_dev_init(): port 1 vendorID=0x8086 deviceID=0x10fb
APP: Port ID: 0
APP: Rx lcore ID: 5, Tx lcore ID: 7
APP: Initialising port 0 ...
PMD: ixgbe_dev_rx_queue_setup(): sw_ring=0x7fcd5c1adcc0
sw_sc_ring=0x7fcd5c1ad780 hw_ring=0x7fcd5c1ae200 dma_addr=0xe5b1ae200
PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7fcd5c19b5c0
hw_ring=0x7fcd5c19d600 dma_addr=0xe5b19d600
PMD: ixgbe_set_tx_function(): Using simple tx code path
PMD: ixgbe_set_tx_function(): Vector tx enabled.
PMD: ixgbe_set_rx_function(): Vector rx enabled, please make sure RX burst
size no less than 32.
KNI: pci: 06:00:00 8086:10fb
Checking link status
done
Port 0 Link Up - speed 10000 Mbps - full-duplex
APP: Lcore 1 has nothing to do
APP: Lcore 2 has nothing to do
APP: Lcore 3 has nothing to do
APP: Lcore 4 has nothing to do
APP: Lcore 5 is reading from port 0
APP: Lcore 6 has nothing to do
APP: Lcore 7 is writing to port 0
APP: Lcore 0 has nothing to do
7.) KNI interface configured and brought up:
root at l3sys2-acc2-3329:~/dpdk-2.1.0# ifconfig vEth0 192.168.13.95 netmask
255.255.248.0 up
APP: Configure network interface of 0 up
PMD: ixgbe_set_rx_function(): Vector rx enabled, please make sure RX burst
size no less than 32.
root at l3sys2-acc2-3329:~/dpdk-2.1.0# ifconfig vEth0
vEth0 Link encap:Ethernet HWaddr 90:e2:ba:55:fd:c4
inet addr:192.168.13.95 Bcast:192.168.15.255 Mask:255.255.248.0
inet6 addr: fe80::92e2:baff:fe55:fdc4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:8 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Note also that dmesg is clean not pointing to any issues:
[ 1770.113952] KNI: /dev/kni opened
[ 1770.561957] KNI: Creating kni...
[ 1770.561973] KNI: tx_phys: 0x0000000e5b1ca9c0, tx_q addr:
0xffff880e5b1ca9c0
[ 1770.561974] KNI: rx_phys: 0x0000000e5b1c8940, rx_q addr:
0xffff880e5b1c8940
[ 1770.561975] KNI: alloc_phys: 0x0000000e5b1c68c0, alloc_q addr:
0xffff880e5b1c68c0
[ 1770.561976] KNI: free_phys: 0x0000000e5b1c4840, free_q addr:
0xffff880e5b1c4840
[ 1770.561977] KNI: req_phys: 0x0000000e5b1c27c0, req_q addr:
0xffff880e5b1c27c0
[ 1770.561978] KNI: resp_phys: 0x0000000e5b1c0740, resp_q addr:
0xffff880e5b1c0740
[ 1770.561979] KNI: mbuf_phys: 0x000000006727dec0, mbuf_kva:
0xffff88006727dec0
[ 1770.561980] KNI: mbuf_va: 0x00007fcd8627dec0
[ 1770.561981] KNI: mbuf_size: 2048
[ 1770.561987] KNI: pci_bus: 06:00:00
[ 1770.599689] igb_uio 0000:06:00.0: (PCI Express:5.0GT/s:Width x8)
[ 1770.599691] 90:e2:ba:55:fd:c4
[ 1770.599777] igb_uio 0000:06:00.0 (unnamed net_device) (uninitialized):
MAC: 2, PHY: 0, PBA No: E68793-006
[ 1770.599779] igb_uio 0000:06:00.0 (unnamed net_device) (uninitialized):
Enabled Features: RxQ: 1 TxQ: 1
[ 1770.599790] igb_uio 0000:06:00.0 (unnamed net_device) (uninitialized):
Intel(R) 10 Gigabit Network Connection
8.) ethtool vEth0 link is detected:
root at l3sys2-acc2-3329:~/dpdk-2.1.0# ethtool vEth0
Settings for vEth0:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: No
Advertised link modes: 10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 10000Mb/s
Duplex: Full
Port: Other
PHYAD: 0
Transceiver: external
Auto-negotiation: off
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
9.) kernel started with: iommu=pt intel_iommu=on
GRUB_CMDLINE_LINUX="iommu=pt intel_iommu=on console=tty1
console=ttyS1,115200n8"
10.) Disabled virtualization in BIOS per forum recommendation
Situation:
Despite doing everything seemingly correct I cant ssh or ping to and from
this interface. I tried starting tcpdump on the interface but didn't notice
any traffic. I'm not sure what I'm doing wrong here, if I could get some
support I'd appreciate it. I can provide additional details from the system
if needed.
Thanks!
More information about the users
mailing list