Physical port number and split group fields are applicable only to
physical port flavours such as PHYSICAL, CPU and DSA.
Hence limit returning those values in netlink response to such port
flavours.

Signed-off-by: Parav Pandit <pa...@mellanox.com>
---
 net/core/devlink.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index abe50a8e25c6..3e5f8204c36f 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -515,6 +515,10 @@ static int devlink_nl_port_attrs_put(struct sk_buff *msg,
                return 0;
        if (nla_put_u16(msg, DEVLINK_ATTR_PORT_FLAVOUR, attrs->flavour))
                return -EMSGSIZE;
+       if (devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_PHYSICAL &&
+           devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_CPU &&
+           devlink_port->attrs.flavour != DEVLINK_PORT_FLAVOUR_DSA)
+               return 0;
        if (nla_put_u32(msg, DEVLINK_ATTR_PORT_NUMBER,
                        attrs->physical.port_number))
                return -EMSGSIZE;
-- 
2.19.2

Reply via email to