Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.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 `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
18 BPF Type Format (BTF)
19 =====================
20
21 .. toctree::
22    :maxdepth: 1
23
24    btf
25
26
27 Frequently asked questions (FAQ)
28 ================================
29
30 Two 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
39 Program types
40 =============
41
42 .. toctree::
43    :maxdepth: 1
44
45    prog_cgroup_sysctl
46    prog_flow_dissector
47
48
49 .. Links:
50 .. _Documentation/networking/filter.txt: ../networking/filter.txt
51 .. _man-pages: https://www.kernel.org/doc/man-pages/
52 .. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html
53 .. _BPF and XDP Reference Guide: http://cilium.readthedocs.io/en/latest/bpf/