Not all ports of a switch need to be used, particularly in embedded
systems. Add a port flavour for ports which physically exist in the
switch, but are not connected to the front panel etc, and so are
unused.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 include/uapi/linux/devlink.h | 3 +++
 net/core/devlink.c           | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
index a2ecc8b00611..e1f209feac74 100644
--- a/include/uapi/linux/devlink.h
+++ b/include/uapi/linux/devlink.h
@@ -195,6 +195,9 @@ enum devlink_port_flavour {
                                      * port that faces the PCI VF.
                                      */
        DEVLINK_PORT_FLAVOUR_VIRTUAL, /* Any virtual port facing the user. */
+       DEVLINK_PORT_FLAVOUR_UNUSED, /* Port which exists in the switch, but
+                                     * is not used in any way.
+                                     */
 };
 
 enum devlink_param_cmode {
diff --git a/net/core/devlink.c b/net/core/devlink.c
index ac32b672a04b..fc9589eb4115 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -7569,7 +7569,8 @@ static bool devlink_port_type_should_warn(struct 
devlink_port *devlink_port)
 {
        /* Ignore CPU and DSA flavours. */
        return devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_CPU &&
-              devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA;
+              devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA &&
+              devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_UNUSED;
 }
 
 #define DEVLINK_PORT_TYPE_WARN_TIMEOUT (HZ * 3600)
@@ -7854,6 +7855,7 @@ static int __devlink_port_phys_port_name_get(struct 
devlink_port *devlink_port,
                break;
        case DEVLINK_PORT_FLAVOUR_CPU:
        case DEVLINK_PORT_FLAVOUR_DSA:
+       case DEVLINK_PORT_FLAVOUR_UNUSED:
                /* As CPU and DSA ports do not have a netdevice associated
                 * case should not ever happen.
                 */
-- 
2.28.0

Reply via email to