* [PATCH bpf-next v1] docs/bpf: Add missing BPF program types to docs
@ 2024-09-11 14:59 Donald Hunter
2024-09-11 20:44 ` Andrii Nakryiko
0 siblings, 1 reply; 3+ messages in thread
From: Donald Hunter @ 2024-09-11 14:59 UTC (permalink / raw)
To: bpf, linux-doc, Alexei Starovoitov, Daniel Borkmann,
Andrii Nakryiko
Cc: Jonathan Corbet, Donald Hunter
Update the table of program types in the libbpf documentation with the
recently added program types.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
---
Documentation/bpf/libbpf/program_types.rst | 29 +++++++++++++++++++---
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/Documentation/bpf/libbpf/program_types.rst b/Documentation/bpf/libbpf/program_types.rst
index 63bb88846e50..fa80a82d5681 100644
--- a/Documentation/bpf/libbpf/program_types.rst
+++ b/Documentation/bpf/libbpf/program_types.rst
@@ -121,6 +121,8 @@ described in more detail in the footnotes.
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_LWT_XMIT`` | | ``lwt_xmit`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
+| ``BPF_PROG_TYPE_NETFILTER`` | | ``netfilter`` | |
++-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_PERF_EVENT`` | | ``perf_event`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE`` | | ``raw_tp.w+`` [#rawtp]_ | |
@@ -131,11 +133,23 @@ described in more detail in the footnotes.
+ + +----------------------------------+-----------+
| | | ``raw_tracepoint+`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
-| ``BPF_PROG_TYPE_SCHED_ACT`` | | ``action`` | |
+| ``BPF_PROG_TYPE_SCHED_ACT`` | | ``action`` [#tc_legacy]_ | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
-| ``BPF_PROG_TYPE_SCHED_CLS`` | | ``classifier`` | |
+| ``BPF_PROG_TYPE_SCHED_CLS`` | | ``classifier`` [#tc_legacy]_ | |
+ + +----------------------------------+-----------+
-| | | ``tc`` | |
+| | | ``tc`` [#tc_legacy]_ | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_NETKIT_PRIMARY`` | ``netkit/primary`` | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_NETKIT_PEER`` | ``netkit/peer`` | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_TCX_INGRESS`` | ``tc/ingress`` | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_TCX_EGRESS`` | ``tc/egress`` | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_TCX_INGRESS`` | ``tcx/ingress`` | |
++ +----------------------------------------+----------------------------------+-----------+
+| | ``BPF_TCX_EGRESS`` | ``tcx/egress`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_SK_LOOKUP`` | ``BPF_SK_LOOKUP`` | ``sk_lookup`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
@@ -155,7 +169,9 @@ described in more detail in the footnotes.
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_SOCK_OPS`` | ``BPF_CGROUP_SOCK_OPS`` | ``sockops`` | |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
-| ``BPF_PROG_TYPE_STRUCT_OPS`` | | ``struct_ops+`` | |
+| ``BPF_PROG_TYPE_STRUCT_OPS`` | | ``struct_ops+`` [#struct_ops]_ | |
++ + +----------------------------------+-----------+
+| | | ``struct_ops.s+`` [#struct_ops]_ | Yes |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
| ``BPF_PROG_TYPE_SYSCALL`` | | ``syscall`` | Yes |
+-------------------------------------------+----------------------------------------+----------------------------------+-----------+
@@ -209,5 +225,10 @@ described in more detail in the footnotes.
``a-zA-Z0-9_.*?``.
.. [#lsm] The ``lsm`` attachment format is ``lsm[.s]/<hook>``.
.. [#rawtp] The ``raw_tp`` attach format is ``raw_tracepoint[.w]/<tracepoint>``.
+.. [#tc_legacy] The ``tc``, ``classifier`` and ``action`` attach types are deprecated, use
+ ``tcx/*`` instead.
+.. [#struct_ops] The ``struct_ops`` attach format is ``struct_ops[.s]/<name>``, but name appears
+ to be ignored. The attachments are defined in a struct initializer that is
+ tagged with ``SEC(".struct_ops[.link]")``.
.. [#tp] The ``tracepoint`` attach format is ``tracepoint/<category>/<name>``.
.. [#iter] The ``iter`` attach format is ``iter[.s]/<struct-name>``.
--
2.45.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH bpf-next v1] docs/bpf: Add missing BPF program types to docs
2024-09-11 14:59 [PATCH bpf-next v1] docs/bpf: Add missing BPF program types to docs Donald Hunter
@ 2024-09-11 20:44 ` Andrii Nakryiko
2024-09-12 8:43 ` Donald Hunter
0 siblings, 1 reply; 3+ messages in thread
From: Andrii Nakryiko @ 2024-09-11 20:44 UTC (permalink / raw)
To: Donald Hunter
Cc: bpf, linux-doc, Alexei Starovoitov, Daniel Borkmann,
Andrii Nakryiko, Jonathan Corbet
On Wed, Sep 11, 2024 at 7:59 AM Donald Hunter <donald.hunter@gmail.com> wrote:
>
> Update the table of program types in the libbpf documentation with the
> recently added program types.
>
> Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
> ---
> Documentation/bpf/libbpf/program_types.rst | 29 +++++++++++++++++++---
> 1 file changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/bpf/libbpf/program_types.rst b/Documentation/bpf/libbpf/program_types.rst
> index 63bb88846e50..fa80a82d5681 100644
> --- a/Documentation/bpf/libbpf/program_types.rst
> +++ b/Documentation/bpf/libbpf/program_types.rst
> @@ -121,6 +121,8 @@ described in more detail in the footnotes.
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_LWT_XMIT`` | | ``lwt_xmit`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> +| ``BPF_PROG_TYPE_NETFILTER`` | | ``netfilter`` | |
> ++-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_PERF_EVENT`` | | ``perf_event`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE`` | | ``raw_tp.w+`` [#rawtp]_ | |
> @@ -131,11 +133,23 @@ described in more detail in the footnotes.
> + + +----------------------------------+-----------+
> | | | ``raw_tracepoint+`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> -| ``BPF_PROG_TYPE_SCHED_ACT`` | | ``action`` | |
> +| ``BPF_PROG_TYPE_SCHED_ACT`` | | ``action`` [#tc_legacy]_ | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> -| ``BPF_PROG_TYPE_SCHED_CLS`` | | ``classifier`` | |
> +| ``BPF_PROG_TYPE_SCHED_CLS`` | | ``classifier`` [#tc_legacy]_ | |
> + + +----------------------------------+-----------+
> -| | | ``tc`` | |
> +| | | ``tc`` [#tc_legacy]_ | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_NETKIT_PRIMARY`` | ``netkit/primary`` | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_NETKIT_PEER`` | ``netkit/peer`` | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_TCX_INGRESS`` | ``tc/ingress`` | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_TCX_EGRESS`` | ``tc/egress`` | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_TCX_INGRESS`` | ``tcx/ingress`` | |
> ++ +----------------------------------------+----------------------------------+-----------+
> +| | ``BPF_TCX_EGRESS`` | ``tcx/egress`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_SK_LOOKUP`` | ``BPF_SK_LOOKUP`` | ``sk_lookup`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> @@ -155,7 +169,9 @@ described in more detail in the footnotes.
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_SOCK_OPS`` | ``BPF_CGROUP_SOCK_OPS`` | ``sockops`` | |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> -| ``BPF_PROG_TYPE_STRUCT_OPS`` | | ``struct_ops+`` | |
> +| ``BPF_PROG_TYPE_STRUCT_OPS`` | | ``struct_ops+`` [#struct_ops]_ | |
> ++ + +----------------------------------+-----------+
> +| | | ``struct_ops.s+`` [#struct_ops]_ | Yes |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> | ``BPF_PROG_TYPE_SYSCALL`` | | ``syscall`` | Yes |
> +-------------------------------------------+----------------------------------------+----------------------------------+-----------+
> @@ -209,5 +225,10 @@ described in more detail in the footnotes.
> ``a-zA-Z0-9_.*?``.
> .. [#lsm] The ``lsm`` attachment format is ``lsm[.s]/<hook>``.
> .. [#rawtp] The ``raw_tp`` attach format is ``raw_tracepoint[.w]/<tracepoint>``.
> +.. [#tc_legacy] The ``tc``, ``classifier`` and ``action`` attach types are deprecated, use
> + ``tcx/*`` instead.
> +.. [#struct_ops] The ``struct_ops`` attach format is ``struct_ops[.s]/<name>``, but name appears
> + to be ignored. The attachments are defined in a struct initializer that is
> + tagged with ``SEC(".struct_ops[.link]")``.
libbpf will happily accept just SEC("struct_ops"). So it would be more
correct to say that "struct_ops[.s]/<name>" is accepted, but name is
ignored. But other than that, just SEC("struct_ops") probably makes
most sense.
pw-bot: cr
> .. [#tp] The ``tracepoint`` attach format is ``tracepoint/<category>/<name>``.
> .. [#iter] The ``iter`` attach format is ``iter[.s]/<struct-name>``.
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH bpf-next v1] docs/bpf: Add missing BPF program types to docs
2024-09-11 20:44 ` Andrii Nakryiko
@ 2024-09-12 8:43 ` Donald Hunter
0 siblings, 0 replies; 3+ messages in thread
From: Donald Hunter @ 2024-09-12 8:43 UTC (permalink / raw)
To: Andrii Nakryiko
Cc: bpf, linux-doc, Alexei Starovoitov, Daniel Borkmann,
Andrii Nakryiko, Jonathan Corbet
Andrii Nakryiko <andrii.nakryiko@gmail.com> writes:
>>
>> +.. [#struct_ops] The ``struct_ops`` attach format is ``struct_ops[.s]/<name>``, but name appears
>> + to be ignored. The attachments are defined in a struct initializer that is
>> + tagged with ``SEC(".struct_ops[.link]")``.
>
> libbpf will happily accept just SEC("struct_ops"). So it would be more
> correct to say that "struct_ops[.s]/<name>" is accepted, but name is
> ignored. But other than that, just SEC("struct_ops") probably makes
> most sense.
I'll reword to recommend SEC("struct_ops"), thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-12 8:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 14:59 [PATCH bpf-next v1] docs/bpf: Add missing BPF program types to docs Donald Hunter
2024-09-11 20:44 ` Andrii Nakryiko
2024-09-12 8:43 ` Donald Hunter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).