bpftool: Add "bootstrap" feature to version output
authorQuentin Monnet <quentin@isovalent.com>
Thu, 20 Oct 2022 10:03:32 +0000 (11:03 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 21 Oct 2022 21:41:13 +0000 (23:41 +0200)
commit2c76238eaddd7c519f6b5a7ed80f7da6f4e11373
treece8d616673b2479dbe4403e2109abdc8f31a6c6a
parent7e5eb725cf0a0a8f85e6b96e062bbd0d5d90c94e
bpftool: Add "bootstrap" feature to version output

Along with the version number, "bpftool version" displays a list of
features that were selected at compilation time for bpftool. It would be
useful to indicate in that list whether a binary is a bootstrap version
of bpftool. Given that an increasing number of components rely on
bootstrap versions for generating skeletons, this could help understand
what a binary is capable of if it has been copied outside of the usual
"bootstrap" directory.

To detect a bootstrap version, we simply rely on the absence of
implementation for the do_prog() function. To do this, we must move the
(unchanged) list of commands before do_version(), which in turn requires
renaming this "cmds" array to avoid shadowing it with the "cmds"
argument in cmd_select().

Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20221020100332.69563-1-quentin@isovalent.com
tools/bpf/bpftool/main.c