Rendezvous Hashing
 
 

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.