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 <sharpd@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
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;
+ }
}
}
}