bpftool: Register struct_ops with a link.
authorKui-Feng Lee <thinker.li@gmail.com>
Thu, 20 Apr 2023 00:28:21 +0000 (17:28 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 21 Apr 2023 18:10:10 +0000 (11:10 -0700)
commit0232b788978652571c4f4e57dc26ff8e4837926a
tree96f9779db401ce754b781c8bd47eda57cacd4c24
parent833d67ecdc5f35f1ebf59d0fccc1ce771434be9c
bpftool: Register struct_ops with a link.

You can include an optional path after specifying the object name for the
'struct_ops register' subcommand.

Since the commit 226bc6ae6405 ("Merge branch 'Transit between BPF TCP
congestion controls.'") has been accepted, it is now possible to create a
link for a struct_ops. This can be done by defining a struct_ops in
SEC(".struct_ops.link") to make libbpf returns a real link. If we don't pin
the links before leaving bpftool, they will disappear. To instruct bpftool
to pin the links in a directory with the names of the maps, we need to
provide the path of that directory.

Signed-off-by: Kui-Feng Lee <kuifeng@meta.com>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/r/20230420002822.345222-1-kuifeng@meta.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/common.c
tools/bpf/bpftool/main.h
tools/bpf/bpftool/prog.c
tools/bpf/bpftool/struct_ops.c