net: dsa: slave: Handle switchdev host mdb add/del
Add code to handle switchdev host mdb add/del. Since DSA uses one of the switch ports as a transport to the host, we just need to add an MDB on this port. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
47d5b6db2a
Коммит
5f4dbc50ce
|
@ -304,6 +304,13 @@ static int dsa_slave_port_obj_add(struct net_device *dev,
|
|||
case SWITCHDEV_OBJ_ID_PORT_MDB:
|
||||
err = dsa_port_mdb_add(dp, SWITCHDEV_OBJ_PORT_MDB(obj), trans);
|
||||
break;
|
||||
case SWITCHDEV_OBJ_ID_HOST_MDB:
|
||||
/* DSA can directly translate this to a normal MDB add,
|
||||
* but on the CPU port.
|
||||
*/
|
||||
err = dsa_port_mdb_add(dp->cpu_dp, SWITCHDEV_OBJ_PORT_MDB(obj),
|
||||
trans);
|
||||
break;
|
||||
case SWITCHDEV_OBJ_ID_PORT_VLAN:
|
||||
err = dsa_port_vlan_add(dp, SWITCHDEV_OBJ_PORT_VLAN(obj),
|
||||
trans);
|
||||
|
@ -326,6 +333,12 @@ static int dsa_slave_port_obj_del(struct net_device *dev,
|
|||
case SWITCHDEV_OBJ_ID_PORT_MDB:
|
||||
err = dsa_port_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj));
|
||||
break;
|
||||
case SWITCHDEV_OBJ_ID_HOST_MDB:
|
||||
/* DSA can directly translate this to a normal MDB add,
|
||||
* but on the CPU port.
|
||||
*/
|
||||
err = dsa_port_mdb_del(dp->cpu_dp, SWITCHDEV_OBJ_PORT_MDB(obj));
|
||||
break;
|
||||
case SWITCHDEV_OBJ_ID_PORT_VLAN:
|
||||
err = dsa_port_vlan_del(dp, SWITCHDEV_OBJ_PORT_VLAN(obj));
|
||||
break;
|
||||
|
|
Загрузка…
Ссылка в новой задаче