]>
Commit | Line | Data |
---|---|---|
4712c1b2 | 1 | ================= |
6919bcc8 | 2 | BPF Documentation |
4712c1b2 JDB |
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 | ||
ffba964e | 8 | This kernel side documentation is still work in progress. The main |
4712c1b2 | 9 | textual documentation is (for historical reasons) described in |
ffba964e TY |
10 | :ref:`networking-filter`, which describe both classical and extended |
11 | BPF instruction-set. | |
4712c1b2 JDB |
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 | ||
ffcf7ce9 YS |
18 | BPF Type Format (BTF) |
19 | ===================== | |
20 | ||
21 | .. toctree:: | |
22 | :maxdepth: 1 | |
23 | ||
24 | btf | |
4712c1b2 JDB |
25 | |
26 | ||
27 | Frequently asked questions (FAQ) | |
28 | ================================ | |
29 | ||
30 | Two sets of Questions and Answers (Q&A) are maintained. | |
31 | ||
b3d40f63 TH |
32 | .. toctree:: |
33 | :maxdepth: 1 | |
4712c1b2 | 34 | |
b3d40f63 TH |
35 | bpf_design_QA |
36 | bpf_devel_QA | |
4712c1b2 JDB |
37 | |
38 | ||
a62f68c1 JS |
39 | Helper functions |
40 | ================ | |
41 | ||
42 | * `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs. | |
43 | ||
44 | ||
da703149 AI |
45 | Program types |
46 | ============= | |
47 | ||
48 | .. toctree:: | |
49 | :maxdepth: 1 | |
50 | ||
0c51b369 | 51 | prog_cgroup_sockopt |
da703149 | 52 | prog_cgroup_sysctl |
80695946 | 53 | prog_flow_dissector |
4dece7f3 | 54 | bpf_lsm |
07ff4f01 | 55 | prog_sk_lookup |
da703149 AI |
56 | |
57 | ||
4e15f460 YZ |
58 | Map types |
59 | ========= | |
60 | ||
61 | .. toctree:: | |
62 | :maxdepth: 1 | |
63 | ||
64 | map_cgroup_storage | |
65 | ||
66 | ||
8c061865 AI |
67 | Testing and debugging BPF |
68 | ========================= | |
7e07e7ae IL |
69 | |
70 | .. toctree:: | |
71 | :maxdepth: 1 | |
72 | ||
8c061865 | 73 | drgn |
7e07e7ae IL |
74 | s390 |
75 | ||
76 | ||
5fe52b38 DA |
77 | Other |
78 | ===== | |
79 | ||
80 | .. toctree:: | |
81 | :maxdepth: 1 | |
82 | ||
83 | ringbuf | |
84 | ||
4712c1b2 | 85 | .. Links: |
ffba964e | 86 | .. _networking-filter: ../networking/filter.rst |
4712c1b2 | 87 | .. _man-pages: https://www.kernel.org/doc/man-pages/ |
ffba964e | 88 | .. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html |
a62f68c1 | 89 | .. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html |
ffba964e | 90 | .. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/ |