In this post we are going slightly deep into BGP operation on the CISCO IOS. Lets start this by discussing the BGP scanner operation, then we can talk about the next-hop address tracking feature.
For each route installed in the BGP table a next hop address must exist and this next hop must be reachable in terms of an IGP. If the next hop is not reachable the route will not be considered for the best path algorithm and will never be used by BGP.
One of the major functions of the BGP scanner is to check the rechability of the next-hops for the routes existing in the BGP table. The BGP scanner runs every 60 seconds by default to make this housekeeping, however during this 60 seconds routing black holes may occur if the next hop changed before the BGP scanner timer expires. In the worst case you may have a black hole for 60 seconds; however I think the real number will be statistically very lower.
The Next-hop address tracking feature was created to avoid black holing problems, provide faster convergence and stability. This feature is event driven and its role is to walk the routing table as soon as the IGP change is detected to adjust the BGP table information. The delay interval between routing table walks is 5 seconds by default, this is optimal for fast tuned IGP. This value can be changed to match the IGP convergnece timers for optimum performance.
The feature is enabled by default in almost all new IOS releases, but still can be disabled by using the command no bgp next-hop triggered enable.
“You cannot depend on your eyes when your imagination is out of focus.” -Mark Twain