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

Davide Caratti posted 1 patch 3 weeks, 3 days ago
Failed in applying to current master (apply log)
ip/ipmptcp.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

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

Posted by Davide Caratti 3 weeks, 3 days ago
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