Loading...
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.
9The Cilium project also maintains a `BPF and XDP Reference Guide`_
10that goes into great technical depth about the BPF Architecture.
11
12.. toctree::
13 :maxdepth: 1
14
15 verifier
16 libbpf/index
17 standardization/index
18 btf
19 faq
20 syscall_api
21 helpers
22 kfuncs
23 cpumasks
24 fs_kfuncs
25 programs
26 maps
27 bpf_prog_run
28 classic_vs_extended.rst
29 bpf_iterators
30 bpf_licensing
31 test_debug
32 clang-notes
33 linux-notes
34 other
35 redirect
36
37.. only:: subproject and html
38
39 Indices
40 =======
41
42 * :ref:`genindex`
43
44.. Links:
45.. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/
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:ref:`networking-filter`, which describe both classical and extended
11BPF 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
39Helper functions
40================
41
42* `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
43
44
45Program 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
56
57Map types
58=========
59
60.. toctree::
61 :maxdepth: 1
62
63 map_cgroup_storage
64
65
66Testing and debugging BPF
67=========================
68
69.. toctree::
70 :maxdepth: 1
71
72 drgn
73 s390
74
75
76Other
77=====
78
79.. toctree::
80 :maxdepth: 1
81
82 ringbuf
83
84.. Links:
85.. _networking-filter: ../networking/filter.rst
86.. _man-pages: https://www.kernel.org/doc/man-pages/
87.. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
88.. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
89.. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/