Программная реализация компонента на XDP (eBPF), отвечающего на NDP для IPv6 и ARP

Индустриальные проекты
Актуальность
Существует набор серверов которые занимаются обработкой трафика с логикой реализованный на XDP, данные сервера разделяют один общий виртуальный IP адрес. Для обеспечения сетевой связности необходимо, чтобы данные сервера отвечали на ARP и NDP сообщения адресованные их виртуальному IP адресу. Выполнение XDP программы происходит ещё до обработки сетевым стеком ядра Linux, что позволяет достичь более высокой пропускной способности с меньшим потреблением ресурсов.
Проблема
На текущий момент на ARP и NDP пакеты отвечает сетевой стек ядра Linux, для этого приходится добавлять виртуальный IP в систему, что избыточно для некоторых кейсов и менее эффективно. Инструменты: Любая IDE с подсветкой синтаксиса для языка C (VsCode, QtCreator, Clion, vim :) ) Компилятор clang Виртуальная машина с Linux и версией ядра > 5.10
Цель
Исходный код на языке C.
Задачи
Реализовать программный компонент на подмножестве языка C. Который будет собран в XDP программу решающий вышеизложенные проблемы.
Результат
Код должен выполнять свою задачу.
Партнёры проекта
ООО «РВБ»
***
Made on
Tilda