From: Donald Sharp Date: Fri, 28 Oct 2016 19:25:56 +0000 (-0400) Subject: pimd: Ignore (S,G) Prunes with no current state X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~155 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=df90067aac1ec387fc073ba821ee89eee24cf267;p=mirror%2Ffrr.git pimd: Ignore (S,G) Prunes with no current state If we get a (S,G) Prune with no current ifchannel state, ignore the neighbors request. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index 0c4be9a518..ee09bf4fcb 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -727,6 +727,15 @@ void pim_ifchannel_prune(struct interface *ifp, return; } + ch = pim_ifchannel_find (ifp, sg); + if (!ch && !(source_flags & PIM_ENCODE_RPT_BIT)) + { + if (PIM_DEBUG_TRACE) + zlog_debug ("%s: Received prune with no relevant ifchannel %s(%s) state: %d", + __PRETTY_FUNCTION__, ifp->name, pim_str_sg_dump (sg), source_flags); + return; + } + ch = pim_ifchannel_add(ifp, sg, PIM_UPSTREAM_FLAG_MASK_SRC_PIM); if (!ch) return;