From 5575a6bb924f11f45429c1e1a618bb0bfdb81892 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 2 May 2016 23:52:00 -0400 Subject: [PATCH] bgpd: Fix call bgp_zebra_terminate_radv The call into bgp_zebra_terminate_radv was setting the peer->ifp to NULL before calling into bgp_zebra_terminate_radv. Signed-off-by: Donald Sharp Reviewed-by: Vivek Venkatraman --- bgpd/bgp_zebra.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 7f5f47e062..377a6e08a6 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -183,11 +183,16 @@ bgp_update_interface_nbrs (struct bgp *bgp, struct interface *ifp, if (peer->conf_if && (strcmp (peer->conf_if, ifp->name) == 0)) { - peer->ifp = upd_ifp; if (upd_ifp) - bgp_zebra_initiate_radv (bgp, peer); + { + peer->ifp = upd_ifp; + bgp_zebra_initiate_radv (bgp, peer); + } else - bgp_zebra_terminate_radv (bgp, peer); + { + bgp_zebra_terminate_radv (bgp, peer); + peer->ifp = upd_ifp; + } } } }