用于构建和运行 BPF/eBPF 模块的 Rust 库
RedBPF ===== Rust eBPF 工具链。 # 概述 redbpf 项目是使用 Rust 构建 eBPF 程序的工具和库集合。 它包括: - redbpf - 一个用户空间库,可用于加载 eBPF 程序或访问 eBPF 映射。 - redbpf-probes - 一个 idiomatic Rust API,用于编写 eBPF 程序,这些程序可由 Linux 内核加载。 - redbpf-macros - redbpf-probes 的配套库,提供了在编写 eBPF 程序时便利的过程性宏。例如,#[map] 用于定义映射,#[kprobe] 用于定义可附加到内核函数的 BPF 程序。
cargo-bpf - 用于创建、构建和调试 eBPF 程序的 cargo 子命令
允许用户在 Rust 中编写 BPF 程序和用户空间程序
提供多种 BPF 映射类型
HashMap, PerCpuHashMap, LruHashMap, LruPerCpuHashMap, Array,
PerCpuArray, PerfMap, TcHashMap, StackTrace, ProgramArray,
SockMap, DevMap, RingBuf提供多种 BPF 程序类型
KProbe, KRetProbe, UProbe, URetProbe, SocketFilter, XDP,
StreamParser, StreamVerdict, TaskIter, SkLookup, Tracepoint提供用于声明各种类型的 BPF 程序和 BPF 映射的属性宏
#[kprobe], #[kretprobe], #[uprobe], #[uretprobe], #[xdp],
#[tc_action], #[socket_filter], #[stream_parser],
#[stream_verdict], #[task_iter], #[tracepoint]#[map]可以从 Linux 内核头文件或 vmlinux 的 BTF 生成 Rust 绑定
提供用于 BPF 程序和用户空间程序的 API,帮助用户编写 Rust 语法规范的代码
支持 BTF 映射
支持映射的锚定和从锚定中加载映射
支持 task 的 BPF 迭代器
允许用户编写 tc 操作的 BPF 程序,RedBPF 将这些程序编译成与 tc 命令兼容的 ELF 对象文件
提供 BPF 帮助函数的封装
提供异步 s
暂无开放 Issues,或尚未同步最近议题。