我刚刚从内核编译了 BPF 示例tools/testing/selftests/bpf
并尝试按照http://cilium.readthedocs.io/en/v0.10/bpf/中的说明进行加载:
% tc filter add dev enp0s1 ingress bpf \
object-file ./net-next.git/tools/testing/selftests/bpf/sockmap_parse_prog.o \
section sk_skb1 verbose
Program section 'sk_skb1' not found in ELF file!
Error fetching program/map!
这发生在内核 4.4.0-98 的 Ubuntu 16.04.3 LTS 上,llvm
并且clang
从包安装的版本 3.8iproute2
是来自 github 的最新版本。
我怀疑我遇到了一些工具链/内核版本/功能不匹配的问题。
我究竟做错了什么?