]> git.puffer.fish Git - matthieu/frr.git/commitdiff
BGP: Handle unknown interface at delete
authorvivek <vivek@cumulusnetworks.com>
Wed, 2 Mar 2016 07:40:14 +0000 (07:40 +0000)
committervivek <vivek@cumulusnetworks.com>
Wed, 2 Mar 2016 07:40:14 +0000 (07:40 +0000)
When BGP deals with interfaces at a VRF-level, it may get an interface delete
for a VRF which it has just de-registered, so it may not be able to locate
the interface. This is no longer an error, so handle this in the message
processing.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-9462
Reviewed By: None (trivial)
Testing Done: None

bgpd/bgp_zebra.c

index 720972e3acde93ad4ef95939aa2e44acb0427003..0e831523971aa28da5f6bc9517f8dddcadcda706 100644 (file)
@@ -316,6 +316,9 @@ bgp_interface_delete (int command, struct zclient *zclient,
 
   s = zclient->ibuf;
   ifp = zebra_interface_state_read (s, vrf_id);
+  if (! ifp) /* This may happen if we've just unregistered for a VRF. */
+    return 0;
+
   ifp->ifindex = IFINDEX_INTERNAL;
 
   if (BGP_DEBUG (zebra, ZEBRA))