Notes

[Reference Article]

Reference Paper

Introduction

The Linux network stack can hinder performance due to the additional processing bottlenecks in the NIC when it receives packets. DPDK allows for packets to bypass the Linux network stack (seems to be a pattern with bypassing kernels or network stacks nowadays).

Linux Processing Packets

1. NIC receives packet
2. Sends it to RX (Receive Queue)
3. Copied to main memory through DMA (Direct Memory Access)
4. Pass data onto allocated buffer (per packet!) via interrupt

Problem 1: Resource Utilization per Packet is High (Step 4)

Problem 2: Complexity of Socket Buffer (Step 4)