AF_XDP не работает на ядре `4.18.0-25-generic`

В настоящее время я пытаюсь запустить AF_XDP-Tutorial отсюда: https://github.com/xdp-project/xdp-tutorial/tree/master/advanced03-AF_XDP

Я смог его скомпилировать, но если я попытаюсь поместить xdp-код в ядро ​​​​через:

sudo ./af_xdp_user --dev veth-basic02 --force

Я получаю эту ошибку:

ERROR: Can't setup AF_XDP socket "Operation not permitted"

Затем я проверил флаги ядра

CONFIG_BPF=y CONFIG_BPF_SYSCALL=y CONFIG_XDP_SOCKETS=y

в /boot/config-4.18.0-25-generic и они все там.

Поэтому в качестве следующего шага я попытался скомпилировать программу не с libbpf-подмодулем в репозитории xdp-tutorial, а с последней версией отсюда: https://github.com/libbpf/libbpf/tree/master/src

Но теперь, если я попытаюсь скомпилировать программу, я получу такой вывод:

cc -Wall -I../libbpf/src/build/usr/include/ -g -I../headers/ -L../libbpf/src -o af_xdp_user ../common/common_libbpf.o ../common /common_params.o ../common/common_user_bpf_xdp.o \ af_xdp_user.c -l:libbpf.a -lelf -lpthread /usr/bin/ld: ../libbpf/src/libbpf.a(libbpf.o): не определено ссылка на символ 'gzopen64@@ZLIB_1.2.3.3' /usr/bin/ld://lib/x86_64-linux-gnu/libz.so.1: ошибка при добавлении символов: DSO отсутствует в командной строке

Кто-нибудь может помочь?

Редактировать:

Выход sudo strace ./af_xdp_user --dev veth-basic02 --force:

https://pastebin.com/Pyj3NJ2m

Edit_2: С момента создания этого сообщения я обновился до ядра 5.3.0-28 - но, к сожалению, ничего не изменилось.


person binaryBigInt    schedule 20.02.2020    source источник
comment
Не могли бы вы попробовать sudo strace ./af_xdp_user --dev veth-basic02 --force и сообщить о результатах в исходном сообщении выше? Это должно сказать нам, какие именно системные вызовы терпят неудачу. Если у вас установлена ​​последняя версия strace (v5.3+), вы можете выполнить sudo strace -Z ./af_xdp_user --dev veth-basic02 --force, чтобы просмотреть только ошибочные системные вызовы.   -  person pchaigno    schedule 20.02.2020
comment
@pchaigno Спасибо, я добавил вывод в исходный пост.   -  person binaryBigInt    schedule 20.02.2020
comment
Я предполагаю, что это та же проблема, что и stackoverflow.com/questions/60322147/ и, следовательно, дубликат сейчас?   -  person pchaigno    schedule 20.02.2020
comment
Да, ты прав @pchaigno   -  person binaryBigInt    schedule 20.02.2020