mirror_ubuntu-kernels/tools/bpf/bpftool
Daniel Müller 1ba5ad36e0 bpftool: Use libbpf_bpf_attach_type_str
This change switches bpftool over to using the recently introduced
libbpf_bpf_attach_type_str function instead of maintaining its own
string representation for the bpf_attach_type enum.

Note that contrary to other enum types, the variant names that bpftool
maps bpf_attach_type to do not adhere a simple to follow rule. With
bpf_prog_type, for example, the textual representation can easily be
inferred by stripping the BPF_PROG_TYPE_ prefix and lowercasing the
remaining string. bpf_attach_type violates this rule for various
variants.
We decided to fix up this deficiency with this change, meaning that
bpftool uses the same textual representations as libbpf. Supporting
tests, completion scripts, and man pages have been adjusted accordingly.
However, we did add support for accepting (the now undocumented)
original attach type names when they are provided by users.

For the test (test_bpftool_synctypes.py), I have removed the enum
representation checks, because we no longer mirror the various enum
variant names in bpftool source code. For the man page, help text, and
completion script checks we are now using enum definitions from
uapi/linux/bpf.h as the source of truth directly.

Signed-off-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20220523230428.3077108-10-deso@posteo.net
2022-06-02 16:26:30 -07:00
..
bash-completion bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
Documentation bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
skeleton bpftool: Add bpf_cookie to link output 2022-03-15 15:07:27 -07:00
.gitignore bpftool: Fix SPDX tag for Makefiles and .gitignore 2021-11-10 09:00:52 -08:00
btf_dumper.c bpftool: Use bpf_obj_get_info_by_fd directly 2021-11-03 11:25:32 -07:00
btf.c bpftool: Use sysfs vmlinux when dumping BTF by ID 2022-05-13 16:07:53 -07:00
cfg.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00
cgroup.c bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
common.c bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
feature.c bpftool: Use libbpf_bpf_map_type_str 2022-06-02 16:26:24 -07:00
gen.c bpftool: bpf_link_get_from_fd support for LSM programs in lskel 2022-05-10 10:42:08 -07:00
iter.c bpftool: Use libbpf_get_error() to check error 2021-11-14 18:38:13 -08:00
jit_disasm.c bpftool: Properly close va_list 'ap' by va_end() on error 2021-07-06 09:19:23 +02:00
json_writer.c bpftool: Support dumping metadata 2020-09-15 18:28:27 -07:00
json_writer.h bpftool: Support dumping metadata 2020-09-15 18:28:27 -07:00
link.c bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
main.c bpftool: Use libbpf 1.0 API mode instead of RLIMIT_MEMLOCK 2022-04-10 20:17:16 -07:00
main.h bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
Makefile Kbuild updates for v5.18 2022-03-31 11:59:03 -07:00
map_perf_ring.c bpftool: Update btf_dump__new() and perf_buffer__new_raw() calls 2021-11-11 16:54:06 -08:00
map.c bpftool: Use libbpf_bpf_map_type_str 2022-06-02 16:26:24 -07:00
net.c bpftool: use new API for attaching XDP program 2022-01-20 21:22:02 -08:00
netlink_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
netlink_dumper.h tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
perf.c bpftool, musl compat: Replace nftw with FTW_ACTIONRETVAL 2022-04-25 23:24:16 +02:00
pids.c bpftool: Use libbpf 1.0 API mode instead of RLIMIT_MEMLOCK 2022-04-10 20:17:16 -07:00
prog.c bpftool: Use libbpf_bpf_attach_type_str 2022-06-02 16:26:30 -07:00
struct_ops.c bpftool: Use libbpf 1.0 API mode instead of RLIMIT_MEMLOCK 2022-04-10 20:17:16 -07:00
tracelog.c bpftool, musl compat: Replace sys/fcntl.h by fcntl.h 2022-04-25 23:24:28 +02:00
xlated_dumper.c bpftool: Remove usage of reallocarray() 2022-02-23 13:55:01 -08:00
xlated_dumper.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00