Мне нужно написать приложение, которое размещается между двумя серверами и изменяет HTTP-пакеты, отправляемые с одного сервера на другой, добавляя определенный HTTP-заголовок к каждому пакету.
По-видимому, это должно быть сделано как можно быстрее, я обнаружил, что с помощью eBFP и XDP я могу захватывать пакеты с высокой производительностью, но, насколько я вижу, вердикты XDP: abort, drop, pass и ТХ .
Используя вердикт tx , я могу отправить захваченный пакет в программу пространства пользователя, чтобы изменить его, но я не мог понять, как отправить пакет после модификации заголовка? Это видео здесь является объяснением того, что можно сделать с использованием eBPF и XDP, и в нем говорится, что это можно сделать, но я не смог выяснить, как.
Любая помощь будет оценена.