2

如果我理解得很好,有不同的 ebpf 加载器:

  • bpf_load.c 进入内核源代码
  • libbpf
  • bpftool
  • tc
  • ... <-- 其他人?

它们之间的主要区别是什么?它们总是可以互换吗?我应该总是更喜欢 libbpf 吗?

4

1 回答 1

4

在他们的最新版本中,bpftoolbccbpf_load.c使用 libbpf。因此tc,iproute2 使用自己的 BPF 系统调用包装器

libbpf 和 iproute2 自己的包装器之间的 API 可能存在差异。您应该更喜欢 libbpf,因为它正在成为标准(我认为它也计划在 iproute2 中使用它)。

于 2019-08-27T08:00:55.850 回答