DPDK KNI interface
-
Upload
denys-haryachyy -
Category
Technology
-
view
6.076 -
download
0
Transcript of DPDK KNI interface
DPDK KNI interface
Quick overview
High Level Architecture
User space
Kernel space
NIC
App DPDK Ring buffers
KNI driver
RX/TX queues
TCP/IP stack
Kernel space
Data RX path design
TCP/IP stack
User space
App DPDK lib
FIFO
ThreadThread N
Data RX path implementation
Kernel space
netif_rx(skb)
TCP/IP stack
kni_fifo_put()
Kernel module
FIFO
DPDK libSocket
kni_net_rxkni_fifo_getdev_alloc_skb
rte_kni_tx_burst()
Kernel space
Data TX path
TCP/IP stack
User space
App DPDK lib
FIFO
Data TX path implementation
Kernel space
kni_net_tx()
TCP/IP stack
kni_fifo_get()
Kernel module
memcpy (FIFO, SKB)kni_fifo_putdev_kfree_skb
FIFO
DPDK libSocket
rte_kni_rx_burst()
Kernel space
Sample application in a loopback mode
User space
FIFO 2
NICport1 port2
Core2Core1
FIFO 1Thread
Sample application in a standard mode
Kernel space
User space
FIFO 2
NICport1 port2
Core2Core1
FIFO 1vEth1vEth0
Thread
ipstack
ReferencesBuilding 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
My blogLearning Network Programming