Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 1 | ================= |
Tobin C. Harding | 6919bcc | 2018-07-26 15:03:05 +1000 | [diff] [blame] | 2 | BPF Documentation |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 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 | `Documentation/networking/filter.txt`_, which describe both classical |
| 11 | and extended 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 | |
Yonghong Song | ffcf7ce | 2019-01-18 13:56:49 -0800 | [diff] [blame] | 18 | BPF Type Format (BTF) |
| 19 | ===================== |
| 20 | |
| 21 | .. toctree:: |
| 22 | :maxdepth: 1 |
| 23 | |
| 24 | btf |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 25 | |
| 26 | |
| 27 | Frequently asked questions (FAQ) |
| 28 | ================================ |
| 29 | |
| 30 | Two sets of Questions and Answers (Q&A) are maintained. |
| 31 | |
Tobin C. Harding | b3d40f6 | 2018-07-26 15:03:03 +1000 | [diff] [blame] | 32 | .. toctree:: |
| 33 | :maxdepth: 1 |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 34 | |
Tobin C. Harding | b3d40f6 | 2018-07-26 15:03:03 +1000 | [diff] [blame] | 35 | bpf_design_QA |
| 36 | bpf_devel_QA |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 37 | |
| 38 | |
Andrey Ignatov | da70314 | 2019-04-17 22:28:57 -0700 | [diff] [blame] | 39 | Program types |
| 40 | ============= |
| 41 | |
| 42 | .. toctree:: |
| 43 | :maxdepth: 1 |
| 44 | |
Stanislav Fomichev | 0c51b36 | 2019-06-27 13:38:54 -0700 | [diff] [blame] | 45 | prog_cgroup_sockopt |
Andrey Ignatov | da70314 | 2019-04-17 22:28:57 -0700 | [diff] [blame] | 46 | prog_cgroup_sysctl |
Stanislav Fomichev | 8069594 | 2019-04-18 16:47:52 -0700 | [diff] [blame] | 47 | prog_flow_dissector |
Andrey Ignatov | da70314 | 2019-04-17 22:28:57 -0700 | [diff] [blame] | 48 | |
| 49 | |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 50 | .. Links: |
Jesper Dangaard Brouer | 4712c1b | 2018-05-14 15:42:12 +0200 | [diff] [blame] | 51 | .. _Documentation/networking/filter.txt: ../networking/filter.txt |
| 52 | .. _man-pages: https://www.kernel.org/doc/man-pages/ |
| 53 | .. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html |
| 54 | .. _BPF and XDP Reference Guide: http://cilium.readthedocs.io/en/latest/bpf/ |