Tue, Jan 10, 2017 at 09:32:36PM CET, f.faine...@gmail.com wrote:
>Return the physical port number of a DSA created network device using
>ndo_get_phys_port_name().
>
>Signed-off-by: Florian Fainelli <f.faine...@gmail.com>

Reviewed-by: Jiri Pirko <j...@mellanox.com>


>---
> net/dsa/slave.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
>diff --git a/net/dsa/slave.c b/net/dsa/slave.c
>index 5cd5b8137c08..fed3fbd403cb 100644
>--- a/net/dsa/slave.c
>+++ b/net/dsa/slave.c
>@@ -990,6 +990,15 @@ static int dsa_slave_get_phys_port_id(struct net_device 
>*dev,
> 
>       ppid->id_len = sizeof(p->port);
>       memcpy(ppid->id, &p->port, ppid->id_len);
>+}
>+
>+static int dsa_slave_get_phys_port_name(struct net_device *dev,
>+                                      char *name, size_t len)
>+{
>+      struct dsa_slave_priv *p = netdev_priv(dev);
>+
>+      if (snprintf(name, len, "p%d", p->port) >= len)
>+              return -EINVAL;
> 
>       return 0;
> }
>@@ -1042,6 +1051,7 @@ static const struct net_device_ops dsa_slave_netdev_ops 
>= {
>       .ndo_bridge_setlink     = switchdev_port_bridge_setlink,
>       .ndo_bridge_dellink     = switchdev_port_bridge_dellink,
>       .ndo_get_phys_port_id   = dsa_slave_get_phys_port_id,
>+      .ndo_get_phys_port_name = dsa_slave_get_phys_port_name,
> };
> 
> static const struct switchdev_ops dsa_slave_switchdev_ops = {
>-- 
>2.9.3
>

Reply via email to