bpftool: Add autoattach for bpf prog load|loadall
authorWang Yufen <wangyufen@huawei.com>
Fri, 14 Oct 2022 08:31:13 +0000 (16:31 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 21 Oct 2022 15:59:00 +0000 (08:59 -0700)
commit19526e701ea096d13ebf881d32511e567dc41557
treecf1bf4565fb9a8005c69e23a58af0278764d16ba
parent98af3746026c3eccb51b43181c41e001fe73f7af
bpftool: Add autoattach for bpf prog load|loadall

Add autoattach optional to support one-step load-attach-pin_link.

For example,
   $ bpftool prog loadall test.o /sys/fs/bpf/test autoattach

   $ bpftool link
   26: tracing  name test1  tag f0da7d0058c00236  gpl
    loaded_at 2022-09-09T21:39:49+0800  uid 0
    xlated 88B  jited 55B  memlock 4096B  map_ids 3
    btf_id 55
   28: kprobe  name test3  tag 002ef1bef0723833  gpl
    loaded_at 2022-09-09T21:39:49+0800  uid 0
    xlated 88B  jited 56B  memlock 4096B  map_ids 3
    btf_id 55
   57: tracepoint  name oncpu  tag 7aa55dfbdcb78941  gpl
    loaded_at 2022-09-09T21:41:32+0800  uid 0
    xlated 456B  jited 265B  memlock 4096B  map_ids 17,13,14,15
    btf_id 82

   $ bpftool link
   1: tracing  prog 26
    prog_type tracing  attach_type trace_fentry
   3: perf_event  prog 28
   10: perf_event  prog 57

The autoattach optional can support tracepoints, k(ret)probes,
u(ret)probes.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Wang Yufen <wangyufen@huawei.com>
Link: https://lore.kernel.org/r/1665736275-28143-2-git-send-email-wangyufen@huawei.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/prog.c