On Mon, 18 Mar 2019 18:19:29 +0100
Matteo Croce <[email protected]> wrote:
> ip route generates an invalid JSON if the route type has to be printed,
> eg. when detailed mode is active, or the type is different that unicast:
>
> $ ip -d -j -p route show
> [ {"unicast",
> "dst": "192.168.122.0/24",
> "dev": "virbr0",
> "protocol": "kernel",
> "scope": "link",
> "prefsrc": "192.168.122.1",
> "flags": [ "linkdown" ]
> } ]
>
> $ ip -j -p route show
> [ {"unreachable",
> "dst": "192.168.23.0/24",
> "flags": [ ]
> },{"prohibit",
> "dst": "192.168.24.0/24",
> "flags": [ ]
> },{"blackhole",
> "dst": "192.168.25.0/24",
> "flags": [ ]
> } ]
>
> Fix it by printing the route type as the "type" attribute:
>
> $ ip -d -j -p route show
> [ {
> "type": "unicast",
> "dst": "default",
> "gateway": "192.168.85.1",
> "dev": "wlp3s0",
> "protocol": "dhcp",
> "scope": "global",
> "metric": 600,
> "flags": [ ]
> },{
> "type": "unreachable",
> "dst": "192.168.23.0/24",
> "protocol": "boot",
> "scope": "global",
> "flags": [ ]
> },{
> "type": "prohibit",
> "dst": "192.168.24.0/24",
> "protocol": "boot",
> "scope": "global",
> "flags": [ ]
> },{
> "type": "blackhole",
> "dst": "192.168.25.0/24",
> "protocol": "boot",
> "scope": "global",
> "flags": [ ]
> } ]
>
> Fixes: 663c3cb23103 ("iproute: implement JSON and color output")
> Acked-by: Phil Sutter <[email protected]>
> Reviewed-and-tested-by: Andrea Claudi <[email protected]>
> Signed-off-by: Matteo Croce <[email protected]>
Applied both of these just before tagging 5.0