Crate uwcl_rbpf

source ·
Expand description

Virtual machine and JIT compiler for eBPF programs.

Modules

  • Aligned memory
  • This module translates eBPF assembly language to binary.
  • Call frame handler
  • 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.
  • This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions.
  • This module relocates a BPF ELF
  • This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions.
  • This module defines memory regions
  • Module provides API to create eBPF programs by Rust programming language
  • This module defines memory regions
  • Static Byte Code Analysis
  • This module implements some built-in syscalls that can be called from within an eBPF program.
  • This module defines an example user error definition
  • 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).
  • Virtual machine and JIT compiler for eBPF programs.

Macros