Expand description
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
Structs§
- Ebpf
VmFixed Mbuff - A virtual machine to run eBPF program. This kind of VM is used for programs expecting to work on a metadata buffer containing pointers to packet data, but it internally handles the buffer so as to save the effort to manually handle the metadata buffer for the user.
- Ebpf
VmMbuff - A virtual machine to run eBPF program. This kind of VM is used for programs expecting to work on a metadata buffer containing pointers to packet data.
- Ebpf
VmNo Data - A virtual machine to run eBPF program. This kind of VM is used for programs that do not work with any memory area—no metadata buffer, no packet data either.
- Ebpf
VmRaw - A virtual machine to run eBPF program. This kind of VM is used for programs expecting to work directly on the memory area representing packet data.
- Memory
Region - memory region for bounds checking
Type Aliases§
- JitProgram
- eBPF Jit-compiled program.
- Verifier
- eBPF verification function that returns an error if the program does not meet its requirements.