hXDP: Efficient Software Packet Processing on FPGA NICs
summary
Describes hXDP, a system that runs Linux XDP eBPF programs on FPGA NICs by compiling and transforming eBPF bytecode into a custom extended eBPF ISA, implementing a soft CPU on the FPGA, and providing FPGA-based support for XDP maps and helpers. Shows that many eBPF instructions can be compressed, parallelized or removed for a purpose-built FPGA executor, letting their FPGA NIC prototype (156.25 MHz, ~15% FPGA resources) match high-end CPU throughput while reducing packet forwarding latency by about 10x.
AI-written summary · about
related talks
26mFaster Software Packet Processing on FPGA NICs with eBPF Program Warping
37mEfficient and Flexible Virtual Machine Networking Through eBPF
32meBPF: BPF kernel infrastructure
21mHow to Use XDP and eBPF to Accelerate IPSec Throughput by 400%
33mBringing packet queueing to XDP
19mGet start with XDP: write a network filter in 10m
28mLow-Latency, Deterministic Networking with Standard Linux using XDP Sockets
32mDemystifying eBPF - eBPF Firewall from scratch