diff options
Diffstat (limited to 'net/dsa/slave.c')
-rw-r--r-- | net/dsa/slave.c | 20 |
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 *****************************************/ | ||
945 | int 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 | |||
955 | int 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 | |||
944 | static const struct net_device_ops dsa_slave_netdev_ops = { | 964 | static 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, |