diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 9a3d6f2b8c1e..b4f7b2c1d9aa 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -620,6 +620,11 @@ struct br_input_skb_cb { #endif u32 backup_nhid; + +#ifdef CONFIG_CPE_FAST_PATH + u16 vid; + u8 untagged:1; +#endif }; #define BR_INPUT_SKB_CB(__skb) ((struct br_input_skb_cb *)(__skb)->cb) @@ -859,6 +864,11 @@ int br_fdb_add_local(struct net_bridge *br, struct net_bridge_port *source, void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, const unsigned char *addr, u16 vid, unsigned long flags); +#if defined(CONFIG_CPE_FAST_PATH) +extern void br_fdb_register_can_expire_cb(int(*cb)(unsigned char *mac_addr, struct net_device *dev)); +extern void br_fdb_deregister_can_expire_cb(void); +#endif + int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[], struct net_device *dev, const unsigned char *addr, u16 vid, bool *notified, struct netlink_ext_ack *extack);