YaxeLB is a XDP based Load Balancer in eBPF. It is a very basic load balancer showing how XDP can be used to write LBs.
The configuration is a simple yaml file that where an example can be found in ./examples/config.yaml
Start the docker compose project that runs the load balancer as well as a set of backends.
make compose-upAccess the LoadBalancer from a client inside the docker network.docker compose exec client curl 10.0.0.2
The userspace component of the Loadbalancer sends out periodically health checks to the targets. If a target fails to respond 3 times it will be removed from the target pool.
The project contains tools to debug traffic using xdpdump, xdp-monitor and pwru.
You can use them with make xdpdump, make xdpmonitor or ./hack/pwru.sh.
This will build the utilities using docker and run them inside containers.