DPDK Introduction

Data Plane Development Kit(DPDK) is a set of libraries and drivers for fast packet processing. It was designed to run on any processors. The first supported CPU was Intel x86 and it is now extended to IBM Power 8, EZchip TILE-Gx and ARM. It runs mostly in Linux userland. A FreeBSD port is available for a subset of DPDK features.

Main libraries
  • multicore framework
  • huge page memory
  • ring buffers
  • poll-mode drivers
The DPDK includes data plane libraries and optimized NIC drivers for the following
  • A queue manager implements lockless queues
  • A buffer manager pre-allocates fixed size buffers
  • A memory manager allocates pools of objects in memory and uses a ring to store free objects; ensures that objects are spread equally on all DRAM channels
  • Poll mode drivers (PMD) are designed to work without asynchronous notifications, reducing overhead
  • A packet framework – set of libraries that are helpers to develop packet processing

All libraries are stored in the dpdk/lib/librte_* directories

What it is not

DPDK is not a networking stack and does not provide functions such as Layer-3 forwarding, IPsec, firewalling, etc. Within the tree, however, various application examples are included to help developing such features.

References
posted @ 2015-12-21 17:06  luckysimple  阅读(257)  评论(0编辑  收藏  举报