lede/target/linux/ipq60xx/patches-5.15/0600-5.15-qca-nss-ssdk-delete-fdb-entry-using-netdev.patch
2022-09-12 14:06:04 +08:00

33 lines
957 B
Diff

--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -240,4 +240,7 @@ extern br_get_dst_hook_t __rcu *br_get_d
extern struct net_device *br_fdb_bridge_dev_get_and_hold(struct net_bridge *br);
/* QCA NSS bridge-mgr support - End */
+/* QCA NSS SSDK support - Start */
+extern int br_fdb_delete_by_netdev(struct net_device *dev,const unsigned char *addr, u16 vid);
+/* QCA NSS SSDK support - End */
#endif
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -1246,6 +1246,19 @@ static int __br_fdb_delete(struct net_br
return err;
}
+int br_fdb_delete_by_netdev(struct net_device *dev,
+ const unsigned char *addr, u16 vid)
+{
+ int err;
+
+ rtnl_lock();
+ err = br_fdb_delete(NULL, NULL, dev, addr, vid);
+ rtnl_unlock();
+
+ return err;
+}
+EXPORT_SYMBOL_GPL(br_fdb_delete_by_netdev);
+
/* Remove neighbor entry with RTM_DELNEIGH */
int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
struct net_device *dev,