aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Fortin <julien@cumulusnetworks.com>2017-08-17 10:35:56 -0700
committerStephen Hemminger <stephen@networkplumber.org>2017-08-17 18:02:40 -0700
commit69ffd27325d719fe52b271551763ccdd1101a069 (patch)
treee920e1fc572154552bdf3bcc8fd98ddfb7281d70
parent707cce5a630dd3ad11324e1dc1c34d80dea77bdd (diff)
downloadplatform_external_iproute2-69ffd27325d719fe52b271551763ccdd1101a069.tar.gz
platform_external_iproute2-69ffd27325d719fe52b271551763ccdd1101a069.tar.bz2
platform_external_iproute2-69ffd27325d719fe52b271551763ccdd1101a069.zip
ip: iplink_hsr.c: add json output support
Schema: hsr: IFLA_INFO_DATA { "slave1": { "type": "string", "attr": "IFLA_HSR_SLAVE1" }, "slave2": { "type": "string", "attr": "IFLA_HSR_SLAVE2" }, "seq_nr": { "type": "int", "attr": "IFLA_HSR_SEQ_NR" }, "supervision_addr": { "type": "int", "attr": "IFLA_HSR_SUPERVISION_ADDR" } } Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
-rw-r--r--ip/iplink_hsr.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/ip/iplink_hsr.c b/ip/iplink_hsr.c
index 696b2c91..c673ccf7 100644
--- a/ip/iplink_hsr.c
+++ b/ip/iplink_hsr.c
@@ -110,30 +110,36 @@ static void hsr_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]) < ETH_ALEN)
return;
- fprintf(f, "slave1 ");
if (tb[IFLA_HSR_SLAVE1])
- fprintf(f, "%s ",
- ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE1])));
+ print_string(PRINT_ANY,
+ "slave1",
+ "slave1 %s ",
+ ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE1])));
else
- fprintf(f, "<none> ");
+ print_null(PRINT_ANY, "slave1", "slave1 %s ", "<none>");
- fprintf(f, "slave2 ");
if (tb[IFLA_HSR_SLAVE2])
- fprintf(f, "%s ",
- ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE2])));
+ print_string(PRINT_ANY,
+ "slave2",
+ "slave2 %s ",
+ ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE2])));
else
- fprintf(f, "<none> ");
+ print_null(PRINT_ANY, "slave2", "slave2 %s ", "<none>");
if (tb[IFLA_HSR_SEQ_NR])
- fprintf(f, "sequence %d ",
- rta_getattr_u16(tb[IFLA_HSR_SEQ_NR]));
+ print_int(PRINT_ANY,
+ "seq_nr",
+ "sequence %d ",
+ rta_getattr_u16(tb[IFLA_HSR_SEQ_NR]));
if (tb[IFLA_HSR_SUPERVISION_ADDR])
- fprintf(f, "supervision %s ",
- ll_addr_n2a(RTA_DATA(tb[IFLA_HSR_SUPERVISION_ADDR]),
- RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]),
- ARPHRD_VOID,
- b1, sizeof(b1)));
+ print_string(PRINT_ANY,
+ "supervision_addr",
+ "supervision %s ",
+ ll_addr_n2a(RTA_DATA(tb[IFLA_HSR_SUPERVISION_ADDR]),
+ RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]),
+ ARPHRD_VOID,
+ b1, sizeof(b1)));
}
static void hsr_print_help(struct link_util *lu, int argc, char **argv,