From: Donald Sharp Date: Mon, 24 Oct 2016 02:35:47 +0000 (-0400) Subject: pimd: Fix child ifchannel overwrite parent ifchannel X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~167 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7c4002dd3ecb0bd4afc0d5ae5b8f7f3e5d046731;p=mirror%2Ffrr.git pimd: Fix child ifchannel overwrite parent ifchannel When we look for child channels, don't overwrite the parents ifchannel. Leave that one alone. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index 0f7413c500..a811742e3e 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -822,7 +822,7 @@ void pim_ifchannel_local_membership_del(struct interface *ifp, if (child->parent == up) { struct channel_oil *c_oil = child->channel_oil; - struct pim_ifchannel *ch = pim_ifchannel_find (ifp, &child->sg); + struct pim_ifchannel *chchannel = pim_ifchannel_find (ifp, &child->sg); struct pim_interface *pim_ifp = ifp->info; if (PIM_DEBUG_EVENTS) @@ -842,7 +842,7 @@ void pim_ifchannel_local_membership_del(struct interface *ifp, * has output here then the *,G was supplying the implied * if channel. So remove it. */ - if (!ch && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index]) + if (!chchannel && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index]) pim_channel_del_oif (c_oil, ifp, PIM_OIF_FLAG_PROTO_PIM); } }