]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
devlink: Expose port split ability
authorDanielle Ratson <danieller@mellanox.com>
Thu, 30 Jul 2020 14:33:18 +0000 (17:33 +0300)
committerDavid Ahern <dsahern@kernel.org>
Mon, 3 Aug 2020 14:37:14 +0000 (14:37 +0000)
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 <danieller@mellanox.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
devlink/devlink.c

index 39bc1119c87b81f3e82173e372269c7699edb003..a22e931e1f5c32a204b403a09f97fead5a24191c 100644 (file)
@@ -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]));