From 647450524c42ba88c8b5acd60255e9018734c6b9 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 26 Jul 2017 09:57:35 -0400 Subject: [PATCH] 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 --- bgpd/bgp_zebra.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 2.39.5