Expand description
Virtual machine and JIT compiler for eBPF programs.
Modules§
- aligned_
memory - Aligned memory
- assembler
- This module translates eBPF assembly language to binary.
- disassembler
- Functions in this module are used to handle eBPF programs with a higher level representation, for example to disassemble the code into a human-readable format.
- ebpf
- This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions.
- elf
- This module relocates a BPF ELF
- elf_
parser - Dependency-less 64 bit ELF parser
- error
- This module contains error and result types
- fuzz
- This module defines memory regions
- insn_
builder - Module provides API to create eBPF programs by Rust programming language
- interpreter
- Interpreter for eBPF programs.
- memory_
region - This module defines memory regions
- program
- Common interface for built-in and user supplied programs
- static_
analysis - Static Byte Code Analysis
- syscalls
- This module implements some built-in syscalls that can be called from within an eBPF program.
- verifier
- This “verifier” performs simple checks when the eBPF program is loaded into the VM (before it is interpreted or JIT-compiled). It has nothing to do with the much more elaborated verifier inside Linux kernel. There is no verification regarding the program flow control (should be a Direct Acyclic Graph) or the consistency for registers usage (the verifier of the kernel assigns types to the registers and is much stricter).
- vm
- Virtual machine for eBPF programs.
Macros§
- declare_
builtin_ function - Generates an adapter for a BuiltinFunction between the Rust and the VM interface