octave_libbpf is a GNU Octave wrapper around libbpf, the reference userspace library for loading and interacting with eBPF programs. It allows Octave m-code to open, verify, load, attach, pin and introspect eBPF objects, to read and write eBPF maps, to consume BPF ring buffers and perf buffers, and to inspect BTF type information. On top of that low level binding it ships a pure m-code eBPF toolchain: an instruction encoder/assembler, a BTF type encoder and an ELF64/BPF object writer, so complete eBPF programs and their maps can be authored directly in Octave without a C compiler. A small object-oriented layer (bpf.Object, bpf.Program, bpf.Map, bpf.Link, ...) makes the common workflows concise.
Maintainers: