From: Jiri Pirko Date: Sun, 20 May 2018 08:15:38 +0000 (+0200) Subject: devlink: introduce support for showing port flavours X-Git-Tag: v4.18.0~24^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=852ed60528d5f08a0933298f4dffc0efb0265b56;p=thirdparty%2Fiproute2.git devlink: introduce support for showing port flavours Signed-off-by: Jiri Pirko Signed-off-by: David Ahern --- diff --git a/devlink/devlink.c b/devlink/devlink.c index fa33684cb..df2c66dac 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -1693,6 +1693,20 @@ static const char *port_type_name(uint32_t type) } } +static const char *port_flavour_name(uint16_t flavour) +{ + switch (flavour) { + case DEVLINK_PORT_FLAVOUR_PHYSICAL: + return "physical"; + case DEVLINK_PORT_FLAVOUR_CPU: + return "cpu"; + case DEVLINK_PORT_FLAVOUR_DSA: + return "dsa"; + default: + return ""; + } +} + static void pr_out_port(struct dl *dl, struct nlattr **tb) { struct nlattr *pt_attr = tb[DEVLINK_ATTR_PORT_TYPE]; @@ -1717,6 +1731,12 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) if (tb[DEVLINK_ATTR_PORT_IBDEV_NAME]) pr_out_str(dl, "ibdev", mnl_attr_get_str(tb[DEVLINK_ATTR_PORT_IBDEV_NAME])); + if (tb[DEVLINK_ATTR_PORT_FLAVOUR]) { + uint16_t port_flavour = + mnl_attr_get_u16(tb[DEVLINK_ATTR_PORT_FLAVOUR]); + + pr_out_str(dl, "flavour", port_flavour_name(port_flavour)); + } if (tb[DEVLINK_ATTR_PORT_SPLIT_GROUP]) pr_out_uint(dl, "split_group", mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_SPLIT_GROUP]));