[−][src]Crate solana_rbpf
Virtual machine and JIT compiler for eBPF programs.
Modules
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 |
helpers | This module implements some built-in helpers that can be called from within an eBPF program. |
insn_builder | Module provides API to create eBPF programs by Rust programming language |
memory_region | This module defines memory regions |
user_error | This module defines an example user error definition |
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). |
Structs
EbpfVm | A virtual machine to run eBPF program. |
Type Definitions
JitProgram | eBPF Jit-compiled program. |
Verifier | eBPF verification function that returns an error if the program does not meet its requirements. |