switchdev: vlan: Use switchdev_port* in vlan_netdev_ops
We need to be able to propagate static FDB entries and certain bridge port attributes (e.g. learning, flooding) down to the port netdev driver when bridge port is a VLAN interface. Achieve that by setting ndo_bridge* and ndo_fdb* in vlan_netdev_ops to the corresponding switchdev_port* functions. This is consistent with team and bond devices. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
335b320940
Коммит
9d547833f0
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/etherdevice.h>
|
#include <linux/etherdevice.h>
|
||||||
#include <linux/ethtool.h>
|
#include <linux/ethtool.h>
|
||||||
#include <net/arp.h>
|
#include <net/arp.h>
|
||||||
|
#include <net/switchdev.h>
|
||||||
|
|
||||||
#include "vlan.h"
|
#include "vlan.h"
|
||||||
#include "vlanproc.h"
|
#include "vlanproc.h"
|
||||||
|
@ -774,6 +775,12 @@ static const struct net_device_ops vlan_netdev_ops = {
|
||||||
.ndo_netpoll_cleanup = vlan_dev_netpoll_cleanup,
|
.ndo_netpoll_cleanup = vlan_dev_netpoll_cleanup,
|
||||||
#endif
|
#endif
|
||||||
.ndo_fix_features = vlan_dev_fix_features,
|
.ndo_fix_features = vlan_dev_fix_features,
|
||||||
|
.ndo_fdb_add = switchdev_port_fdb_add,
|
||||||
|
.ndo_fdb_del = switchdev_port_fdb_del,
|
||||||
|
.ndo_fdb_dump = switchdev_port_fdb_dump,
|
||||||
|
.ndo_bridge_setlink = switchdev_port_bridge_setlink,
|
||||||
|
.ndo_bridge_getlink = switchdev_port_bridge_getlink,
|
||||||
|
.ndo_bridge_dellink = switchdev_port_bridge_dellink,
|
||||||
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
|
.ndo_get_lock_subclass = vlan_dev_get_lock_subclass,
|
||||||
.ndo_get_iflink = vlan_dev_get_iflink,
|
.ndo_get_iflink = vlan_dev_get_iflink,
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче