Skip to content

Repository files navigation

Yet another XDP eBPF LoadBalancer

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

Get started locally

Start the docker compose project that runs the load balancer as well as a set of backends.

  1. make compose-up Access the LoadBalancer from a client inside the docker network.
  2. docker compose exec client curl 10.0.0.2

Healthchecks

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.

Debugging traffic

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.

About

A basic eBPF based XDP Load Balancer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages