mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 15:10:38 +00:00
pimd: When loosing *,G igmp report notify S,G too
When we have a S,G that was created due to the *,G IGMP report going away, safely remove the S,G as well. Ticket: CM-15838 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
This commit is contained in:
parent
df94f9a91d
commit
cf528e4f26
@ -1054,9 +1054,9 @@ void pim_ifchannel_local_membership_del(struct interface *ifp,
|
||||
{
|
||||
struct pim_upstream *up = pim_upstream_find (sg);
|
||||
struct pim_upstream *child;
|
||||
struct listnode *up_node;
|
||||
struct listnode *up_node, *up_nnode;
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (up->sources, up_node, child))
|
||||
for (ALL_LIST_ELEMENTS (up->sources, up_node, up_nnode, child))
|
||||
{
|
||||
struct channel_oil *c_oil = child->channel_oil;
|
||||
struct pim_ifchannel *chchannel = pim_ifchannel_find (ifp, &child->sg);
|
||||
@ -1077,6 +1077,9 @@ void pim_ifchannel_local_membership_del(struct interface *ifp,
|
||||
*/
|
||||
if (!chchannel && c_oil && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index])
|
||||
pim_channel_del_oif (c_oil, ifp, PIM_OIF_FLAG_PROTO_STAR);
|
||||
|
||||
if (c_oil->oil_size == 0)
|
||||
pim_upstream_del (child, __PRETTY_FUNCTION__);
|
||||
}
|
||||
}
|
||||
delete_on_noinfo(ch);
|
||||
|
Loading…
Reference in New Issue
Block a user