Merge tag 'for-5.15-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[linux-block.git] / Documentation / bpf / index.rst
CommitLineData
4712c1b2 1=================
6919bcc8 2BPF Documentation
4712c1b2
JDB
3=================
4
5This directory contains documentation for the BPF (Berkeley Packet
6Filter) facility, with a focus on the extended BPF version (eBPF).
7
ffba964e 8This kernel side documentation is still work in progress. The main
4712c1b2 9textual documentation is (for historical reasons) described in
ffba964e
TY
10:ref:`networking-filter`, which describe both classical and extended
11BPF instruction-set.
4712c1b2
JDB
12The Cilium project also maintains a `BPF and XDP Reference Guide`_
13that goes into great technical depth about the BPF Architecture.
14
f42cfb46
GS
15libbpf
16======
17
bb571649 18Documentation/bpf/libbpf/libbpf.rst is a userspace library for loading and interacting with bpf programs.
f42cfb46 19
ffcf7ce9
YS
20BPF Type Format (BTF)
21=====================
22
23.. toctree::
24 :maxdepth: 1
25
26 btf
4712c1b2
JDB
27
28
29Frequently asked questions (FAQ)
30================================
31
32Two sets of Questions and Answers (Q&A) are maintained.
33
b3d40f63
TH
34.. toctree::
35 :maxdepth: 1
4712c1b2 36
b3d40f63
TH
37 bpf_design_QA
38 bpf_devel_QA
4712c1b2 39
6197e5b7
JS
40Syscall API
41===========
42
43The primary info for the bpf syscall is available in the `man-pages`_
44for `bpf(2)`_. For more information about the userspace API, see
45Documentation/userspace-api/ebpf/index.rst.
4712c1b2 46
a62f68c1
JS
47Helper functions
48================
49
50* `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
51
52
da703149
AI
53Program types
54=============
55
56.. toctree::
57 :maxdepth: 1
58
0c51b369 59 prog_cgroup_sockopt
da703149 60 prog_cgroup_sysctl
80695946 61 prog_flow_dissector
4dece7f3 62 bpf_lsm
07ff4f01 63 prog_sk_lookup
da703149
AI
64
65
4e15f460
YZ
66Map types
67=========
68
69.. toctree::
70 :maxdepth: 1
71
72 map_cgroup_storage
73
74
8c061865
AI
75Testing and debugging BPF
76=========================
7e07e7ae
IL
77
78.. toctree::
79 :maxdepth: 1
80
8c061865 81 drgn
7e07e7ae
IL
82 s390
83
84
5fe52b38
DA
85Other
86=====
87
88.. toctree::
89 :maxdepth: 1
90
91 ringbuf
fc8c262e 92 llvm_reloc
5fe52b38 93
4712c1b2 94.. Links:
ffba964e 95.. _networking-filter: ../networking/filter.rst
4712c1b2 96.. _man-pages: https://www.kernel.org/doc/man-pages/
ffba964e 97.. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
a62f68c1 98.. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
ffba964e 99.. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/