2018-05-14 15:42:12 +02:00
=================
2018-07-26 15:03:05 +10:00
BPF Documentation
2018-05-14 15:42:12 +02:00
=================
This directory contains documentation for the BPF (Berkeley Packet
Filter) facility, with a focus on the extended BPF version (eBPF).
2020-07-31 16:29:02 +08:00
This kernel side documentation is still work in progress. The main
2018-05-14 15:42:12 +02:00
textual documentation is (for historical reasons) described in
2020-07-31 16:29:02 +08:00
:ref: `networking-filter` , which describe both classical and extended
BPF instruction-set.
2018-05-14 15:42:12 +02:00
The Cilium project also maintains a `BPF and XDP Reference Guide`_
that goes into great technical depth about the BPF Architecture.
The primary info for the bpf syscall is available in the `man-pages`_
for `bpf(2)`_ .
2019-01-18 13:56:49 -08:00
BPF Type Format (BTF)
=====================
.. toctree ::
:maxdepth: 1
btf
2018-05-14 15:42:12 +02:00
Frequently asked questions (FAQ)
================================
Two sets of Questions and Answers (Q&A) are maintained.
2018-07-26 15:03:03 +10:00
.. toctree ::
:maxdepth: 1
2018-05-14 15:42:12 +02:00
2018-07-26 15:03:03 +10:00
bpf_design_QA
bpf_devel_QA
2018-05-14 15:42:12 +02:00
2020-08-13 11:08:07 -07:00
Helper functions
================
* `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
2019-04-17 22:28:57 -07:00
Program types
=============
.. toctree ::
:maxdepth: 1
2019-06-27 13:38:54 -07:00
prog_cgroup_sockopt
2019-04-17 22:28:57 -07:00
prog_cgroup_sysctl
2019-04-18 16:47:52 -07:00
prog_flow_dissector
2020-03-29 01:43:56 +01:00
bpf_lsm
2020-08-21 12:02:26 +02:00
prog_sk_lookup
2019-04-17 22:28:57 -07:00
2020-07-23 23:47:45 -05:00
Map types
=========
.. toctree ::
:maxdepth: 1
map_cgroup_storage
2020-03-24 11:51:35 -07:00
Testing and debugging BPF
=========================
2019-10-29 18:29:16 +01:00
.. toctree ::
:maxdepth: 1
2020-03-24 11:51:35 -07:00
drgn
2019-10-29 18:29:16 +01:00
s390
2020-07-18 13:51:04 -03:00
Other
=====
.. toctree ::
:maxdepth: 1
ringbuf
2018-05-14 15:42:12 +02:00
.. Links:
2020-07-31 16:29:02 +08:00
.. _networking-filter: ../networking/filter.rst
2018-05-14 15:42:12 +02:00
.. _man-pages: https://www.kernel.org/doc/man-pages/
2020-07-31 16:29:02 +08:00
.. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
2020-08-13 11:08:07 -07:00
.. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
2020-07-31 16:29:02 +08:00
.. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/