The Data Plane Development Kit (DPDK) is an open source software project managed by the Linux Foundation.
DPDK provides a programming framework for x86, ARM, and PowerPC processors and enables faster development of high speed data packet networking applications.
The EAL also provides additional services including time references, generic bus access, trace and debug functions and alarm operations.
Hugepages are used for large memory pool allocation, to decrease the amount of lookups and page management.
[10] The DPDK also includes software examples that highlight best practices for software architecture, tips for data structure design and storage, application profiling and performance tuning utilities and tips that address common network performance deficits.
The list of vendors who have announced DPDK support includes: 6WIND,[14] ALTEN Calsoft Labs,[15][16] Advantech,[17] Brocade,[18] Big Switch Networks, Mellanox Technologies,[19] Radisys,[20] Tieto,[21] Wind River,[22] Lanner Inc.[23] and NXP.
[24] The pfSense project published a road map on 25 February 2015, in which developer Jim Thompson announced the rewriting of the pfSense core—including pf, network packet forwarding and shaping, link bonding, IPsec—using DPDK: "We have a goal of being able to forward, with packet filtering at rates of at least 14.88 Mpps.
It is the open source version of Cisco's Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs, and can leverage the Poll Mode Drivers for both NICs and cryptographic acceleration hardware and libraries.
[29] DPDK has support for several SRIOV network drivers, enabling creating a PF (Physical Function) and VFs, and also to launch VMs (like QEMU VMs) and assign VFs to them using PCI Passthrough [30] DDP (Dynamic Device Personalization) is one of the new advanced features implemented with DPDK.