perf tools: Add cgroup_is_v2() helper
[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 BPF Type Format (BTF)
16 =====================
17
18 .. toctree::
19    :maxdepth: 1
20
21    btf
22
23
24 Frequently asked questions (FAQ)
25 ================================
26
27 Two sets of Questions and Answers (Q&A) are maintained.
28
29 .. toctree::
30    :maxdepth: 1
31
32    bpf_design_QA
33    bpf_devel_QA
34
35 Syscall API
36 ===========
37
38 The primary info for the bpf syscall is available in the `man-pages`_
39 for `bpf(2)`_. For more information about the userspace API, see
40 Documentation/userspace-api/ebpf/index.rst.
41
42 Helper functions
43 ================
44
45 * `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
46
47
48 Program types
49 =============
50
51 .. toctree::
52    :maxdepth: 1
53
54    prog_cgroup_sockopt
55    prog_cgroup_sysctl
56    prog_flow_dissector
57    bpf_lsm
58    prog_sk_lookup
59
60
61 Map types
62 =========
63
64 .. toctree::
65    :maxdepth: 1
66
67    map_cgroup_storage
68
69
70 Testing and debugging BPF
71 =========================
72
73 .. toctree::
74    :maxdepth: 1
75
76    drgn
77    s390
78
79
80 Other
81 =====
82
83 .. toctree::
84    :maxdepth: 1
85
86    ringbuf
87
88 .. Links:
89 .. _networking-filter: ../networking/filter.rst
90 .. _man-pages: https://www.kernel.org/doc/man-pages/
91 .. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
92 .. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
93 .. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/