Какие-нибудь программы BPF требуются для карты памяти? - PullRequest
0 голосов
/ 01 апреля 2019

Я пишу программу BPF sockmap , и мне было интересно, каковы требования такой программы. К sockmap может быть присоединен парсер и программа вердикта , поэтому мой вопрос заключается в том, требуется ли какая-либо из этих программ перед добавлением сокета на карту, и если обе они не требуются, каково поведение, когда любая из этих программ пропущена.

Несколько сбивающих с толку связанных утверждений, показывающих, почему у меня есть этот вопрос:

1 Ответ

0 голосов
/ 17 июля 2019

В текущей реализации sockmap для операции требуются как программа синтаксического анализа, так и программа вердикта. Есть место для оптимизации: если вы пропустите программу синтаксического анализа, skb->len должен быть возвращен по умолчанию, но, к сожалению, это еще не реализовано.

  • Нет другого способа программирования перенаправления, кроме вердикта программы. Это необходимо, без этого вы можете помещать программы в карту памяти, но ничего не произойдет, передача данных прекратится.

  • Больше похоже на присоединение программ парсера и вердикта к карте памяти. Они имеют смысл только в этом причинном порядке.

  • Да, это так. Таким образом, у вас должна быть программа парсера, даже с простой return skb->len.

...