* [PATCH] iproute_lwtunnel: fix JSON output
@ 2023-04-14 19:48 Stephen Hemminger
2023-04-14 20:10 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2023-04-14 19:48 UTC (permalink / raw)
To: netdev; +Cc: Stephen Hemminger, Lars Ekman
The same tag "dst" was being used for both the route destination
and the encap destination. This made it hard for JSON parsers.
Change to put the per-encap information under a nested JSON
object (similar to ip link type info).
Original output
[ {
"dst": "192.168.11.0/24",
"encap": "ip6",
"id": 0,
"src": "::",
"dst": "fd00::c0a8:2dd",
"hoplimit": 0,
"tc": 0,
"protocol": "5",
"scope": "link",
"flags": [ ]
} ]
Revised output
[ {
"dst": "192.168.11.0/24",
"encap": {
"encap_type": "ip6",
"id": 0,
"src": "::",
"dst": "fd00::c0a8:2dd",
"hoplimit": 0,
"tc": 0
},
"protocol": "5",
"scope": "link",
"flags": [ ]
} ]
Reported-by: Lars Ekman <uablrek@gmail.com>
Fixes: 663c3cb23103 ("iproute: implement JSON and color output")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
ip/iproute_lwtunnel.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c
index 8b7f3742b71e..9fcbdeac3e77 100644
--- a/ip/iproute_lwtunnel.c
+++ b/ip/iproute_lwtunnel.c
@@ -840,8 +840,9 @@ void lwt_print_encap(FILE *fp, struct rtattr *encap_type,
return;
et = rta_getattr_u16(encap_type);
-
- print_string(PRINT_ANY, "encap", " encap %s ", format_encap_type(et));
+ open_json_object("encap");
+ print_string(PRINT_ANY, "encap_type", " encap %s ",
+ format_encap_type(et));
switch (et) {
case LWTUNNEL_ENCAP_MPLS:
@@ -875,6 +876,7 @@ void lwt_print_encap(FILE *fp, struct rtattr *encap_type,
print_encap_xfrm(fp, encap);
break;
}
+ close_json_object();
}
static struct ipv6_sr_hdr *parse_srh(char *segbuf, int hmac, bool encap)
--
2.39.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] iproute_lwtunnel: fix JSON output
2023-04-14 19:48 [PATCH] iproute_lwtunnel: fix JSON output Stephen Hemminger
@ 2023-04-14 20:10 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-04-14 20:10 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev, uablrek
Hello:
This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:
On Fri, 14 Apr 2023 12:48:41 -0700 you wrote:
> The same tag "dst" was being used for both the route destination
> and the encap destination. This made it hard for JSON parsers.
> Change to put the per-encap information under a nested JSON
> object (similar to ip link type info).
>
> Original output
> [ {
> "dst": "192.168.11.0/24",
> "encap": "ip6",
> "id": 0,
> "src": "::",
> "dst": "fd00::c0a8:2dd",
> "hoplimit": 0,
> "tc": 0,
> "protocol": "5",
> "scope": "link",
> "flags": [ ]
> } ]
>
> [...]
Here is the summary with links:
- iproute_lwtunnel: fix JSON output
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=0f32ef97babc
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-14 20:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-14 19:48 [PATCH] iproute_lwtunnel: fix JSON output Stephen Hemminger
2023-04-14 20:10 ` patchwork-bot+netdevbpf
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).