DPDK

DPDK is an open source data plane tool set designed by Intel for data I/O intensive network applications. It provides an efficient packet processing library in user space. It has implemented the high-performance message forwarding capability under the Intel Architecture (IA) through kernel bypass by using an Environment Abstraction Layer (EAL), non-stop packet forwarding through poll mode drivers, ring buffers, optimization of memory, buffer, and queue management, multi-queue and flow identification based load balancing. DPDK is designed to help applications receive and send data efficiently and provide basic components for the development of complex network software.

DPDK provides function and driver support for efficient packet processing in user space under the IA processor architecture. DPDK applications run in user space to send and receive data packets through their own data plane library, bypassing the Linux kernel stack. To the Linux kernel, a DPDK application is the same as a common application in user mode, including its compiling, linking and loading modes.

Figure-1 shows the architecture.

Figure-1 DPDK architecture