Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DPDK KNI interface

22,409 views

Published on

KNI (Kernel Network Interface) is one of the approach, used in DPDK, to connect its user space libs with the Linux kernel network stack.

Published in: Technology
  • To get professional research papers you must go for experts like ⇒ www.HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Check the source ⇒ www.WritePaper.info ⇐ This site is really helped me out gave me relief from headaches. Good luck!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39mQKz3 ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❤❤❤ http://bit.ly/39mQKz3 ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DPDK KNI interface

  1. 1. DPDK KNI interface Quick overview
  2. 2. High Level Architecture User space Kernel space NIC App DPDK Ring buffers KNI driver RX/TX queues TCP/IP stack
  3. 3. Kernel space Data RX path design TCP/IP stack User space App DPDK lib FIFO Thread Thread N
  4. 4. Data RX path implementation Kernel space netif_rx(skb) TCP/IP stack kni_fifo_put() Kernel module FIFO DPDK libSocket kni_net_rx kni_fifo_get dev_alloc_skb rte_kni_tx_burst()
  5. 5. Kernel space Data TX path TCP/IP stack User space App DPDK lib FIFO
  6. 6. Data TX path implementation Kernel space kni_net_tx() TCP/IP stack kni_fifo_get() Kernel module memcpy (FIFO, SKB) kni_fifo_put dev_kfree_skb FIFO DPDK libSocket rte_kni_rx_burst()
  7. 7. Kernel space Sample application in a loopback mode User space FIFO 2 NIC port1 port2 Core2Core1 FIFO 1 Thread
  8. 8. Sample application in a standard mode Kernel space User space FIFO 2 NIC port1 port2 Core2Core1 FIFO 1 vEth1vEth0 Thread ipstack
  9. 9. References Building the Development Kit Binary DPDK Programmer’s Guide - Kernel NIC Interface Kernel NIC Interface Sample Application Getting Started Guide for Linux DPDK quick start Huge pages
  10. 10. My blog Learning Network Programming

×