Standardize commonly used bpf enum names by introducing helper methods to libbpf. When applications require enum to string mapping the related code is copy-pasted from bpftool. It hardens maintenance, e.g. when new enum values are added. Patches 0001-0003 introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum type. Patches 0004-0006 introduce helpers methods libbpf_str_from_(prog|map|attach)_type and libbpf_(prog|map|attach)_type_from_str. Patches 0007-0008 extend and rename test_section_names test. Patches 0009-0010 introduce the helpers to bpftool. An alternative for adding __MAX_BPF_(PROG|MAP)_TYPE is using an erroneous result of bpf_(prog|map|attach)_type_(from|to)_str as an indicator of loop bound. The disadvantages are: tests won't fail when a string name is not provided for a new enum value; whoever wants to loop over enum values should be aware about this side feature of newly introduced helpers. Julia Kartseva (10): bpf: introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum values tools/bpf: sync bpf.h to tools/ tools/bpf: handle __MAX_BPF_(PROG|MAP)_TYPE in switch statements tools/bpf: add libbpf_prog_type_(from|to)_str helpers tools/bpf: add libbpf_map_type_(from|to)_str helpers tools/bpf: add libbpf_attach_type_(from|to)_str selftests/bpf: extend test_section_names with type_(from|to)_str selftests/bpf: rename test_section_names to test_section_and_type_names tools/bpftool: use libbpf_(prog|map)_type_to_str helpers tools/bpftool: use libbpf_attach_type_to_str helper include/uapi/linux/bpf.h | 6 + tools/bpf/bpftool/cgroup.c | 60 +-- tools/bpf/bpftool/feature.c | 47 ++- tools/bpf/bpftool/main.h | 33 -- tools/bpf/bpftool/map.c | 80 +--- tools/bpf/bpftool/prog.c | 31 +- tools/include/uapi/linux/bpf.h | 6 + tools/lib/bpf/libbpf.c | 153 +++++++ tools/lib/bpf/libbpf.h | 17 + tools/lib/bpf/libbpf.map | 6 + tools/lib/bpf/libbpf_probes.c | 2 + tools/testing/selftests/bpf/Makefile | 2 +- .../bpf/test_section_and_type_names.c | 378 ++++++++++++++++++ .../selftests/bpf/test_section_names.c | 233 ----------- 14 files changed, 673 insertions(+), 381 deletions(-) create mode 100644 tools/testing/selftests/bpf/test_section_and_type_names.c delete mode 100644 tools/testing/selftests/bpf/test_section_names.c -- 2.17.1