From: Donald Sharp Date: Wed, 21 Sep 2016 20:16:43 +0000 (-0400) Subject: pimd: Do not send register stop in some cases X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~208 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7ef660465814ed12df05457ab8b8ae6b63fd2dc2;p=mirror%2Ffrr.git pimd: Do not send register stop in some cases When we are disabling pim, there exists some race conditions where we are attempting to send a register stop out a interface that is not setup for pim yet. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index b495f39182..027a4ca0c4 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -999,6 +999,13 @@ pim_upstream_register_stop_timer (struct thread *t) break; case PIM_UPSTREAM_PRUNE: pim_ifp = up->rpf.source_nexthop.interface->info; + if (!pim_ifp) + { + if (PIM_DEBUG_TRACE) + zlog_debug ("%s: Interface: %s is not configured for pim", + __PRETTY_FUNCTION__, up->rpf.source_nexthop.interface->name); + return 0; + } up->join_state = PIM_UPSTREAM_JOIN_PENDING; pim_upstream_start_register_stop_timer (up, 1);