5G Performance Engineering — DPDK, eBPF, and Line-Rate Telecom · Pro
Vector Packet Processing (VPP), developed at Cisco and now under the FD.io Linux Foundation project, builds on a clever insight about CPU caches. When a worker thread processes one packet at a time through ten different functions (parse, route, ACL, NAT, etc.), each function's instruction footprint must be loaded into the i-cache on every packet — a 200 KB instruction footprint multiplied by 14 Mpps is a lot of i-cache traffic. VPP instead processes a vector of typically 256 packets through one node at a time. The route function executes once over 256 packets; the ACL function executes once…