Documentation/bpf/libbpf/program_types.rst

Source file repositories/reference/linux-study-clean/Documentation/bpf/libbpf/program_types.rst

File Facts

System
Linux kernel
Corpus path
Documentation/bpf/libbpf/program_types.rst
Extension
.rst
Size
30825 bytes
Lines
258
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

|                                           | ``BPF_CGROUP_INET_SOCK_CREATE``        | ``cgroup/sock_create``           |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``cgroup/sock``                  |           |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_CGROUP_INET_SOCK_RELEASE``       | ``cgroup/sock_release``          |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_CGROUP_SYSCTL``           | ``BPF_CGROUP_SYSCTL``                  | ``cgroup/sysctl``                |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_EXT``                     |                                        | ``freplace+`` [#fentry]_         |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_FLOW_DISSECTOR``          | ``BPF_FLOW_DISSECTOR``                 | ``flow_dissector``               |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_KPROBE``                  |                                        | ``kprobe+`` [#kprobe]_           |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``kretprobe+`` [#kprobe]_        |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``ksyscall+`` [#ksyscall]_       |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        |  ``kretsyscall+`` [#ksyscall]_   |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uprobe+`` [#uprobe]_           |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uprobe.s+`` [#uprobe]_         | Yes       |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uretprobe+`` [#uprobe]_        |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uretprobe.s+`` [#uprobe]_      | Yes       |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``usdt+`` [#usdt]_               |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``usdt.s+`` [#usdt]_             | Yes       |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_TRACE_KPROBE_MULTI``             | ``kprobe.multi+`` [#kpmulti]_    |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``kretprobe.multi+`` [#kpmulti]_ |           |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_TRACE_KPROBE_SESSION``           | ``kprobe.session+`` [#kpmulti]_  |           |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_TRACE_UPROBE_MULTI``             | ``uprobe.multi+`` [#upmul]_      |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uprobe.multi.s+`` [#upmul]_    | Yes       |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uretprobe.multi+`` [#upmul]_   |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uretprobe.multi.s+`` [#upmul]_ | Yes       |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_TRACE_UPROBE_SESSION``           | ``uprobe.session+`` [#upmul]_    |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``uprobe.session.s+`` [#upmul]_  | Yes       |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LIRC_MODE2``              | ``BPF_LIRC_MODE2``                     | ``lirc_mode2``                   |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LSM``                     | ``BPF_LSM_CGROUP``                     | ``lsm_cgroup+``                  |           |
+                                           +----------------------------------------+----------------------------------+-----------+
|                                           | ``BPF_LSM_MAC``                        | ``lsm+`` [#lsm]_                 |           |
+                                           +                                        +----------------------------------+-----------+
|                                           |                                        | ``lsm.s+`` [#lsm]_               | Yes       |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LWT_IN``                  |                                        | ``lwt_in``                       |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LWT_OUT``                 |                                        | ``lwt_out``                      |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LWT_SEG6LOCAL``           |                                        | ``lwt_seg6local``                |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LWT_XMIT``                |                                        | ``lwt_xmit``                     |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_NETFILTER``               |                                        | ``netfilter``                    |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_PERF_EVENT``              |                                        | ``perf_event``                   |           |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+

Annotation

Implementation Notes