From 877ebdf025bad3ccf4fbe0ccccd8a2dc58d05e0b Mon Sep 17 00:00:00 2001 From: saravanank Date: Thu, 19 Mar 2020 02:31:42 -0700 Subject: [PATCH] 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 --- pimd/pim_ifchannel.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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: -- 2.39.5