netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).