[dpdk-users] DPDK KNI Issue

Pattan, Reshma reshma.pattan at intel.com
Fri Dec 4 13:27:32 CET 2015


Hi,

I had tried KNI ping testing on fedora ,  DPDK2.2 and using one loopback connection, it works fine and I tried without steps 9 and 10.
I am not sure why steps 9 & 10 are needed in your case, but you can try without those 2 steps and see the results. 
Also, after you start the ping, make sure there is no core dump in dmesg for KNI module.
If ur running tcpdump with icmp filter try running without filter and first see if ARP packets are reaching to KNI or not.
Also can you check if packet drop stats of kni iface increasing?

Thanks,
Reshma

> -----Original Message-----
> From: users [mailto:users-bounces at dpdk.org] On Behalf Of Ilir Iljazi
> Sent: Thursday, December 3, 2015 9:55 PM
> To: users at dpdk.org
> Subject: [dpdk-users] DPDK KNI Issue
> 
> 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