summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-05-21 08:08:29 -0400
committerGitHub <noreply@github.com>2020-05-21 08:08:29 -0400
commit737d73e519b9abfba70fbe4b033e55e135fb776d (patch)
treea120024837ec0240da0fa78c16869bbcaf9bf2a6
parent2fc593e95c627d77e54c04506fdcd3797956037e (diff)
parent265aabf85eb5e71e036b24568e021e9a81bc76ff (diff)
Merge pull request #6056 from sarav511/jpexp
pimd: Prune->noinfo state has to put off join expiry timer and delete ifchannel
-rw-r--r--pimd/pim_ifchannel.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c
index 70e06ccc4e..89fd2bd215 100644
--- a/pimd/pim_ifchannel.c
+++ b/pimd/pim_ifchannel.c
@@ -943,10 +943,13 @@ void pim_ifchannel_join_add(struct interface *ifp, struct in_addr neigh_addr,
THREAD_OFF(ch->t_ifjoin_expiry_timer);
break;
case PIM_IFJOIN_PRUNE:
- if (source_flags & PIM_ENCODE_RPT_BIT)
+ if (source_flags & PIM_ENCODE_RPT_BIT) {
pim_ifchannel_ifjoin_switch(__func__, ch,
PIM_IFJOIN_NOINFO);
- else
+ THREAD_OFF(ch->t_ifjoin_expiry_timer);
+ delete_on_noinfo(ch);
+ return;
+ } else
pim_ifchannel_ifjoin_handler(ch, pim_ifp);
break;
case PIM_IFJOIN_PRUNE_PENDING: