* [PATCH bpf-next] bpftool: add current libbpf_strict mode to version output
@ 2021-11-12 16:44 Stanislav Fomichev
2021-11-12 17:02 ` Quentin Monnet
0 siblings, 1 reply; 3+ messages in thread
From: Stanislav Fomichev @ 2021-11-12 16:44 UTC (permalink / raw)
To: netdev, bpf; +Cc: ast, daniel, andrii, Stanislav Fomichev, Quentin Monnet
+ bpftool --legacy version
bpftool v5.15.0
features: libbfd, skeletons
+ bpftool version
bpftool v5.15.0
features: libbfd, libbpf_strict, skeletons
+ bpftool --json --legacy version
{"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":false,"skeletons":true}}
+ bpftool --json version
{"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":true,"skeletons":true}}
Suggested-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
---
tools/bpf/bpftool/main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c
index 473791e87f7d..edbb146287ee 100644
--- a/tools/bpf/bpftool/main.c
+++ b/tools/bpf/bpftool/main.c
@@ -93,6 +93,7 @@ static int do_version(int argc, char **argv)
jsonw_name(json_wtr, "features");
jsonw_start_object(json_wtr); /* features */
jsonw_bool_field(json_wtr, "libbfd", has_libbfd);
+ jsonw_bool_field(json_wtr, "libbpf_strict", !legacy_libbpf);
jsonw_bool_field(json_wtr, "skeletons", has_skeletons);
jsonw_end_object(json_wtr); /* features */
@@ -106,6 +107,10 @@ static int do_version(int argc, char **argv)
printf(" libbfd");
nb_features++;
}
+ if (!legacy_libbpf) {
+ printf("%s libbpf_strict", nb_features++ ? "," : "");
+ nb_features++;
+ }
if (has_skeletons)
printf("%s skeletons", nb_features++ ? "," : "");
printf("\n");
--
2.34.0.rc1.387.gb447b232ab-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] bpftool: add current libbpf_strict mode to version output
2021-11-12 16:44 [PATCH bpf-next] bpftool: add current libbpf_strict mode to version output Stanislav Fomichev
@ 2021-11-12 17:02 ` Quentin Monnet
2021-11-12 17:04 ` Stanislav Fomichev
0 siblings, 1 reply; 3+ messages in thread
From: Quentin Monnet @ 2021-11-12 17:02 UTC (permalink / raw)
To: Stanislav Fomichev, netdev, bpf; +Cc: ast, daniel, andrii
2021-11-12 08:44 UTC-0800 ~ Stanislav Fomichev <sdf@google.com>
> + bpftool --legacy version
> bpftool v5.15.0
> features: libbfd, skeletons
> + bpftool version
> bpftool v5.15.0
> features: libbfd, libbpf_strict, skeletons
> + bpftool --json --legacy version
> {"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":false,"skeletons":true}}
> + bpftool --json version
> {"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":true,"skeletons":true}}
Nice, thanks!
The following doesn't work as expected, though:
$ ./bpftool --version --legacy
./bpftool v5.15.0
features: libbfd, libbpf_strict, skeletons
This is because we run do_version() immediately when parsing --version,
and we don't parse --legacy in that case. Could we postpone do_version()
until after we have parsed all options, so that the output from the
above is consistent with e.g. "bpftool --legacy --version"?
Thanks,
Quentin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] bpftool: add current libbpf_strict mode to version output
2021-11-12 17:02 ` Quentin Monnet
@ 2021-11-12 17:04 ` Stanislav Fomichev
0 siblings, 0 replies; 3+ messages in thread
From: Stanislav Fomichev @ 2021-11-12 17:04 UTC (permalink / raw)
To: Quentin Monnet; +Cc: netdev, bpf, ast, daniel, andrii
On Fri, Nov 12, 2021 at 9:02 AM Quentin Monnet <quentin@isovalent.com> wrote:
>
> 2021-11-12 08:44 UTC-0800 ~ Stanislav Fomichev <sdf@google.com>
> > + bpftool --legacy version
> > bpftool v5.15.0
> > features: libbfd, skeletons
> > + bpftool version
> > bpftool v5.15.0
> > features: libbfd, libbpf_strict, skeletons
> > + bpftool --json --legacy version
> > {"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":false,"skeletons":true}}
> > + bpftool --json version
> > {"version":"5.15.0","features":{"libbfd":true,"libbpf_strict":true,"skeletons":true}}
>
> Nice, thanks!
> The following doesn't work as expected, though:
>
> $ ./bpftool --version --legacy
> ./bpftool v5.15.0
> features: libbfd, libbpf_strict, skeletons
>
> This is because we run do_version() immediately when parsing --version,
> and we don't parse --legacy in that case. Could we postpone do_version()
> until after we have parsed all options, so that the output from the
> above is consistent with e.g. "bpftool --legacy --version"?
Oh, good find! Let me move some code around to fix that.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-11-12 17:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-12 16:44 [PATCH bpf-next] bpftool: add current libbpf_strict mode to version output Stanislav Fomichev
2021-11-12 17:02 ` Quentin Monnet
2021-11-12 17:04 ` Stanislav Fomichev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).