bgpd: Set the ifindex to DELETED after we notify zebra

The code path for a deleted interface was calling
zebra with a IFINDEX_DELETED, which caused zebra
to bitch and moan about the issue.  Since the
only thing this function does is call zebra
to deregister the RA stuff, don't set the
ifindex to DELETED till afterwords.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-07-26 09:57:35 -04:00
parent 0d510865ec
commit 647450524c

View File

@ -269,8 +269,6 @@ static int bgp_interface_delete(int command, struct zclient *zclient,
if (!ifp) /* This may happen if we've just unregistered for a VRF. */
return 0;
ifp->ifindex = IFINDEX_DELETED;
if (BGP_DEBUG(zebra, ZEBRA))
zlog_debug("Rx Intf del VRF %u IF %s", vrf_id, ifp->name);
@ -279,6 +277,8 @@ static int bgp_interface_delete(int command, struct zclient *zclient,
return 0;
bgp_update_interface_nbrs(bgp, ifp, NULL);
ifp->ifindex = IFINDEX_DELETED;
return 0;
}