EBPF — опрос/ожидание пользовательского пространства в XDPLinux

Ответить
Anonymous
 EBPF — опрос/ожидание пользовательского пространства в XDP

Сообщение Anonymous »

В моей программе eBPF XDP я хочу получить пакет, отправить некоторую информацию о пакете в пространство пользователя и дождаться решения о том, что делать с пакетом.
Мой код выглядит следующим образом:

Код: Выделить всё

while (packet.decision == NO_DECISION) {
poll_userspace(packet);
}

return packet.decision;
Конечно, этот код не проходит проверку, поскольку цикл не связан.
Я рассмотрел несколько решений:
  • Ограничьте количество итераций и отбросьте пакет, если пользовательское пространство не вернуло решение за это время.
  • Ограничьте количество итераций и (каким-то образом) запланировать повторную обработку пакета позже, если предел достигнуто.
Является ли опрос пользовательского пространства для принятия решения разумным архитектурным решением для программы XDP eBPF?
Если Итак, как же реализовать такой тип опроса/ожидания на практике, учитывая ограничения, налагаемые верификатором?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ace-in-xdp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»