eHDL: Turning eBPF/XDP Programs into Hardware Designs for the NIC
Alessandro Rivitti, Roberto Bifulco, Angelo Tulumello, Marco Bonola, Salvatore Pontarelli
Abstract
Scaling network packet processing performance to meet the increasing speed of network ports requires software programs to carefully leverage the network devices’ hardware features. This is a complex task for network programmers, who need to learn and deal with the heterogeneity of device architectures, and re-think their software to leverage them. In this paper we make first steps to reverse this design process, enabling the automatic generation of tailored hardware designs starting from a network packet processing program. We introduce eHDL, a high-level synthesis tool that automatically generates hardware pipelines from unmodified Linux’s eBPF/XDP programs. eHDL is designed to enable software developers to directly define and implement the hardware functions they need in the NIC. We prototype eHDL targeting a Xilinx Alveo U50 FPGA NIC, and evaluate it with a set of 5 eBPF/XDP programs. Our results show that the generated pipelines are efficient in terms of required hardware resources, using only 6.5%-13.3% of the FPGA, and always achieve the line rate forwarding throughput with about 1 microsecond of per-packet forwarding latency. Compared to other network-specific high-level synthesis tool, eHDL enables software programmers with no hardware expertise to describe stateful functions that operate on the entire packet data. Compared to alternative processor-based solutions that perform eBFP/XDP offloading to a NIC, eHDL provides 10-100x higher throughput.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers2
- Merlin: Multi-tier Optimization of eBPF Code for Performance and CompactnessJinsong Mao, Hailun Ding, Juan Zhai, Shiqing MaASPLOS 2024 · 15 citations
- pulse: Accelerating Distributed Pointer-Traversals on Disaggregated MemoryYupeng Tang, Seung-Seob Lee, Abhishek Bhattacharjee, Anurag KhandelwalASPLOS 2025 · 4 citations
Builds on3
- Efficient sparse collective communication and its application to accelerate distributed deep learningJiawei Fei, Chen-Yu Ho, Atal Narayan Sahu, Marco Canini et al.SIGCOMM 2021 · 120 citations
- Re-architecting Traffic Analysis with Neural Network Interface CardsGiuseppe Siracusano, Salvator Galea, Davide Sanvito, Mohammad Malekzadeh et al.NSDI 2022 · 99 citations
- Safe, modular packet pipeline programmingDevon Loehr, David WalkerPOPL 2022 · 6 citations
Related papers
- hXDP: Efficient Software Packet Processing on FPGA NICsMarco Spaziani Brunella, Giacomo Belocchi, Marco Bonola, Salvatore Pontarelli et al.OSDI 2020 · 25 citations
- Faster Software Packet Processing on FPGA NICs with eBPF Program WarpingMarco Bonola, Giacomo Belocchi, Angelo Tulumello, Marco Spaziani Brunella et al.USENIX ATC 2022 · 4 citations
- HyperCom: Enabling High Performance and Composable Data Structures for Software Network Functions with eBPFBin Yang, Dian Shen, Hanlin Yang, Lunqi Zhao et al.INFOCOM 2025
- Synthesizing safe and efficient kernel extensions for packet processingQiongwen Xu, Michael D. Wong, Tanvi Wagle, Srinivas Narayana et al.SIGCOMM 2021 · 30 citations
- Switch Code Generation Using Program SynthesisXiangyu Gao, Taegyun Kim, Michael D. Wong, Divya Raghunathan et al.SIGCOMM 2020 · 51 citations
