Efficient and Flexible Virtual Machine Networking Through eBPF
summary
eBPF and XDP are used to move packet processing into the host and guest to cut copies and add configurable steering and offload; prototypes show raw numbers: traditional kernel path <2 Mpps, guest XDP fast redirect and vhost+XDP variants reach about 6.5 Mpps and a TAP+XDP path peaks near 11 Mpps. Implementation uses LLVM/clang JIT-built eBPF programs, map-based state, and XDP/TC hooks; it works but requires kernel helper coverage, map/offload semantics, zero-copy support and ring-layout changes before production.
AI-written summary · about
chapters (24)
- 0:00eBPF for VM networking
- 2:00VM networking challenges
- 3:20What is eBPF
- 5:10Compiling eBPF programs
- 6:50XDP basics
- 8:20Why XDP is efficient
- 10:10XDP for VM networking
- 12:00eBPF IP filtering
- 13:50Offloading VM load
- 14:40Minimizing VM CPU overhead
- 17:20Service chaining flow
- 18:30Handling device limits
- 20:00XDP with traditional stack
- 21:30XDP for Open vSwitch
- 23:00AF_XDP performance
- 25:10Virtualizing data paths
- 26:20Ring layouts with eBPF
- 27:50Prototyping eBPF offloads
- 29:20Deploying eBPF programs
- 30:50eBPF in VMs vs containers
- 32:20Q&A: XDP performance
- 34:00Q&A: XDP vs traditional
- 35:50Q&A: Kernel limits
- 36:40Closing remarks
related talks
32meBPF: BPF kernel infrastructure
16mElectrode: Accelerating Distributed Protocols with eBPF
46mConquering the Linux network stack: decapsulating packets with eBPF at 6Mpps+
21mHow to Use XDP and eBPF to Accelerate IPSec Throughput by 400%
15meTran: Extensible Kernel Transport with eBPF
28mLow-Latency, Deterministic Networking with Standard Linux using XDP Sockets
33mBringing packet queueing to XDP
26mFaster Software Packet Processing on FPGA NICs with eBPF Program Warping
