我试图弄清楚如何运行XDP代码:
#include <linux/bpf.h>
int main() {
return XDP_PASS;
}
我正在尝试让XDP丢弃所有数据包。 所以我将其编译为:
clang -target bpf -c xdp.c -o xdp.o
我的接口名称是enp5s0。
因此,我尝试通过键入以下命令将代码附加到该接口:
ip -force link set dev enp5s0 xdpdrv obj xdp.o sec .text
然后我得到以下错误:
mkdir /sys/fs/bpf/tc/ failed: Permission denied
Continuing without mounted eBPF fs. Too old kernel?
Prog section '.text' rejected: Operation not permitted (1)!
- Type: 6
- Instructions: 2 (0 over limit)
- License :
Verifier analysis:
Error fetching program/map!
,我不知道出什么问题了。。我试图获取XDP,并且已经尝试解决此问题三天了,但是没有结果。……如果您能,我将不胜感激伙计们会帮我的忙!
答案 0 :(得分:0)
可以检查内核版本吗?应该高于4.8