分类 BPF 中的文章

Linus 强势拍板 6.11 合入: BPF 赋能调度器终成正果

本文地址:https://www.ebpf.top/post/bpf_sched_ext 1. 插拔调度器的萌芽【2004 年】 在 2004 年,Linux 社区的 Con Kolivas 提出了可插拔式调度器想法,旨在让内核中存在多个调度器,用户可在引导时选择。提交 patch 的工作原理是将大量代码拆分为 kernel/sched.c 公共部分和私有部分,同……

阅读全文

BPF 跟踪机制之原始跟踪点 rawtracepoint 介绍、使用和样例

本文地址:https://www.ebpf.top/post/bpf_rawtracepoint 1. eBPF Trace 跟踪常见的 Hook 类型 2. BPF 原始跟踪点 rawtracepoint 2.1 跟踪性能优化提升 20% 2.2 rawtracepoint 跟踪事件查看及数量统计 2.3 传递参数变化 3. BPF 程序中使用 rawtracepoint 样例 3.1 libbpf 库 (基于 CO-RE) 3.2 bpftrace 样例代码 参考 1. eBPF Trace 跟踪常见的 Hook 类型 通过……

阅读全文

BPF 管理器 bpfman 简介

本文地址:https://www.ebpf.top/post/bpfman_fedora_40 1. 背景 2. bpfman 介绍 3. 单机部署流程 4. Kubernetes 集群部署流程 5. 总结 附录:bpfman 单机验证 开发环境搭建 下载代码和编译 bpfman 测试程序管理功能 1. 背景 Fedora 40 提案建议将 bpfman 作为默认的程序管理器 ,开源项目 bpfman 可以实现对 eBPF……

阅读全文

2024 年 eBPF 和网络趋势预测

本文地址:https://www.ebpf.top/post/network_and_bpf_2024 1. eBPF 1.1 eBPF 将继续呈指数增长 1.2 eBPF 应用市场 1.3 eBPF 在手机中得到更广泛的应用 1.4 eBPF 滥用带来的风险 2. 可观测 2.1 最受欢迎的可观测性 2.2 降低可观测性开销 2.3 上下文感知的 Kubernetes 工作负载 2.4 AI 助力网络排查 3. 网络 3.1 与……

阅读全文

使用 libbpf 编写 BPF 应用程序进阶技巧

程序框架(skeleton) 合并 open 和 loader 阶段 选择性附着 (attach) 自定义 load 和 attach 同一事件的多 BPF 处理程序 Map 减少预分配(pre-allocation)开销 运行时确定 map 大小 Per-CPU 全局变量 注意直接通过指针访问字段 结论 本文地址:https://www.ebpf.top/post/top_and……

阅读全文

BPF 程序与信号交互大揭秘

本文地址 : https://www.ebpf.top/post/how-ebpf-interacts-signals 原文:Signaling from within: how eBPF interacts with signals 1. 背景 2. 动机 3. 场景:拦截 openat(2) 4. 内核如何处理 SIGKILL 信号? 5. 什么信号要后置处理 6. 通过 BPF程序触发 SIGKILL 7. 自愿信号检查 8. open & write 操作竞争(Racing) 9. 其他影响 10. 结论 本文探讨了 eBPF 程序生成的 UNIX 信号的一些语义。 1. 背景 信号自 1971 年 UNIX 第一版问世以来就一直……

阅读全文

LSM BPF 实践

本文地址:https://www.ebpf.top/post/lsm_bpf_intro 1. 安全背景知识 2. 内核安全策略模块通用框架 LSM 2.1 LSM 框架介绍 2.2 LSM 架构 2.3 LSM 中的钩子函数 3. LSM BPF 3.1 BCC 实践 3.2 libbpf-bootstrap 框架实践 4. 总结 5. 附录:LSM 热修内核漏洞查找 hook 点过程 1. 安全背景知识 国际上对计算机安全概括了三个特……

阅读全文

Cisco 将收购 Cilium 母公司 Isovalent,预计 2024 年第 3 季度完成

本文地址:https://www.ebpf.top/post/cisco_and_isovalent 2023 年 12 月 21 日,Isovalent 公司 CTO & 联合创始人 Thomas Graf 和 Cisco 安全业务集团高级副总裁兼总经理 Tom Gillis 分别在各自公司网站公布了思科打算收购 Isovalent 公司的计划,双方都没有公布收购的价格。收购完成后,……

阅读全文

eBPF 进阶: 内核新特性进展一览

本文地址:https://www.ebpf.top/post/ebpf_and_kernel_feature BPF kfuncs Bloom Filter Map:5.16 Compile Once – Run Everywhere:Linux 5.17 [内核空间] bpf_loop() 辅助函数:5.17 BPF_LINK_TYPE_KPROBE_MULTI:5.18 动态指针和类……

阅读全文