--- zzzz-none-000/linux-5.15.111/net/bridge/br_if.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/net/bridge/br_if.c 2024-02-07 10:23:29.000000000 +0000 @@ -7,6 +7,10 @@ * Lennert Buytenhek */ +/* + * Includes Intel Corporation's changes/modifications dated: 2017, 2018. + * Changed/modified portions - Copyright (c) 2017-2018, Intel Corporation + */ #include #include #include @@ -325,6 +329,9 @@ struct net_bridge *br = p->br; struct net_device *dev = p->dev; +#ifdef CONFIG_LTQ_MCAST_SNOOPING + br_mcast_port_cleanup(p); +#endif sysfs_remove_link(br->ifobj, p->dev->name); nbp_delete_promisc(p); @@ -430,6 +437,10 @@ p->port_no = index; p->flags = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD; br_init_port(p); +#ifdef CONFIG_LTQ_MCAST_SNOOPING + br_mcast_port_init(p); + spin_lock_init(&p->mghash_lock); +#endif br_set_state(p, BR_STATE_DISABLED); br_stp_port_timer_init(p); err = br_multicast_add_port(p); @@ -706,6 +717,9 @@ kobject_uevent(&p->kobj, KOBJ_ADD); +#ifdef CONFIG_LTQ_MCAST_SNOOPING + br_ifinfo_notify(RTM_NEWLINK, NULL, p); +#endif return 0; err6: