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 #
The first public XDPBridge release is planned for Q1 2025.
XDPBridge will be available at no cost with a trial license for a unspecified period of time (there is no need and also no possibility to purchase a registered license) - natively for the following Linux distributions:
- RHEL 9
- Alma 9
- Rocky 9
- CentOS Stream 9
- Debian 12
- Ubuntu 24 LTS