XDP
Хук в ядре Linux, запускающий eBPF-программу над пакетом как можно раньше — в драйвере, ещё до того, как ядро выделило собственную структуру пакета. Золотая середина между обычным сетевым стеком и DPDK.
Программа возвращает вердикт: XDP_DROP отбрасывает пакет, XDP_PASS передаёт его обычному стеку, XDP_TX отправляет обратно через тот же интерфейс, а XDP_REDIRECT — на другую карту или другой процессор. Поскольку решение принимается до любых выделений памяти, скромный сервер способен отбрасывать десятки миллионов пакетов в секунду, и потому XDP — первый выбор против объёмных DoS-атак. В отличие от DPDK ядро остаётся с вами: инструменты, брандмауэр и драйверы работают как обычно для пропущенного трафика. Самые известные пользователи — балансировщик Meta Katran и сетевой слой Cilium в Kubernetes.