index.rst 1.7 KB

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