Module program

Module program 

Source

Structs§

BpfValue
DynamicTypeChecker
EbpfHelperImpl
EbpfProgram
An abstraction over an eBPF program and its registered helper functions.
FieldMapping
A mapping for a field in a struct where the original ebpf program knows a different offset and data size than the one it receives from the kernel.
HelperSet
Stores set of helpers for an eBPF program. The helpers are stored packed in a vector for fast access in the interpreter.
StaticTypeChecker
StructMapping

Enums§

NoMap
MapReference for EbpfProgramContext where maps are not used.

Traits§

ArgumentTypeChecker
BpfProgramContext
A context for a BPF program that’s compatible with eBPF and cBPF.
EbpfProgramContext
FromBpfValue
Trait that should be implemented for types that can be converted from BpfValue. Used to get a Packet when loading a value from the packet.
MapReference
A strong reference to an eBPF map held for the lifetime of an eBPF linked with the map. Can be converted to BpfValue, which is used by the program to identify the map when it calls map helpers.
Packet
Trait that should be implemented by packets passed to eBPF programs.
ProgramArgument
Trait that should be implemented for arguments passed to eBPF programs.
StaticHelperSet

Functions§

link_program
Rewrites the code to ensure mapped fields are correctly handled. Returns runnable EbpfProgram<C>.
link_program_dynamic
Same as above, but allows to check argument types in runtime instead of in link time.
link_program_internal
Rewrites the code to ensure mapped fields are correctly handled. Returns runnable EbpfProgram<C>.

Type Aliases§

FieldMappings
StructMappings