]> git.puffer.fish Git - matthieu/frr.git/commitdiff
BGP: Handle change to nexthop correctly
authorvivek <vivek@cumulusnetworks.com>
Sun, 15 Nov 2015 17:57:34 +0000 (09:57 -0800)
committervivek <vivek@cumulusnetworks.com>
Sun, 15 Nov 2015 17:57:34 +0000 (09:57 -0800)
When a nexthop change is received and processed, the change flags are not
examined correctly and route change flags not updated correctly. Fix to
ensure correct handling.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-8141
Reviewed By: CCR-3773
Testing Done: Manual verification

Note: Imported from 2.5-br patch bgpd-nht-fix-change-handling.patch

bgpd/bgp_nht.c

index 1824771e3a15309598ae67c0eab495b98d2dde70..197dd87585fe31b2548c27b1bdf8517956c9dc6e 100644 (file)
@@ -668,9 +668,11 @@ evaluate_paths (struct bgp_nexthop_cache *bnc)
       else if (path->extra)
        path->extra->igpmetric = 0;
 
-      if (CHECK_FLAG(bnc->flags, BGP_NEXTHOP_METRIC_CHANGED) ||
-         CHECK_FLAG(bnc->flags, BGP_NEXTHOP_CHANGED))
+      if (CHECK_FLAG(bnc->change_flags, BGP_NEXTHOP_METRIC_CHANGED) ||
+         CHECK_FLAG(bnc->change_flags, BGP_NEXTHOP_CHANGED))
        SET_FLAG(path->flags, BGP_INFO_IGP_CHANGED);
+      else
+        UNSET_FLAG (path->flags, BGP_INFO_IGP_CHANGED);
 
       bgp_process(bgp, rn, afi, SAFI_UNICAST);
     }