From 7ef660465814ed12df05457ab8b8ae6b63fd2dc2 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 21 Sep 2016 16:16:43 -0400 Subject: [PATCH] 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 --- pimd/pim_upstream.c | 7 +++++++ 1 file changed, 7 insertions(+) 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); -- 2.39.5