diff mbox series

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

Message ID 474b741a13ba1058dd991c4f68f68b99610dda2b.1636623282.git.dcaratti@redhat.com (mailing list archive)
State Accepted
Delegated to: Stephen Hemminger
Headers show
Series [iproute2] mptcp: fix JSON output when dumping endpoints by id | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Davide Caratti Nov. 11, 2021, 9:52 a.m. UTC
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 <dcaratti@redhat.com>
---
 ip/ipmptcp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Andrea Claudi Nov. 11, 2021, 10:47 a.m. UTC | #1
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 <dcaratti@redhat.com>
> ---
>  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 <aclaudi@redhat.com>
diff mbox series

Patch

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)