What is this? #
XDPBridge is an Ethernet bridge utilizing XDP, the Linux eXpress Data Path and its address family AF_XDP. As a Proof of Concept and performance testing tool it allows to explore the speed of raw Ethernet bridging with AF_XDP.
What is AF_XDP? #
AF_XDP is a raw socket optimized for high performance packet processing and allows zero-copy between kernel and applications. As the socket can be used for both receiving and transmitting, it supports high performance network applications purely in user space.
Further Information and Links #
- https://www.kernel.org/doc/html/latest/networking/af_xdp.html
- https://en.wikipedia.org/wiki/Express_Data_Path
- https://ebpf-docs.dylanreimerink.nl/linux/concepts/af_xdp/
Features #
During its operation XDPBridge collects various information using lockless atomic data structures and interactively provides the following statistics and counters:
- A source MAC address cumulative statistic with their total packet count.
- An Ethertype usage statistic.
- An overview of VLAN usage up to a nesting level of 4 (802.1q/0x8100 and QinQ 802.1ad/0x88a8).
- An OUI/vendor statistic with their observed packet counts (/24)
Availability #
XDPBridge is an internal R&D project.
Linux Distributions #
- RHEL 9
- Alma 9
- Rocky 9
- CentOS Stream 9
- Debian 12
- Ubuntu 24 LTS