Data Plane Development Kit (DPDK) in an Azure Linux Virtual Machine (VM) that offers a fast user space packet processing framework for performance intensive applications that bypass the VM’s kernel network stack, is now generally available in all Azure regions!

DPDK provides a key performance differentiation in driving network function virtualization implementations, in the form of network virtual appliances (NVA) such as a virtual router, firewall, VPN, load balancer, evolved packet core, and denial-of-service (DDoS) applications. Customers in Azure can now use DPDK capabilities running in Linux VMs with multiple Linux OS distributions (Ubuntu, RHEL, CentOS and SLES) to achieve higher packets per second (PPS).

The following distributions from the Azure Gallery are supported:

Linux OS Kernel Version Ubuntu 16.04 4.15.0-1015-azure Ubuntu 18.04 4.15.0-1015-azure SLES 15 4.12.14-5.5-azure RHEL 7.5 3.10.0-862.9.1.el7 CentOS 7.5 3.10.0-862.3.3.el7

In the case of an Azure Linux VM without DPDK, packet processing is through a kernel network stack which is interrupt driven. Each time the network adapter receives incoming packets, there is a kernel interrupt to process the packet and context switch from a kernel space to a user space.

Azure Linux VM with DPDK eliminates context switching and the interrupt driven method in favor of a user space implementation using poll mode drivers for fast packet processing. Bypassing the kernel and taking control of packets in user space reduces the cycle count and improves the rate of packets processed per second in Azure Linux VMs.

DPDK in an Azure Linux VM is enabled over Azure Accelerated Networking to leverage the advantages of High Performance NIC with FPGA.

Get started with setting up DPDK in a Linux VM from Microsoft Azure today!