================= BPF documentation ================= 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)`_. Frequently asked questions (FAQ) ================================ Two sets of Questions and Answers (Q&A) are maintained. * QA for common questions about BPF see: bpf_design_QA_ * QA for developers interacting with BPF subsystem: bpf_devel_QA_ .. Links: .. _bpf_design_QA: bpf_design_QA.rst .. _bpf_devel_QA: bpf_devel_QA.rst .. _Documentation/networking/filter.txt: ../networking/filter.txt .. _man-pages: https://www.kernel.org/doc/man-pages/ .. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html .. _BPF and XDP Reference Guide: http://cilium.readthedocs.io/en/latest/bpf/