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.