diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 6d4e3d1b1111..7c0d4c2e2222 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h @@ -65,6 +65,23 @@ void brioctl_set(int (*hook)(struct net *net, unsigned int cmd, void __user *uarg)); int br_ioctl_call(struct net *net, unsigned int cmd, void __user *uarg); +#if defined(CONFIG_CPE_FAST_PATH) +struct brevent_fdb_update { + char *mac_addr; + struct net_device *dev; + struct net_device *brdev; +}; + +enum brevent_notif_type { + BREVENT_PORT_DOWN = 1, /* arg is struct net_device ptr */ + BREVENT_FDB_UPDATE /* arg is struct brevent_fdb_update ptr */ +}; + +int register_brevent_notifier(struct notifier_block *nb); +int unregister_brevent_notifier(struct notifier_block *nb); +int call_brevent_notifiers(unsigned long val, void *v); +#endif + #if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING) int br_multicast_list_adjacent(struct net_device *dev, struct list_head *br_ip_list);