Классическая простая статистика BPF недоступна?

Я играл с классическим BPF, чтобы отфильтровать что-то в сокете netlink, и обнаружил, что нет простой статистики, доступной для проверки того, был ли пакет отброшен или разрешен.

Поэтому я посмотрел на https://elixir.bootlin.com/linux/latest/source/net/core/filter.c#L90 и да, он выполняет программу фильтра bpf, но не обновляет ничего, что могло бы сказать мне в пользовательском пространстве (например, через /proc FS ) независимо от того, отбросил ли фильтр пакет или нет. Это упростило бы отладку фильтров cBPF.

Это ожидается, или я что-то упускаю?


person Mark    schedule 02.01.2019    source источник


Ответы (1)


Насколько я могу судить, вы правы, статистики, связанной с программами BPF, подключенными к сокетам, нет. Если вам нужна такая статистика, вам придется вычислить ее самостоятельно с помощью программы eBPF и карты.

Насколько я знаю, хук XDP — единственный хук, который идет со статистикой (через ethtool).

person pchaigno    schedule 02.01.2019