From: Stephen Hemminger <stephen@networkplumber.org>
To: Julien Fortin <julien@cumulusnetworks.com>
Cc: netdev@vger.kernel.org, roopa@cumulusnetworks.com, dsahern@gmail.com
Subject: Re: [PATCH iproute2-next master] bridge: fdb show: fix fdb entry state output for json context
Date: Mon, 13 Jul 2020 07:54:45 -0700 [thread overview]
Message-ID: <20200713075445.33aca679@hermes.lan> (raw)
In-Reply-To: <20200710005055.8439-1-julien@cumulusnetworks.com>
On Fri, 10 Jul 2020 02:50:55 +0200
Julien Fortin <julien@cumulusnetworks.com> wrote:
> From: Julien Fortin <julien@cumulusnetworks.com>
>
> bridge json fdb show is printing an incorrect / non-machine readable
> value, when using -j (json output) we are expecting machine readable
> data that shouldn't require special handling/parsing.
>
> $ bridge -j fdb show | \
> python -c \
> 'import sys,json;print(json.dumps(json.loads(sys.stdin.read()),indent=4))'
> [
> {
> "master": "br0",
> "mac": "56:23:28:4f:4f:e5",
> "flags": [],
> "ifname": "vx0",
> "state": "state=0x80" <<<<<<<<< with the patch: "state": "0x80"
> }
> ]
>
> Fixes: c7c1a1ef51aea7c ("bridge: colorize output and use JSON print library")
> Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
> ---
> bridge/fdb.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/bridge/fdb.c b/bridge/fdb.c
> index d2247e80..198c51d1 100644
> --- a/bridge/fdb.c
> +++ b/bridge/fdb.c
> @@ -62,7 +62,10 @@ static const char *state_n2a(unsigned int s)
> if (s & NUD_REACHABLE)
> return "";
>
> - sprintf(buf, "state=%#x", s);
> + if (is_json_context())
> + sprintf(buf, "%#x", s);
> + else
> + sprintf(buf, "state=%#x", s);
> return buf;
> }
>
Printing in non JSON case was also wrong.
i.e.
... state state=0x80
should be:
... state 0x80
Let's do that.
The state=xxx value only shows up if the FDB entry has a value bridge command
doesn't understand. The bridge command needs to be able to display the new flag values.
Please fixup the two patches and resubmit to iproute2
next prev parent reply other threads:[~2020-07-13 14:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-10 0:50 [PATCH iproute2-next master] bridge: fdb show: fix fdb entry state output for json context Julien Fortin
2020-07-13 14:54 ` Stephen Hemminger [this message]
2020-07-14 23:37 ` Julien Fortin
[not found] ` <CAM_1_KxU909QZ1H=yDy1wpQXVQ+s1BndLuroVAqisJQzZ7MT1A@mail.gmail.com>
2020-07-14 23:47 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200713075445.33aca679@hermes.lan \
--to=stephen@networkplumber.org \
--cc=dsahern@gmail.com \
--cc=julien@cumulusnetworks.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).