Rust 虚拟机和用于 eBPF 程序的 JIT 编译器
Rust (用户空间) eBPF 虚拟机
此箱子中包含一个用于执行 eBPF 程序的虚拟机。BPF(即 Berkeley Packet Filter)是一种类似汇编语言,最初是为 BSD 系统开发的,目的是使用 tcpdump 等工具在内核中过滤包,以避免向用户空间中不必要的复制。它已被移植到 Linux,并演变为 eBPF(扩展 BPF),这是一个具有更多功能的更快版本。虽然 BPF 程序最初是用于在内核中运行,但此箱子的虚拟机可让其在用户空间应用程序中运行;它包含一个解释器、一个用于 eBPF 程序的 x86_64 JIT 编译器以及一个反汇编器。
它基于 Rich Lane 的 uBPF 软件,功能几乎相同,但使用 C 语言编写。这个 crate 可以在 Linux、MacOS X 和 Windows 上编译和运行,尽管 JIT 编译器目前不支持 Windows。
当然,如果您愿意,可以在本地克隆它,可能会修改 crate,然后在 Cargo.toml 中指定本地版本的路径:
[dependencies] [dependencies] [dependencies]
暂无开放 Issues,或尚未同步最近议题。