Crate bvm_filter

Source
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§

EbpfVmFixedMbuff
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.
EbpfVmMbuff
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.
EbpfVmNoData
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.
EbpfVmRaw
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.
MemoryRegion
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.