Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools: bpftool: Complete and synchronise attach or map types

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

authored by

Quentin Monnet and committed by
Andrii Nakryiko
b544342e a2b5944f

+12 -5
+1 -1
tools/bpf/bpftool/Documentation/bpftool-prog.rst
··· 48 48 | **struct_ops** | **fentry** | **fexit** | **freplace** | **sk_lookup** 49 49 | } 50 50 | *ATTACH_TYPE* := { 51 - | **msg_verdict** | **stream_verdict** | **stream_parser** | **flow_dissector** 51 + | **msg_verdict** | **skb_verdict** | **stream_verdict** | **stream_parser** | **flow_dissector** 52 52 | } 53 53 | *METRICs* := { 54 54 | **cycles** | **instructions** | **l1d_loads** | **llc_misses**
+3 -2
tools/bpf/bpftool/bash-completion/bpftool
··· 405 405 ;; 406 406 5) 407 407 local BPFTOOL_PROG_ATTACH_TYPES='msg_verdict \ 408 - stream_verdict stream_parser flow_dissector' 408 + skb_verdict stream_verdict stream_parser \ 409 + flow_dissector' 409 410 COMPREPLY=( $( compgen -W "$BPFTOOL_PROG_ATTACH_TYPES" -- "$cur" ) ) 410 411 return 0 411 412 ;; ··· 707 706 hash_of_maps devmap devmap_hash sockmap cpumap \ 708 707 xskmap sockhash cgroup_storage reuseport_sockarray \ 709 708 percpu_cgroup_storage queue stack sk_storage \ 710 - struct_ops inode_storage task_storage' 709 + struct_ops inode_storage task_storage ringbuf' 711 710 COMPREPLY=( $( compgen -W "$BPFTOOL_MAP_CREATE_TYPES" -- "$cur" ) ) 712 711 return 0 713 712 ;;
+6
tools/bpf/bpftool/common.c
··· 67 67 [BPF_MODIFY_RETURN] = "mod_ret", 68 68 [BPF_LSM_MAC] = "lsm_mac", 69 69 [BPF_SK_LOOKUP] = "sk_lookup", 70 + [BPF_TRACE_ITER] = "trace_iter", 71 + [BPF_XDP_DEVMAP] = "xdp_devmap", 72 + [BPF_XDP_CPUMAP] = "xdp_cpumap", 73 + [BPF_XDP] = "xdp", 74 + [BPF_SK_REUSEPORT_SELECT] = "sk_skb_reuseport_select", 75 + [BPF_SK_REUSEPORT_SELECT_OR_MIGRATE] = "sk_skb_reuseport_select_or_migrate", 70 76 }; 71 77 72 78 void p_err(const char *fmt, ...)
+2 -2
tools/bpf/bpftool/prog.c
··· 2256 2256 " cgroup/sendmsg6 | cgroup/recvmsg4 | cgroup/recvmsg6 |\n" 2257 2257 " cgroup/getsockopt | cgroup/setsockopt | cgroup/sock_release |\n" 2258 2258 " struct_ops | fentry | fexit | freplace | sk_lookup }\n" 2259 - " ATTACH_TYPE := { msg_verdict | stream_verdict | stream_parser |\n" 2260 - " flow_dissector }\n" 2259 + " ATTACH_TYPE := { msg_verdict | skb_verdict | stream_verdict |\n" 2260 + " stream_parser | flow_dissector }\n" 2261 2261 " METRIC := { cycles | instructions | l1d_loads | llc_misses | itlb_misses | dtlb_misses }\n" 2262 2262 " " HELP_SPEC_OPTIONS "\n" 2263 2263 "",