The SRĀ OS micro-loop avoidance algorithm provides a loop-free mechanism in accordance with IETF draft-bashandy-rtgwg-segment-routing-uloop. The algorithm supports a single event on a P2P link or broadcast link with two neighbors for only the following cases:
link addition or restoration
link removal or failure
link metric change
Using the algorithm, the router applies the following micro-loop avoidance process.
After it receives the topology updates and before the new SPF is started, the router verifies that the update corresponds to a single link event. Updates for the two directions of the link are treated as a single link event.
If two or more link events are detected, the micro-loop avoidance procedure is aborted for this SPF and the existing behavior is maintained.
The main SPF and LFA SPFs (base LFA, remote LFA, and/or TI-LFA based on the user configuration in that IGP instance) are run.
No action is performed for a node or a prefix if the SPF has resulted in no change to its next hop(s) and metric(s).
No action is performed for a node or a prefix if the SPF has resulted in a change to its next-hop(s) and/or metric(s), and the new next hops are resolved over RSVP-TE LSPs used as IGP shortcuts.
The route is marked as micro-loop avoidance eligible for a node or a prefix if the SPF has resulted in a change to its next hop(s) or metric(s). The router performs the following:
for each SR node SID that uses a micro-loop avoidance eligible route with ECMP next hops, activates the common set of next hops between the previous and new SPF
for each SR node SID that uses a micro-loop-avoidance eligible route with a single next-hop, computes and activates a loop-free SR tunnel applicable to the specific link event
This tunnel acts as the micro-loop avoidance primary path for the route and uses the same outgoing interface as the newly computed primary next hop.
See Micro-Loop Avoidance for Link Addition, Restoration, or Metric Decrease and Micro-Loop Avoidance for Link Removal, Failure, or Metric Increase.
programs the TI-LFA, base LFA, or remote LFA backup path that protects the new primary next hop of the node SID
The fib-delay timer is started to delay the programming of the new main and LFA SPF results into the FIB.
The new primary next hop(s) are programmed for node SID routes that are marked eligible for the micro-loop avoidance procedure upon the expiration of the fib-delay timer.
If a CPM switchover is triggered while the fib-delay timer is running, the timer is forced to expire and the entire procedure is aborted.
In both cases, the next hops from the most recently run SPF are programmed for all impacted node SIDs. A subsequent event restarts the procedure at Step1.