From: Donald Sharp Date: Wed, 26 Jul 2017 13:57:35 +0000 (-0400) Subject: bgpd: Set the ifindex to DELETED after we notify zebra X-Git-Tag: frr-4.0-dev~485^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=647450524c42ba88c8b5acd60255e9018734c6b9;p=mirror%2Ffrr.git 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 --- diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 8bf5477a61..4870e54aec 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -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; }