{"repo":"qmonnet/rbpf","free":true,"listed":false,"github":"https://github.com/qmonnet/rbpf","clone":"git clone https://github.com/qmonnet/rbpf.git","description":"Rust virtual machine and JIT compiler for eBPF programs","language":"Rust","stars":1125,"topics":["jit-compiler","ebpf","ebpf-programs","rust","interpreter","packet-filtering","assembler","bpf"],"license":"Apache-2.0","category":"productivity","readme_excerpt":"rbpf Rust (user-space) virtual machine for eBPF Description Link to the crate API Example uses Building eBPF programs Build Features Feedback welcome! Questions / Answers Caveats To do list License Inspired by Other resources Description This crate contains a virtual machine for eBPF program execution. BPF, as in Berkeley Packet Filter , is an assembly-like language initially developed for BSD systems, in order to filter packets in the kernel with tools such as tcpdump so as to avoid useless copies to user-space. It was ported to Linux, where it evolved into eBPF ( extended BPF), a faster version with more features. While BPF programs are originally intended to run in the kernel, the virtual machine of this crate enables running it in user-space applications; it contains an interpreter, an x86 64 JIT-compiler for eBPF programs, as well as a disassembler. It is based on Rich Lane's uBPF software, which does nearly the same, but is written in C. The crate is supposed to compile and run on Linux, MacOS X, and Windows, although the JIT-compiler does not work with Windows at this time. Link to the crate This crate is available from crates.io, so it should work out of the box by adding it as a dependency in your Cargo.toml file: You can also use the development version from this GitHub repository. This should be as simple as putting this inside your Cargo.toml : Of course, if you prefer, you can clone it locally, possibly hack the crate, and then indicate the path of your local ver","default_branch":null,"files":null,"tree":[],"storefront":"/r/qmonnet","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/qmonnet/rbpf/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}