]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix child ifchannel overwrite parent ifchannel
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Oct 2016 02:35:47 +0000 (22:35 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:12 +0000 (20:26 -0500)
When we look for child channels, don't overwrite the
parents ifchannel.  Leave that one alone.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_ifchannel.c

index 0f7413c500f0343cbb1c62d2a896e1bac7f6c8d4..a811742e3e9b651d0550880bba373ce66d3ec613 100644 (file)
@@ -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);
            }
         }