IXDP
 
 

RHPool - Rendezvous Hashing for fast DSR Load Balancing

June 12, 2025
development
algorithms, Rendezvous Hashing, C, bngx, IXDP

RHPool implements a Rendezvous Hash Pool, which holds multiple possible destinations (or servers) at a given time. For DSR load balancing (the intended purpose), a MAC address is mapped to the first 6 bytes in memory order, the remaining 2 bytes allow to insert the same MAC address multiple times. A combination of Linux/POSIX rwlocks and atomic uint64_t access allows a maximum of concurrency during regular operation.

xdptap - Fault Injection: Dropping Packets

May 25, 2025
development, projects, HOWTO
xdptap, IXDP, AF_XDP, libxdp, RPCL

Nobody working at network and data center operations usually likes packet loss, even just a small percentage of packet loss can have serious effects on overall quality, bandwidth and end user experience. xdptap allows to inject different networking faults when acting as a transparent bridge. This post explains how to configure packet loss generally and also selectively.

IXDP Packet Flow explained

April 19, 2025
development, configuration, projects
xdptap, bngx, IXDP, AF_XDP, libxdp, RPCL

IXDP is a layer above libxdp/AF_XDP which is responsible for XDP ring management operating with a set of interfaces in promiscuous mode. IXDP registers its specific set of RPCL functions (words) which allow to control and configure the IXDP packet processing layer. This posts explains the IXDP packet processing flow in general and outlines the related RPCL functions (words) for the different stages.