root@liulilte:~/dd# sudo xdp-loader load -m native eth0 ./xdp_pass_new.o libxdp: No bpffs found at /sys/fs/bpf libxdp: Can't use dispatcher without a working bpffs Attaching XDP program in native mode not supported - try SKB mode.
在WSL环境之中只能SKB模式挂在,不能零拷贝NATIVE模式(ZC),SKB模式指需要内核复制一份传入到内核后才能执行你的XDP驱动程序。
其次:
BPF未挂载。
解决方法:
bash
# 尝试手动挂载BPF文件系统
sudo mount -t bpf bpf /sys/fs/bpf/
# 再次尝试加载(先试native,再试skb)
sudo xdp-loader load -m native eth0 ./xdp_pass_new.o
sudo xdp-loader load -m skb eth0 ./xdp_pass_new.o
上述命令执行后,之下下面的命令检查BPF是否已经被挂在。
bash
mount | grep bpf
ls -la /sys/fs/bpf/