xref: /openbmc/linux/Documentation/bpf/index.rst (revision 76426e23)
1=================
2BPF Documentation
3=================
4
5This directory contains documentation for the BPF (Berkeley Packet
6Filter) facility, with a focus on the extended BPF version (eBPF).
7
8This kernel side documentation is still work in progress.  The main
9textual documentation is (for historical reasons) described in
10`Documentation/networking/filter.txt`_, which describe both classical
11and extended BPF instruction-set.
12The Cilium project also maintains a `BPF and XDP Reference Guide`_
13that goes into great technical depth about the BPF Architecture.
14
15The primary info for the bpf syscall is available in the `man-pages`_
16for `bpf(2)`_.
17
18BPF Type Format (BTF)
19=====================
20
21.. toctree::
22   :maxdepth: 1
23
24   btf
25
26
27Frequently asked questions (FAQ)
28================================
29
30Two sets of Questions and Answers (Q&A) are maintained.
31
32.. toctree::
33   :maxdepth: 1
34
35   bpf_design_QA
36   bpf_devel_QA
37
38
39Program types
40=============
41
42.. toctree::
43   :maxdepth: 1
44
45   prog_cgroup_sockopt
46   prog_cgroup_sysctl
47   prog_flow_dissector
48   bpf_lsm
49
50
51Testing and debugging BPF
52=========================
53
54.. toctree::
55   :maxdepth: 1
56
57   drgn
58   s390
59
60
61.. Links:
62.. _Documentation/networking/filter.txt: ../networking/filter.txt
63.. _man-pages: https://www.kernel.org/doc/man-pages/
64.. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html
65.. _BPF and XDP Reference Guide: http://cilium.readthedocs.io/en/latest/bpf/
66