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. 引言……

阅读全文

告别 IPVS,拥抱 Cilium/XDP?

1. 架构 2. 启动独立 L4LB 3. 设置服务 4. 负载对比 4.1 结果 5. 生产环境流量验证 6. 总结 本文地址:https://www.ebpf.top/post/cilium-standalone-L4LB-XDP-zh Seznam.cz 是一家捷克技术公司,开发定制搜索引擎、广告平台、在线地图、内容管理系统,以及私有云服务、定……

阅读全文

一道思考题所引起动态跟踪 ‘学案’

本文地址:https://www.ebpf.top/post/ftrace_kernel_dynamic 1. 基础知识 1.1 默认编译 1.2 使用 -pg 选项 1.3 使用 -pg 和 -mfentry 选项 1.4 对内核进行验证 2. ftrace 中 kprobe 跟踪机制验证 3. 使用内核模块进行验证 3.1 使用 kallsyms_lookup_name 方式获取 3.2 直接使用内核函数地址(踩坑笔记,可跳过) 4. 使用 gdb + qemu……

阅读全文

eBPF+Ftrace 合璧剑指:no space left on device?

本文地址:https://www.ebpf.top/post/no_space_left_on_devices 1. ”no space left on device“ ??? 2. 问题分析及定位 2.1 初步锁定问题函数 2.2 定位问题根源 2.3 定位问题的根因 3. 代码流程与跟踪流程差异分析 4. 总结 5. 附录部分错误 参考资料 最近在生产环境中遇到……

阅读全文

Ubuntu 21.10 安装调试符号

本文地址:https://www.ebpf.top/post/ubuntu-21-10-dbgsym 1. 背景 2. 手动搜索下载安装 3. 使用第三方源安装 步骤 1:GPG 秘钥导入 步骤 2:添加仓库配置 步骤 3:更新安装包 步骤 4:安装调试符号包 步骤 5: 验证符号包已经成功安装 4. 源码安装及关联 5. 最终调测……

阅读全文

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 与……

阅读全文