gpt4 book ai didi

ubuntu - eBPF/XDP 无法在 Ubuntu 16.04.6 上编译

转载 作者:行者123 更新时间:2023-12-04 19:00:17 29 4
gpt4 key购买 nike

升级 Ubuntu 16.04 后,无法再编译 eBPF。 bpf.h文件缺少关键结构和 uapi似乎没有安装 header 。

示例代码:

#include <linux/bpf.h>

int main()
{
return XDP_DROP;
}

使用 clang -target bpf -O2 -c xdp.c -o xdp.o 编译

这将返回错误:
udp.c:13:12: error: use of undeclared identifier 'XDP_DROP'
return XDP_DROP;
^
1 error generated.
$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
$ uname -r
4.4.0-148-generic

没有提到XDP
$ grep -r XDP_DROP /usr/include
$ grep -r XDP_DROP /lib/modules/
$

有什么问题?

最佳答案

你的内核是 4.4.0-148,这太旧了,不能支持 XDP。 XDP 在 Linux 中引入 4.8 (见 this document)。

不确定您从哪个系统升级。如果可以,请尝试升级到 Ubuntu 18.04?或者尝试安装更新的内核(和相关的头文件)。

关于ubuntu - eBPF/XDP 无法在 Ubuntu 16.04.6 上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56327675/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com