summaryrefslogtreecommitdiffstats
path: root/net/dsa/slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dsa/slave.c')
-rw-r--r--net/dsa/slave.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 895db05d8c82..5d6475a6cc5d 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -941,6 +941,26 @@ static const struct ethtool_ops dsa_slave_ethtool_ops = {
941 .set_rxnfc = dsa_slave_set_rxnfc, 941 .set_rxnfc = dsa_slave_set_rxnfc,
942}; 942};
943 943
944/* legacy way, bypassing the bridge *****************************************/
945int dsa_legacy_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
946 struct net_device *dev,
947 const unsigned char *addr, u16 vid,
948 u16 flags)
949{
950 struct dsa_port *dp = dsa_slave_to_port(dev);
951
952 return dsa_port_fdb_add(dp, addr, vid);
953}
954
955int dsa_legacy_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
956 struct net_device *dev,
957 const unsigned char *addr, u16 vid)
958{
959 struct dsa_port *dp = dsa_slave_to_port(dev);
960
961 return dsa_port_fdb_del(dp, addr, vid);
962}
963
944static const struct net_device_ops dsa_slave_netdev_ops = { 964static const struct net_device_ops dsa_slave_netdev_ops = {
945 .ndo_open = dsa_slave_open, 965 .ndo_open = dsa_slave_open,
946 .ndo_stop = dsa_slave_close, 966 .ndo_stop = dsa_slave_close,