This directory contains documentation for the BPF (Berkeley Packet Filter) facility, with a focus on the extended BPF version (eBPF).
This kernel side documentation is still work in progress. The main textual documentation is (for historical reasons) described in Documentation/networking/filter.txt, which describe both classical and extended BPF instruction-set. The Cilium project also maintains a BPF and XDP Reference Guide that goes into great technical depth about the BPF Architecture.
The primary info for the bpf syscall is available in the man-pages for bpf(2).
.. toctree:: :maxdepth: 1 btf
Two sets of Questions and Answers (Q&A) are maintained.
.. toctree:: :maxdepth: 1 bpf_design_QA bpf_devel_QA
.. toctree:: :maxdepth: 1 prog_cgroup_sockopt prog_cgroup_sysctl prog_flow_dissector