Merge branch 'for-5.11/intel-ish' into for-linus
[linux-2.6-microblaze.git] / Documentation / bpf / index.rst
1 =================
2 BPF Documentation
3 =================
4
5 This directory contains documentation for the BPF (Berkeley Packet
6 Filter) facility, with a focus on the extended BPF version (eBPF).
7
8 This kernel side documentation is still work in progress. The main
9 textual documentation is (for historical reasons) described in
10 :ref:`networking-filter`, which describe both classical and extended
11 BPF instruction-set.
12 The Cilium project also maintains a `BPF and XDP Reference Guide`_
13 that goes into great technical depth about the BPF Architecture.
14
15 The primary info for the bpf syscall is available in the `man-pages`_
16 for `bpf(2)`_.
17
18 BPF Type Format (BTF)
19 =====================
20
21 .. toctree::
22    :maxdepth: 1
23
24    btf
25
26
27 Frequently asked questions (FAQ)
28 ================================
29
30 Two 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
39 Helper functions
40 ================
41
42 * `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
43
44
45 Program types
46 =============
47
48 .. toctree::
49    :maxdepth: 1
50
51    prog_cgroup_sockopt
52    prog_cgroup_sysctl
53    prog_flow_dissector
54    bpf_lsm
55    prog_sk_lookup
56
57
58 Map types
59 =========
60
61 .. toctree::
62    :maxdepth: 1
63
64    map_cgroup_storage
65
66
67 Testing and debugging BPF
68 =========================
69
70 .. toctree::
71    :maxdepth: 1
72
73    drgn
74    s390
75
76
77 Other
78 =====
79
80 .. toctree::
81    :maxdepth: 1
82
83    ringbuf
84
85 .. Links:
86 .. _networking-filter: ../networking/filter.rst
87 .. _man-pages: https://www.kernel.org/doc/man-pages/
88 .. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
89 .. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
90 .. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/