https://github.com/saiintbrisson/bepeefe
An eBPF VM with support for BTF, maps, a dead simple WIP verifier and more soon™
https://github.com/saiintbrisson/bepeefe
ebpf
Last synced: 4 months ago
JSON representation
An eBPF VM with support for BTF, maps, a dead simple WIP verifier and more soon™
- Host: GitHub
- URL: https://github.com/saiintbrisson/bepeefe
- Owner: saiintbrisson
- License: apache-2.0
- Created: 2024-04-15T19:41:57.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-02-05T13:28:15.000Z (5 months ago)
- Last Synced: 2026-02-06T00:40:20.992Z (5 months ago)
- Topics: ebpf
- Language: Rust
- Homepage:
- Size: 223 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BEPEEFE
BEPEEFE is a toy eBPF VM that doesn't do much. For now, at least. But executes (very simple) code. It supports the base32 [conformance group], divmul32, divmul64, most of the base64, and aims to implement others fully in the Near Future™.
Supports array maps for now, but not all operations. You can lookup stuff though, and atomically fetch and add. Maps are generated from parsed BTF information using the libbpf map style.
eBPF is a pretty complex tool with a pretty complex ecosystem. What better way to actually understand it other than implementing it yourself, right?
You can try it out with:
```shell
$ cargo run --example snake
```
[conformance group]: https://github.com/torvalds/linux/blob/master/Documentation/bpf/standardization/instruction-set.rst#114conformance-groups