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!