分类 BPF 中的文章

使用 XDP 实现负载均衡器实战

本文地址:https://www.ebpf.top/post/xdp_lb_demo 本文作者:邱康 创建网络环境 SLB 集群路由 NAT模式 负载均衡算法 SLB 路由伪代码 随着 eBPF 的发展,我们已经可以将 eBPF/XDP 程序直接部署在普通服务器上来实现负载均衡,从而节省掉用于专门部署 LVS 的机器。 前文 分享了如何使用 xdp/ebpf 替……

阅读全文

BTF:实践指南

本文地址: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 内核中基于寄存器的虚拟机,可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不……

阅读全文

【译】2023 年 6 个值得关注的 eBPF 趋势

本文地址:https://www.ebpf.top/post/six-bpf-trends-for-2023 1. 前言 2. 2023 年 6 个 eBPF 趋势展望 2.1 用 eBPF 网络跟踪进行高性能的 HTTP 监测 2.2 网络功能进阶和 sidecar 优化 2.3 安全和恶意软件检测 2.4. 云的应用,事实上是超大规模的 2.5. 更深入的电信公司应用 2.6 BumbleBee 为更多的 eBPF 程序铺……

阅读全文

Rust Aya 框架编写 eBPF 程序

本文地址:https://www.ebpf.top/post/ebpf_rust_aya 1. 前言 2. Rust 开发环境搭建 2.1 创建 VM 虚拟机 2.2 安装 Rust 开发环境 2.3 安装 bpf-linker 依赖 和 bpftool 工具 3. Aya 向导创建 eBPF 程序 3.1 使用向导创建项目 3.2 编译 eBPF 程序 3.3 运行用户空间程序 4. 总结 参考 1. 前言 Linux 内核 6.1 版本中有一个非常引人注意的变化……

阅读全文

eBPF: 从 BPF to BPF Calls 到 Tail Calls

本站地址:https://www.ebpf.top/post/bpf2pbpf_tail_call 本文作者:李兆龙 (已经取得得原作者授权) 原文地址:https://blog.csdn.net/weixin_43705457/article/details/123474244 1. 引言……

阅读全文

BumbleBee: 如丝般顺滑构建、交付和运行 eBPF 程序

本文地址:https://www.ebpf.top/post/bumblebee 1. 前言 2. 构建和分发 eBPF 工具的挑战 3. BumbleBee 简介 3.1 构建 3.2 发布 3.3 运行 4. 完整体验 4.1 bee 安装 4.2 Bee init 生成 eBPF 程序脚手架 4.3 构建 eBPF 程序 4.4 发布 eBPF 程序 4.5 运行 eBPF 程序 5. 总结 6. 参考资料 1. 前言 不久前,Solo.io 公司在官网博客宣布了开源……

阅读全文

eBPF 与 Go,超能力组合(含视频)

本文地址:https://www.ebpf.top/post/ebpf_and_go 本文为 “Go 夜读” 分享的 “eBPF 与 Go 超能力组合” 的简单文字版本,完整视频可以在 Youtube 和 B 站观看,PPT 下载, 8.7M , Github 地址:DavadDi/bpf_demo B 站 #123 eBPF 与Go,超能力组合【Go 夜读】 Youtube #123 eBPF 与……

阅读全文

【译】聊聊对 BPF 程序至关重要的 vmlinux.h 文件

本文地址:https://www.ebpf.top/post/intro_vmlinux_h 1.1 前言 eBPF 是一项令人兴奋的强大技术,其允许开发者在 Linux 内核的核心处添加自定义代码功能,并且我们还可以通过编写简单的 C 或 Go 程序与加载到内核中的 eBPF 程序交互,用于加载或读取数据。运行在内核中的 BPF 程序……

阅读全文

揭秘 BPF map 前生今世

本文地址:https://www.ebpf.top/post/map_internal 1. 前言 众所周知,map 可用于内核 BPF 程序和用户应用程序之间实现双向的数据交换, 为 BPF 技术中的重要基础数据结构。 在 BPF 程序中可以通过声明 struct bpf_map_def 结构完成创建,这其实带给我们一种错觉,感觉这和普通的 C 语言变量……

阅读全文