我知道该eBPF程序可以固定到/sys/fs/bpf(默认位置 small bpffs。例如使用bpftool:
$ bpftool prog load ./my_bpf.o /sys/fs/bpf/my_bpf
我期待这会返回内核open("/sys/fs/bpf/my_bpf")分配给我的文件描述符的值。my_bpf但是open()调用失败了,我认为它会返回-EINVAL。
在这种情况下,钉住的目的是什么?fd鉴于当前可能加载了很多 BPF 程序,我通常如何获得BPF 程序。我知道这libbpf允许fd从中检索id,但如果我没有id呢?