BTF:实践指南 2023年2月25日 | BPF-CORE BPF 本文地址:https://www.ebpf.top/post/btf-bpf-type-format 1. BPF 的常见限制 1.1 调试限制 1.2 可移植性 2. BTF 是什么? 3. BTF 快速入门 3.1 BPF 快速入门 3.1 BTF 和 CO-RE 4. 结论 BPF 是 Linux 内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不…… 阅读全文
【译】BTFGen: 让 eBPF 程序可移植发布更近一步 2022年4月2日 | BPF BPF-CORE BTF 本文地址:https://ebpf.top/post/btfgen-one-step-closer-to-truly-portable-ebpf-programs Mauricio 2022 2022/03/16 1. 问题所在 2. CO-RE (一次编译 - 到处运行) 3. BTFHub 4. BTFGen 4.1 内部实现细节 4.2 如何使用? 4.3 集成样例 4.4 限制 4.5 未来发展 5. 更多信息 6. 致谢…… 阅读全文
【译】聊聊对 BPF 程序至关重要的 vmlinux.h 文件 2022年1月22日 | BPF-CORE BPF 本文地址:https://www.ebpf.top/post/intro_vmlinux_h 1.1 前言 eBPF 是一项令人兴奋的强大技术,其允许开发者在 Linux 内核的核心处添加自定义代码功能,并且我们还可以通过编写简单的 C 或 Go 程序与加载到内核中的 eBPF 程序交互,用于加载或读取数据。运行在内核中的 BPF 程序…… 阅读全文
BPF BTF 详解 2021年9月24日 | BPF-CORE BTF 本文地址:https://www.ebpf.top/post/kernel_btf/ 英文文档:https://www.kernel.org/doc/html/latest/bpf/btf.html 1. 介绍 BTF(BPF 类型格式)是一种元数据格式,对与 BPF 程序 /map 有关的调试信息进行编码。…… 阅读全文
BCC 到 libbpf 的转换指南【译】 2021年6月15日 | BPF Foundation BPF-CORE [TOC] 译者注: BPF CO-RE 项目在未来将会是非常流行的技术,其让 BPF 编写的工具能够像用户编写的其他程序一样进行二进制分发,不再需要目标机器在 BCC 框架下的 llvm/clang/linux-dev 等包的安装,并且可以跨越不同版本的内核。唯一的要求是需要运行的程序的内核采用了支持 CONFIG_DEBUG_INFO_BTF 内核编译选项,可喜的是当前不少 Linux 发行版已经内置该参数编译,比…… 阅读全文
BPF 二进制文件:BTF,CO-RE 和 BPF 性能工具的未来【译】 2021年3月25日 | BPF Foundation BPF-CORE 作者: Brendan Gregg 1. 简述 BTF 和 CO-RE 这两项新技术为 BPF 成为价值十亿美元的产业铺平了道路。目前,有许多 BPF(eBPF)初创公司正在构建网络,安全性和性能产品(并且更多未浮出水面的),但是要求客户安装 LLVM,Clang 和内核头文件依赖(可能消耗超过100 MB的存储空间)是一个额外的负担。 BTF 和 CO-RE 在…… 阅读全文
[译] BPF 可移植性和 CO-RE(一次编译,到处运行)【转载】 2021年3月16日 | BPF Foundation BPF-CORE 译者序 译者: 赵亚楠 原文地址: http://arthurchiao.art/blog/bpf-portability-and-co-re-zh/ 本文翻译自 2020 年 Facebook 的一篇博客: BPF Portability and CO-RE, 作者 Andrii Nakryiko。 关于 BPF CO-RE 的目标,引用文中的一段总结就是: 作为一种简单的方式,帮助 BPF 开发者解决简单的移植性问题(例如读取结构体的字段),并且 作为一种不是最优,但可用的方式,帮助 BPF 开发者 解决复杂的移植…… 阅读全文