OSDN Git Service

bpftool: Enable libbpf's strict mode by default
authorStanislav Fomichev <sdf@google.com>
Wed, 10 Nov 2021 19:23:24 +0000 (11:23 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 12 Nov 2021 15:54:58 +0000 (16:54 +0100)
commit314f14abdeca78de6b16f97d796a9966ce4b90ae
treea61a2911f2cfb010d2b55b0dd4edcc392d3de6a0
parent9faaffbe85edcbdc54096f7f87baa3bc4842a7e2
bpftool: Enable libbpf's strict mode by default

Otherwise, attaching with bpftool doesn't work with strict section names.

Also:

  - Add --legacy option to switch back to pre-1.0 behavior
  - Print a warning when program fails to load in strict mode to
    point to --legacy flag
  - By default, don't append / to the section name; in strict
    mode it's relevant only for a small subset of prog types

+ bpftool --legacy prog loadall tools/testing/selftests/bpf/test_cgroup_link.o /sys/fs/bpf/kprobe type kprobe
libbpf: failed to pin program: File exists
Error: failed to pin all programs
+ bpftool prog loadall tools/testing/selftests/bpf/test_cgroup_link.o /sys/fs/bpf/kprobe type kprobe

v1 -> v2:
  - strict by default (Quentin Monnet)
  - add more info to --legacy description (Quentin Monnet)
  - add bash completion (Quentin Monnet)

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20211110192324.920934-1-sdf@google.com
tools/bpf/bpftool/Documentation/common_options.rst
tools/bpf/bpftool/bash-completion/bpftool
tools/bpf/bpftool/main.c
tools/bpf/bpftool/main.h
tools/bpf/bpftool/prog.c