--- zzzz-none-000/linux-3.10.107/net/bridge/br_stp.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/net/bridge/br_stp.c 2021-11-10 11:53:56.000000000 +0000 @@ -10,6 +10,13 @@ * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ + +/** + * Some part of this file is modified by Ikanos Communications. + * + * Copyright (C) 2013-2014 Ikanos Communications. + */ + #include #include @@ -20,7 +27,11 @@ * before sending, make sure that is at least one STP tick. */ #define MESSAGE_AGE_INCR ((HZ / 256) + 1) - +#if IS_ENABLED(CONFIG_FUSIV_KERNEL_AP_2_AP) +#if IS_ENABLED(CONFIG_MCAST_AP_SUPPORT) +void (*ap2apDelAllMulticastEntries_ptr) (void) = NULL; +#endif +#endif static const char *const br_port_state_names[] = { [BR_STATE_DISABLED] = "disabled", [BR_STATE_LISTENING] = "listening", @@ -121,6 +132,12 @@ struct net_bridge_port *p; u16 root_port = 0; +#if IS_ENABLED(CONFIG_FUSIV_KERNEL_AP_2_AP) +#if IS_ENABLED(CONFIG_MCAST_AP_SUPPORT) + if(ap2apDelAllMulticastEntries_ptr) + (*ap2apDelAllMulticastEntries_ptr)(); +#endif +#endif list_for_each_entry(p, &br->port_list, list) { if (!br_should_become_root_port(p, root_port)) continue; @@ -512,6 +529,11 @@ } } +#if IS_ENABLED(CONFIG_FUSIV_KERNEL_AP_2_AP) +#if IS_ENABLED(CONFIG_MCAST_AP_SUPPORT) +EXPORT_SYMBOL(ap2apDelAllMulticastEntries_ptr); +#endif +#endif /* Change bridge STP parameter */ int br_set_hello_time(struct net_bridge *br, unsigned long val) {