Comparing UPF Dataplane I/O Modes in a Cloud-Native 5G Core: AF_PACKET, AF_XDP, CNDP, and DPDK on SD-Core BESS-UPF
arXiv:2608.14589
Abstract
The User Plane Function (UPF) carries all user-plane traffic in a 5G network, and its throughput depends on how packets move between the NIC and the application, that is, on the packet I/O mode. We compare four widely used modes, AF_PACKET, AF_XDP, the Cloud Native Data Plane (CNDP), and the Data Plane Development Kit (DPDK), on a single open-source UPF. Using SD-Core BESS-UPF deployed as a Charmed operator on Intel XXV710 NICs in Canonical Kubernetes, we run the same GTP-U/PDR/FAR/QER pipeline under each mode and change only the BESS port driver, so any difference is attributable to the I/O backend. For each mode we describe its architecture, datapath, memory model, and deployment requirements, and we measure throughput, latency, CPU usage, and stability; the deployment is also validated end-to-end against a disaggregated O-RAN 5G RAN with a commercial UE. On an XXV710/i40e testbed (NDR per RFC 2544) at 64 B, AF_PACKET reaches 0.25 Mpps, CNDP 5.52 and AF_XDP 6.47 Mpps at 2 workers, and DPDK 10.30 Mpps at 4 workers and 13.09 at 8, with the lowest latency (8.1 microseconds average). At matched worker counts the three kernel-bypass modes are within noise and AF_XDP leads per core; DPDK's advantage is a scaling-ceiling effect, since its native PMD over vfio-pci escapes the per-netdev AF_XDP socket limit that pins CNDP and AF_XDP at two workers, not a per-packet efficiency win. CNDP and AF_XDP are the cloud-native sweet spot when hugepages, vfio-pci, and isolated cores are unaffordable; DPDK is justified on dedicated hosts. We also document deployment pitfalls absent from synthetic benchmarks, including a Kubernetes limits.cpu mis-setting that silently halved DPDK throughput. The paper is a side-by-side reference for operators choosing a UPF dataplane mode in a cloud-native 5G deployment.
34 pages, 19 figures