tools: bpftool: Complete and synchronise attach or map types
authorQuentin Monnet <quentin@isovalent.com>
Fri, 30 Jul 2021 21:54:31 +0000 (22:54 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 30 Jul 2021 22:40:27 +0000 (15:40 -0700)
Update bpftool's list of attach type names to tell it about the latest
attach types, or the "ringbuf" map. Also update the documentation, help
messages, and bash completion when relevant.

These missing items were reported by the newly added Python script used
to help maintain consistency in bpftool.

Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210730215435.7095-4-quentin@isovalent.com
tools/bpf/bpftool/Documentation/bpftool-prog.rst
tools/bpf/bpftool/bash-completion/bpftool
tools/bpf/bpftool/common.c
tools/bpf/bpftool/prog.c

index fe1b38e7e887d3013b4ed940dd493375029255b9..abf5f4cd7d3e26e90c6ec4fee30c5b233b06bcca 100644 (file)
@@ -48,7 +48,7 @@ PROG COMMANDS
 |              **struct_ops** | **fentry** | **fexit** | **freplace** | **sk_lookup**
 |      }
 |       *ATTACH_TYPE* := {
-|              **msg_verdict** | **stream_verdict** | **stream_parser** | **flow_dissector**
+|              **msg_verdict** | **skb_verdict** | **stream_verdict** | **stream_parser** | **flow_dissector**
 |      }
 |      *METRICs* := {
 |              **cycles** | **instructions** | **l1d_loads** | **llc_misses**
index a7c947e003456efef55283127b631d9ebeb2fa8c..1521a725f07c2ca48704076fe4b7ce768192eb11 100644 (file)
@@ -405,7 +405,8 @@ _bpftool()
                             ;;
                         5)
                             local BPFTOOL_PROG_ATTACH_TYPES='msg_verdict \
-                                stream_verdict stream_parser flow_dissector'
+                                skb_verdict stream_verdict stream_parser \
+                                flow_dissector'
                             COMPREPLY=( $( compgen -W "$BPFTOOL_PROG_ATTACH_TYPES" -- "$cur" ) )
                             return 0
                             ;;
@@ -706,7 +707,7 @@ _bpftool()
                                 hash_of_maps devmap devmap_hash sockmap cpumap \
                                 xskmap sockhash cgroup_storage reuseport_sockarray \
                                 percpu_cgroup_storage queue stack sk_storage \
-                                struct_ops inode_storage task_storage'
+                                struct_ops inode_storage task_storage ringbuf'
                             COMPREPLY=( $( compgen -W "$BPFTOOL_MAP_CREATE_TYPES" -- "$cur" ) )
                             return 0
                             ;;
index 1828bba19020d6cce0df684c8d1c3c4e9dc73cc5..c5e57cce887a5c641a579522eca9f1ee7fa16ede 100644 (file)
@@ -67,6 +67,12 @@ const char * const attach_type_name[__MAX_BPF_ATTACH_TYPE] = {
        [BPF_MODIFY_RETURN]             = "mod_ret",
        [BPF_LSM_MAC]                   = "lsm_mac",
        [BPF_SK_LOOKUP]                 = "sk_lookup",
+       [BPF_TRACE_ITER]                = "trace_iter",
+       [BPF_XDP_DEVMAP]                = "xdp_devmap",
+       [BPF_XDP_CPUMAP]                = "xdp_cpumap",
+       [BPF_XDP]                       = "xdp",
+       [BPF_SK_REUSEPORT_SELECT]       = "sk_skb_reuseport_select",
+       [BPF_SK_REUSEPORT_SELECT_OR_MIGRATE]    = "sk_skb_reuseport_select_or_migrate",
 };
 
 void p_err(const char *fmt, ...)
index b1996b8f1d4223837c7d47bbb225c14465702f23..d98cfc973a1deca44c74a6c46b6a47ce48bc167f 100644 (file)
@@ -2256,8 +2256,8 @@ static int do_help(int argc, char **argv)
                "                 cgroup/sendmsg6 | cgroup/recvmsg4 | cgroup/recvmsg6 |\n"
                "                 cgroup/getsockopt | cgroup/setsockopt | cgroup/sock_release |\n"
                "                 struct_ops | fentry | fexit | freplace | sk_lookup }\n"
-               "       ATTACH_TYPE := { msg_verdict | stream_verdict | stream_parser |\n"
-               "                        flow_dissector }\n"
+               "       ATTACH_TYPE := { msg_verdict | skb_verdict | stream_verdict |\n"
+               "                        stream_parser | flow_dissector }\n"
                "       METRIC := { cycles | instructions | l1d_loads | llc_misses | itlb_misses | dtlb_misses }\n"
                "       " HELP_SPEC_OPTIONS "\n"
                "",