net: dsa: Implement ndo_get_phys_port_id
Implement ndo_get_phys_port_id() by returning the physical port number of the switch this per-port DSA created network interface corresponds to. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3d48b53fb2
commit
3a543ef479
1 changed files with 12 additions and 0 deletions
|
@ -984,6 +984,17 @@ static void dsa_slave_poll_controller(struct net_device *dev)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static int dsa_slave_get_phys_port_id(struct net_device *dev,
|
||||||
|
struct netdev_phys_item_id *ppid)
|
||||||
|
{
|
||||||
|
struct dsa_slave_priv *p = netdev_priv(dev);
|
||||||
|
|
||||||
|
ppid->id_len = sizeof(p->port);
|
||||||
|
memcpy(ppid->id, &p->port, ppid->id_len);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void dsa_cpu_port_ethtool_init(struct ethtool_ops *ops)
|
void dsa_cpu_port_ethtool_init(struct ethtool_ops *ops)
|
||||||
{
|
{
|
||||||
ops->get_sset_count = dsa_cpu_port_get_sset_count;
|
ops->get_sset_count = dsa_cpu_port_get_sset_count;
|
||||||
|
@ -1031,6 +1042,7 @@ static const struct net_device_ops dsa_slave_netdev_ops = {
|
||||||
.ndo_bridge_getlink = switchdev_port_bridge_getlink,
|
.ndo_bridge_getlink = switchdev_port_bridge_getlink,
|
||||||
.ndo_bridge_setlink = switchdev_port_bridge_setlink,
|
.ndo_bridge_setlink = switchdev_port_bridge_setlink,
|
||||||
.ndo_bridge_dellink = switchdev_port_bridge_dellink,
|
.ndo_bridge_dellink = switchdev_port_bridge_dellink,
|
||||||
|
.ndo_get_phys_port_id = dsa_slave_get_phys_port_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct switchdev_ops dsa_slave_switchdev_ops = {
|
static const struct switchdev_ops dsa_slave_switchdev_ops = {
|
||||||
|
|
Loading…
Reference in a new issue