[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210929152848.1710552-3-razor@blackwall.org>
Date: Wed, 29 Sep 2021 18:28:39 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: netdev@...r.kernel.org
Cc: roopa@...dia.com, donaldsharp72@...il.com, dsahern@...il.com,
idosch@...sch.org, Nikolay Aleksandrov <nikolay@...dia.com>
Subject: [RFC iproute2-next 02/11] ip: export print_rta_gateway version which outputs prepared gateway string
From: Nikolay Aleksandrov <nikolay@...dia.com>
Export a new __print_rta_gateway that takes a prepared gateway string to
print which is also used by print_rta_gateway for consistent format.
Signed-off-by: Nikolay Aleksandrov <nikolay@...dia.com>
---
ip/ip_common.h | 1 +
ip/iproute.c | 15 ++++++++++-----
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/ip/ip_common.h b/ip/ip_common.h
index d3d50cbca74d..a02a3b96f7fd 100644
--- a/ip/ip_common.h
+++ b/ip/ip_common.h
@@ -169,6 +169,7 @@ int name_is_vrf(const char *name);
void print_num(FILE *fp, unsigned int width, uint64_t count);
void print_rt_flags(FILE *fp, unsigned int flags);
void print_rta_ifidx(FILE *fp, __u32 ifidx, const char *prefix);
+void __print_rta_gateway(FILE *fp, unsigned char family, const char *gateway);
void print_rta_gateway(FILE *fp, unsigned char family,
const struct rtattr *rta);
#endif /* _IP_COMMON_H_ */
diff --git a/ip/iproute.c b/ip/iproute.c
index f2bf4737b958..3c933df4dd29 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -547,13 +547,11 @@ static void print_rta_newdst(FILE *fp, const struct rtmsg *r,
}
}
-void print_rta_gateway(FILE *fp, unsigned char family, const struct rtattr *rta)
+void __print_rta_gateway(FILE *fp, unsigned char family, const char *gateway)
{
- const char *gateway = format_host_rta(family, rta);
-
- if (is_json_context())
+ if (is_json_context()) {
print_string(PRINT_JSON, "gateway", NULL, gateway);
- else {
+ } else {
fprintf(fp, "via ");
print_color_string(PRINT_FP,
ifa_family_color(family),
@@ -561,6 +559,13 @@ void print_rta_gateway(FILE *fp, unsigned char family, const struct rtattr *rta)
}
}
+void print_rta_gateway(FILE *fp, unsigned char family, const struct rtattr *rta)
+{
+ const char *gateway = format_host_rta(family, rta);
+
+ __print_rta_gateway(fp, family, gateway);
+}
+
static void print_rta_via(FILE *fp, const struct rtattr *rta)
{
size_t len = RTA_PAYLOAD(rta) - 2;
--
2.31.1
Powered by blists - more mailing lists