From: saravanank Date: Thu, 19 Mar 2020 09:31:42 +0000 (-0700) Subject: pimd: PIM not processing (*,G) joins sent during Prune-Pending State X-Git-Tag: base_7.6~410^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=877ebdf025bad3ccf4fbe0ccccd8a2dc58d05e0b;p=mirror%2Ffrr.git pimd: PIM not processing (*,G) joins sent during Prune-Pending State RCA: starg join fell in to SGRpt join check and was treated as SGRpt join so ifchannel state machine moved from prunepending to noinfo. Fix: Check if it is starg join and process Signed-off-by: Saravanan K --- diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index d6a9ba266b..3e08a46aa9 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -955,7 +955,10 @@ void pim_ifchannel_join_add(struct interface *ifp, struct in_addr neigh_addr, * triggering Join/Prune message. */ THREAD_OFF(ch->t_ifjoin_prune_pending_timer); - if (source_flags & PIM_ENCODE_RPT_BIT) { + + /* Check if SGRpt join Received */ + if ((source_flags & PIM_ENCODE_RPT_BIT) + && (sg->src.s_addr != INADDR_ANY)) { /* * Transitions from Prune-Pending State (Rcv SGRpt Join) * RFC 7761 Sec 4.5.3: