Print VRF slave_info attributes if present. Signed-off-by: David Ahern <d...@cumulusnetworks.com> --- Requires IFLA_VRF_PORT_* from linux/if_link.h
ip/iplink_vrf.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ip/iplink_vrf.c b/ip/iplink_vrf.c index 9b4b7728cf6f..abc796886a5f 100644 --- a/ip/iplink_vrf.c +++ b/ip/iplink_vrf.c @@ -64,6 +64,18 @@ static void vrf_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) fprintf(f, "table %u ", rta_getattr_u32(tb[IFLA_VRF_TABLE])); } +static void vrf_slave_print_opt(struct link_util *lu, FILE *f, + struct rtattr *tb[]) +{ + if (!tb) + return; + + if (tb[IFLA_VRF_PORT_TABLE]) { + fprintf(f, "table %u ", + rta_getattr_u32(tb[IFLA_VRF_PORT_TABLE])); + } +} + static void vrf_print_help(struct link_util *lu, int argc, char **argv, FILE *f) { @@ -77,3 +89,10 @@ struct link_util vrf_link_util = { .print_opt = vrf_print_opt, .print_help = vrf_print_help, }; + +struct link_util vrf_slave_link_util = { + .id = "vrf", + .maxattr = IFLA_VRF_PORT_MAX, + .print_opt = vrf_slave_print_opt, + .slave = true, +}; -- 2.1.4