dpdk kni ip address

dpdk kni ip address

I want to give an ip to a dpdk port, because I need to receive traffic by gre replication.

(Not all packet need to reach the kernel stack only the one that i need to have ip address)


I though I could do it with dpdk kni.

I used the kni sample application, and the dpdk 1.7.1.

I did this try on a vm so the driver was ixgbevf.

I launched kni as following:  kni -c 0x30 -n 2 -- -P -p 0x1 --config "(0,4,5)"      


I am able to give an ip to interface vEth0, but I can't ping or ssh to the ip address.

I set the ip with the following command: ifconfig vEth0 netmask up


Is this something possible to do with dpdk kni?

If not, what could be another solution for this?



here is an output of dmesg

KNI: Single kernel thread for all KNI devices

KNI: /dev/kni opened

KNI: Creating kni...

KNI: tx_phys:      0x00000003f97ddd40, tx_q addr:      0xffff8803f97ddd40

KNI: rx_phys:      0x00000003f97dfd80, rx_q addr:      0xffff8803f97dfd80

KNI: alloc_phys:   0x00000003f97e1dc0, alloc_q addr:   0xffff8803f97e1dc0

KNI: free_phys:    0x00000003f97e3e00, free_q addr:    0xffff8803f97e3e00

KNI: req_phys:     0x00000003f97e5e40, req_q addr:     0xffff8803f97e5e40

KNI: resp_phys:    0x00000003f97e7e80, resp_q addr:    0xffff8803f97e7e80

KNI: mbuf_phys:    0x00000003ffc00000, mbuf_kva:       0xffff8803ffc00000

KNI: mbuf_va:      0x00007fffd2400000

KNI: mbuf_size:    2048

KNI: pci_bus: 13:00:00

KNI: Error: Device not supported by ethtool

device vEth0 entered promiscuous mode

vEth0: no IPv6 routers present

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

It's probable it's not coming up. Take a look at https://embedded.communities.intel.com/thread/6668


In the link you send the problem was that he didn't succeed to bring up the interface.

I am able to give an ip to interface vEth0, but I can't ping or ssh to the ip address.

I used the sample kni example so from the code it is always calling to this function.

But it seems it is not possible to do this on vm because ethtool is not supported on vm.

The question is how can i solve my problem?


I am facing the same issue as yours. In my case I am trying do pci-passthrough for a network device to VM and trying to use KNI driver for the device inside the VM.

Do you had any success on this?

KNI: Creating kni...
KNI: tx_phys:      0x000000020118a200, tx_q addr:      0xffff88020118a200
KNI: rx_phys:      0x000000020118c240, rx_q addr:      0xffff88020118c240
KNI: alloc_phys:   0x000000020118e280, alloc_q addr:   0xffff88020118e280
KNI: free_phys:    0x00000002011902c0, free_q addr:    0xffff8802011902c0
KNI: req_phys:     0x0000000201192300, req_q addr:     0xffff880201192300
KNI: resp_phys:    0x0000000201194340, resp_q addr:    0xffff880201194340
KNI: mbuf_phys:    0x000000018a800000, mbuf_kva:       0xffff88018a800000
KNI: mbuf_va:      0x00002aaa33800000
KNI: mbuf_size:    2048
KNI: pci_bus: 00:03:00
KNI: Error: Device not supported by ethtool
vEth0_0: no IPv6 routers present


My GRUB options are

GRUB_CMDLINE_LINUX_DEFAULT="iommu=pt, intel_iommu=on"



Leave a Comment

Please sign in to add a comment. Not a member? Join today