development
 
 

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.