github.com/cilium/ebpf@v0.15.1-0.20240517100537-8079b37aa138/docs/includes/glossary.md (about) 1 <!-- This snippet is automatically included on every page and takes care of automatically highlighting terminology. --> 2 *[Program]: Instructions that can be loaded and attached to one or more hooks in the Linux kernel. 3 *[Map]: Shared piece of memory between userspace and an eBPF program loaded into the kernel. 4 *[Link]: Connection between a Program and a hook/event in the kernel. 5 *[BTF]: BPF Type Format; a description of all data types present in the Linux kernel an eBPF object. 6 *[ELF]: Executable and Linkable Format, a container format used for compiled eBPF programs. 7 *[Spec]: Unrealized blueprint of an eBPF resource, e.g. MapSpec, ProgramSpec, btf.Spec. 8 *[CollectionSpec]: Bundle of ProgramSpecs, MapSpecs and a btf.Spec. Direct result of loading an eBPF ELF. 9 *[Collection]: Bundle of Maps and Programs that were loaded into the kernel. Direct result of instantiating (loading into the kernel) a CollectionSpec. 10 *[bpffs]: Birtual filesystem for 'pinning' references to eBPF resources in an familiar file hierarchy. Usually mounted at /sys/fs/bpf, but many individual instances can be mounted. 11 *[helper]: A piece of logic provided by the kernel. Read a map value, redirect a packet, etc. 12 *[kfunc]: An extensible evolution of the BPF helper mechanism. Can be dynamically provided by kernel modules. Not specified in UAPI. 13 *[XDP]: eXpress Data Path, a high-performance eBPF-powered data path. Only has a receive hook. 14 *[bpf2go]: Convenience utility to compile eBPF C using clang and generate a Go skeleton. 15 *[libbpf]: A library for writing kernel- and user space BPF programs in C, developed by the upstream Linux project. 16 *[qemu]: A popular virtual machine manager. 17 *[DCO]: Developer Certificate of Origin.