DPDK: Data Plane Development Kit

What it is

DPDK is a set of libraries and drivers for fast packet processing. It was designed to run on any processors knowing Intel x86 has been the first CPU to be supported. Ports for other CPUs like IBM Power 8 are under progress. It runs mostly in Linux userland. A FreeBSD port is now available for a subset of DPDK features.

DPDK is an Open Source BSD licensed project. The most recent patches and enhancements, provided by the community, are available in master branch.

Main libraries

Usage

These libraries can be used to:

For example, some packet processing functions have been benchmarked up to 160 Mfps (million frames per second, using 64-byte packets) with a PCIe Gen-2 NIC.

What it's 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 with the development of such features.

If you need some specific drivers or networking stacks, you should contact a company that provides such extensions.