[][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.