From: Danielle Ratson Date: Thu, 30 Jul 2020 14:33:18 +0000 (+0300) Subject: devlink: Expose port split ability X-Git-Tag: v5.9.0~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5f4165a9e018dcc51d4c544b90bf065ac401132;p=thirdparty%2Fiproute2.git devlink: Expose port split ability Add a new attribute that indicates the port split ability to devlink port. Expose the attribute to user space as RO value, for example: $devlink port show swp1 pci/0000:03:00.0/61: type eth netdev swp1 flavour physical port 1 splittable false lanes 1 Signed-off-by: Danielle Ratson Signed-off-by: David Ahern --- diff --git a/devlink/devlink.c b/devlink/devlink.c index 39bc1119c..a22e931e1 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -582,6 +582,7 @@ static const enum mnl_attr_data_type devlink_policy[DEVLINK_ATTR_MAX + 1] = { [DEVLINK_ATTR_PORT_NETDEV_NAME] = MNL_TYPE_NUL_STRING, [DEVLINK_ATTR_PORT_IBDEV_NAME] = MNL_TYPE_NUL_STRING, [DEVLINK_ATTR_PORT_LANES] = MNL_TYPE_U32, + [DEVLINK_ATTR_PORT_SPLITTABLE] = MNL_TYPE_U8, [DEVLINK_ATTR_SB_INDEX] = MNL_TYPE_U32, [DEVLINK_ATTR_SB_SIZE] = MNL_TYPE_U32, [DEVLINK_ATTR_SB_INGRESS_POOL_COUNT] = MNL_TYPE_U16, @@ -3424,6 +3425,9 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) if (tb[DEVLINK_ATTR_PORT_SPLIT_GROUP]) print_uint(PRINT_ANY, "split_group", " split_group %u", mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_SPLIT_GROUP])); + if (tb[DEVLINK_ATTR_PORT_SPLITTABLE]) + print_bool(PRINT_ANY, "splittable", " splittable %s", + mnl_attr_get_u8(tb[DEVLINK_ATTR_PORT_SPLITTABLE])); if (tb[DEVLINK_ATTR_PORT_LANES]) print_uint(PRINT_ANY, "lanes", " lanes %u", mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_LANES]));