The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The feature enables link-state routing protocols such as IS-IS and OSPF to prevent or avoid microloops during network convergence
after a topology undergoes any change.
Feature Information for Segment Routing OSPFv2 Microloop Avoidance
The following table provides release information about the feature or features described in this module. This table lists
only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise,
subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco
Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.
Table 1. Feature Information for Segment Routing OSPFv2 Microloop Avoidance
Feature Name
Releases
Feature Information
Segment Routing OSPFv2 Microloop Avoidance
Cisco IOS XE Amsterdam 17.3.2
The Segment Routing microloop avoidance feature enables link-state routing protocols such as IS-IS and OSPF to prevent or
avoid microloops during network convergence after a topology change.
The following commands was introduced/modified by this feature: microloop avoidancesegment-routing.
Information About Segment Routing OSPFv2 Microloop Avoidance
Microloops are brief packet loops that occur in the network following a topology change (link down, link up, or metric change
events). Microloops are caused by the non-simultaneous convergence of different nodes in the network. If nodes converge and
send traffic to a neighbor node that has not converged, traffic may be looped between these two nodes, resulting in packet
loss, jitter, and out-of-order packets.
If segment routing microloop avoidance feature detects a topology change, it creates a loop-free path to the destination
using a list of segments.
Microloops
When changes occur in a network topology because of the failure or restoration of a link or a network device, IP Fast Reroute
enables rapid network convergence by moving traffic to precomputed backup paths until regular convergence mechanisms move
traffic to a newly computed best path, which is also known as a post-convergence path. This network convergence may cause
short microloops between two directly or indirectly connected devices in the topology. Microloops are caused when different
nodes in the network calculate alternate paths at different times and independently of each other. For instance, if a node
converges and sends traffic to a neighbor node, which has not converged yet, traffic may loop between the two nodes.
Microloops may or may not result in traffic loss. If the duration of a microloop is short, that is the network converges quickly,
packets may loop for a short duration before their time-to-live (TTL) expires. Eventually, the packets will get forwarded
to the destination. If the duration of the microloop is long, that is one of the routers in the network is slow to converge,
packets may expire their TTL or the packet rate may exceed the bandwidth, or the packets might be out of order, and packets
may dropped.
Microloops that are formed between a failed device and its neighbors are called local uloops, whereas microloops that are
formed between devices that are multiple hops away are called remote uloops. Local uloops are usually seen in networks where
local loop-free alternate (LFA) path is not available. In such networks, remote LFAs provide backup paths for the network.
The information discussed above can be illustrated with the help of an example topology.
The assumptions in this example are as follows:
The default metrics is 10 for each link except for the link between Node 3 and Node 6, which has a metric of 50. The order
of convergence with SPF backoff delays on each node is as follows:
Node 3—50 milliseconds
Node 1—500 milliseconds
Node 2—1 second
Node 7—1.5 seconds
A packet sent from Node 3 to Node 9, the destination, traverses via Node 6.
If a link is established between Node 6 and Node 7, the shortest path for a packet from Node 3 to Node 9 would be Node 1,
Node 2, Node 7, and Node 6 before the packet reaches the destination, Node 9.
The following figure shows the Forwarding Information Base (FIB) table in each node before the link between Node 6 and Node
7 is established. The FIB entry contains the prefix of the destination node (Node 9) and the next hop.
When the link between Node 6 and Node 7 comes up, microloops occur for the links based on the order of convergence of each
node. In this example, Node 3 converges first with Node 1 resulting in a microloop between Node 3 and Node 1. Then, Node 1
converges next resulting in a microloop between Node 1 and Node 2. Next, Node 2 converges next resulting in a microloop between
Node 2 and Node 7. Finally, Node 7 converges resolving the microloop and the packet reaches the destination Node 9, as shown
in the following figure.
Adding the SPF convergence delay, microloop results in a loss of connectivity for 1.5 seconds, which is the convergence duration
specified for node 7.
Preventing Microloops using Segment Routing
This section explains how segment routing prevents microloops using an example. Node 3 in the example is enabled with the
microloop avoidance segment-routing command.
Instead of updating the FIB table, Node 3 builds a dynamic loop-free path to the destination (Node 9) using a list of segments
IDs, which include the prefix segment ID (SID) of Node 7, which is 16007, and the adjacency segment ID (SID) of Node 6, which
is 24076.
So the packet from Node 3 reaches its destination Node 9 without the risk of microloop until the network converges. Finally,
Node 3 updates the FIB with the new path.
Prerequisites for Segment Routing OSPFv2 Microloop Avoidance
Before configuring SR microloop avoidance, ensure that the segment routing is globally configured in the OSPF router mode.
router ospf process
segment-routing mpls
Restrictions for Segment Routing OSPFv2 Microloop Avoidance
Segment Routing OSPFv2 microloop avoidance does not support Multi Topology Routing (MTR). It supports only MTID 0.
A list of segment IDs along the post convergence path is used only if the nodes in the the list are SR capable and have atleast
one node SID. Otherwise, OSPF installs the post convergence path immediately.
SR microloop avoidance is used for link up, link down, and link metric change events of point-to-point interfaces and broadcast
interfaces with two neighbors only.
SR microloop avoidance can be used only for one topology change. When multiple topology changes occur, OSPF installs the post
convergence path immediately.
The microloop avoidance rib-update-delaydelay-time command is used to configure the delay in milliseconds for a node to wait before updating the node’s forwarding table and
stops using the microloop avoidance. The default value for the RIB delay is 5000 milliseconds.