0

我目前正在尝试从这里运行 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中的 -submodule编译程序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- 但不幸的是没有任何改变

4

0 回答 0