@@ -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_ */
@@ -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;