【问题标题】:Main difference between ebpf loadersebpf 加载器之间的主要区别
【发布时间】:2019-12-31 08:08:45
【问题描述】:

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

  • bpf_load.c 进入内核源代码
  • libbpf
  • bpftool
  • tc
  • ...

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

【问题讨论】:

    标签: linux-kernel elf bpf ebpf iproute


    【解决方案1】:

    在其最新版本中,bpftoolbccbpf_load.c 使用 libbpf。 iproute2,因此tc,使用its own wrappers for BPF syscalls

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

    【讨论】:

    • 目前正在讨论将 iproute2 从其自己的包装器移动到 libbpf 的补丁集。 libbpf 的大多数替代品(在 C 中)都在这里,因为它们早于 libbpf,所以我同意,应该选择 libbpf。如果使用go或其他语言,那当然是另一回事了。
    • gobpf 依赖于使用 libbpf 的 bcc :-)
    • 哦!我不知道那个。
    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 2017-11-13
    • 1970-01-01
    • 2013-02-26
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多