Это руководство помогает разработчикам пройти процесс реализации простого балансировщика нагрузки XDP (eXpress Data Path) с использованием eBPF (Extended Berkeley Packet Filter). Проект использует возможности ядра Linux для создания высокоэффективного сетевого приложения. Код определяет балансировщик нагрузки, который прослушивает входящие сетевые пакеты, вычисляет хеш на основе исходного IP-адреса и порта пакета и направляет пакет на соответствующий сервер. Логика программы XDP включает в себя первоначальные проверки Ethernet-рамок, IP-пакетов и протокола TCP и обрабатывает пакеты от клиентов и серверов по-разному. Код пользовательского пространства парсит аргументы командной строки для конфигурации сервера и настраивает балансировщик нагрузки.
dev.to
eBPF Developer Tutorial: XDP Load Balancer