Как я могу получить заголовочный файл bpf_helpers.h для моего ядра Linux? - PullRequest
2 голосов
/ 31 марта 2019

Я занимаюсь разработкой программы eBPF на компьютере с Ubuntu:

$ uname -a
Linux ubuntu-bionic 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Для этого мне понадобятся оба значения bpf.h для ряда определений bpf_helpers.h для определений вспомогательных функций. Я установил новое ядро ​​с заголовками:

apt-get update -y
apt-get install -y linux-image-4.18.0-16-generic linux-headers-4.18.0-16-generic

Заголовки включают bpf.h:

$ find /usr/src/linux-headers-4.18.0-16 -name bpf.h
/usr/src/linux-headers-4.18.0-16/include/uapi/linux/bpf.h
/usr/src/linux-headers-4.18.0-16/include/linux/bpf.h

но не bpf_helpers.h:

$ find /usr/src/linux-headers-4.18.0-16 -name bpf_helpers.h

Как я могу получить этот файл для своего ядра и почему он не включен в заголовки дистрибутива?

Я мог бы зарезервировать определенную версию ядра Linux или получить файл от master , но в дистрибутиве могли быть внесены изменения в апстрим, что делает это неудобным для меня.

1 Ответ

2 голосов
/ 31 марта 2019

bpf_helpers.h не не распространяется с заголовками ядра .Как предложено agg3l в комментариях, вы можете скопировать его из пакета linux-source Ubuntu .

...