Subject: Re: [PATCH iproute2] mptcp: fix JSON output when dumping endpoints by id

From: Andrea Claudi <[email-masked]>
Date: Thu, 11 Nov 2021 11:47:12 +0100

On Thu, Nov 11, 2021 at 10:52:13AM +0100, Davide Caratti wrote:
> iproute ignores '-j' command line argument when dumping endpoints by id:
> 
>  [dcaratti@dcaratti iproute2]$ ./ip/ip -j mptcp endpoint show
>  [{"address":"1.2.3.4","id":42,"signal":true,"backup":true}]
>  [dcaratti@dcaratti iproute2]$ ./ip/ip -j mptcp endpoint show id 42
>  1.2.3.4 id 42 signal backup
> 
> fix mptcp_addr_show() to use the proper JSON helpers.
> 
> Fixes: 7e0767cd862b ("add support for mptcp netlink interface")
> Signed-off-by: Davide Caratti <[email-masked]>
> ---
>  ip/ipmptcp.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/ip/ipmptcp.c b/ip/ipmptcp.c
> index 0f5b6e2d08ba..857004446aa3 100644
> --- a/ip/ipmptcp.c
> +++ b/ip/ipmptcp.c
> @@ -305,7 +305,11 @@ static int mptcp_addr_show(int argc, char **argv)
>  	if (rtnl_talk(&genl_rth, &req.n, &answer) < 0)
>  		return -2;
>  
> -	return print_mptcp_addr(answer, stdout);
> +	new_json_obj(json);
> +	ret = print_mptcp_addr(answer, stdout);
> +	delete_json_obj();
> +	fflush(stdout);
> +	return ret;
>  }
>  
>  static int mptcp_addr_flush(int argc, char **argv)
> -- 
> 2.31.1

Looks good to me.
Acked-by: Andrea Claudi <[email-masked]>