diff mbox series

[iproute2-next,9/9] iproute: refactor printing of interface

Message ID 20180207171017.20558-10-sthemmin@microsoft.com
State Accepted, archived
Delegated to: David Ahern
Headers show
Series print refactoring | expand

Commit Message

Stephen Hemminger Feb. 7, 2018, 5:10 p.m. UTC
For JSON and colorization, make common code a function.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 ip/iproute.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/ip/iproute.c b/ip/iproute.c
index c9139bf66bd2..91d2b1a61993 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -382,6 +382,14 @@  static void print_rt_pref(FILE *fp, unsigned int pref)
 	}
 }
 
+static void print_rta_if(FILE *fp, const struct rtattr *rta,
+			 const char *prefix)
+{
+	const char *ifname = ll_index_to_name(rta_getattr_u32(rta));
+
+	fprintf(fp, "%s %s ", prefix, ifname);
+}
+
 static void print_cache_flags(FILE *fp, __u32 flags)
 {
 	flags &= ~0xFFFF;
@@ -710,7 +718,7 @@  int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 		print_rta_via(fp, tb[RTA_VIA]);
 
 	if (tb[RTA_OIF] && filter.oifmask != -1)
-		fprintf(fp, "dev %s ", ll_index_to_name(rta_getattr_u32(tb[RTA_OIF])));
+		print_rta_if(fp,  tb[RTA_OIF], "dev");
 
 	if (table && (table != RT_TABLE_MAIN || show_details > 0) && !filter.tb)
 		fprintf(fp, "table %s ", rtnl_rttable_n2a(table, b1, sizeof(b1)));
@@ -767,10 +775,8 @@  int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 	if (tb[RTA_METRICS])
 		print_rta_metrics(fp, tb[RTA_METRICS]);
 
-	if (tb[RTA_IIF] && filter.iifmask != -1) {
-		fprintf(fp, "iif %s ",
-			ll_index_to_name(rta_getattr_u32(tb[RTA_IIF])));
-	}
+	if (tb[RTA_IIF] && filter.iifmask != -1)
+		print_rta_if(fp, tb[RTA_IIF], "iif");
 
 	if (tb[RTA_MULTIPATH])
 		print_rta_multipath(fp, r, tb[RTA_MULTIPATH]);