Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Understanding IS-IS Microloop Avoidance

SUMMARY Microloops can consume the available bandwidth of the links, which impacts the efficient transmission of useful packets. Microloop avoidance can prevent forwarding of looping packets.

Benefits of Avoiding Microloops in SRv6 Networks

  • Micro loop-free path avoids delays and traffic loss

  • Microloop avoidance can prevent forwarding of looping packets and avoid wasteful bandwidth consumption
  • Microloop avoidance path is computed only for the impacted links in case of multiple link failures. If the second link failure does not impact the computed microloop avoidance path, IS-IS continues to use the same microloop avoidance path.
Junos OS enables a device to defer IS-IS route download when an IS-IS link fails in order to avoid micro loops. When local links go down, the IS-IS protocol floods an entire area with the database. If the node connected to the local interface that has failed converges faster than the neighboring node, then the connected node redirects traffic to the converged path. This redirection can result in micro looping of traffic until the neighboring node converges. When the primary path of a protected node fails, the connected node does not need to converge quickly if the configured backup path is not impacted. In this case, traffic flow towards a converged path is deferred until the configured delay time. This time delay helps in avoiding microloops because all routers do not arrive at the post-convergence forwarding states simultaneously.

In the figure, the primary path from Source to Destination is SR0R1R2R3D. When the link between R2 and R3 fails, traffic sent from S to D, is subject to transient forwarding loops while routers update their forwarding state for destination D.

• If R0 updates its forwarding state before R5, packets will loop between R0 and R5

• If both R0 and R5, have updated their forwarding states, and R4 has not, packets will loop between R4 and R5.

• R0 detects the link failure between R2 and R3, and temporarily steers traffic destined to Destination over SR path [NodeSID(R4), AdjSID(R4->R3), D].

• When the configured timeout elapses, R0 just uses the node-SID to D to reach the destination.

Microloop Avoidance in SRv6 Networks

Starting in Junos OS Release 21.1R1, you can enable a post convergence path calculation on a device to avoid microloops if a link or metric change occurs in an SRv6 network. To configure microloop avoidance in an SRv6 network for both local and remote network events including link down, link-up, and metric-change, include the microloop avoidance post-convergence-path delay millisecondsstatement at the [edit protocols isis spf-options] hierarchy level. For effective microloop avoidance, configure this feature on all the nodes in the network.

Note:

Micro-loop avoidance is not a replacement for local repair mechanisms like TI-LFA which detects local failure very fast and activates a pre-computed loop-free-alternative path.

Microloop Avoidance in IS-IS SR-MPLS Networks

Starting in Junos OS Release 21.3R1, you can enable post-convergence path calculation on a device to avoid microloops between network devices. Microloops form when a network change such as a link or metric change occurs in a segment routing MPLS network. A network change might trigger a loop between upstream and downstream routers for a brief time period because the routers do not update their forwarding state simultaneously. Note that microloop avoidance is not a replacement for local repair mechanisms such as topology-independent loop-free alternate (TI-LFA).

To configure microloop avoidance in a segment routing MPLS network, include the maximum-labels and the maximum-srv6-sids statements at the [edit protocols isis spf-options microlooop-avoidance post-convergence-path]hierarchy level.

When an IPV6 prefix has both SR-MPLS- MLA and SRV6 micro-loop-avoiding paths available, we will prefer the SR-MPLS MLA path.​ SR-MPLS can provide micro-loop-avoiding paths for ipv4/ipv6 prefixes and SR-labels. ​ delay specifies the time in milliseconds for which we use the Micro-loop-Avoidance path, before transitioning to SPF path​. Note that microloop avoidance is not a replacement for local repair mechanisms such as topology-independent loop-free alternate (TI-LFA), which detects local failure very fast and activates a precomputed loop-free alternative path. Routers that implement micro-loop avoidance compute the micro-loop avoiding path only after receiving the link state update for the event. So, micro-loop avoidance mechanism is not a replacement for local repair mechanisms like TI-LFA which detect local failure very fast and activate a pre-computed loop-free-alternative path at PFE level. In the above example, if local repair mechanism is not present for the R2R3 failure, there will be lot of traffic loss before R0 can detect the failure(via global convergence) and program a micro-loop avoiding path. Micro-loop avoidance can’t avoid traffic loss due to delayed detection of the failure. Micro-loop avoidance will avoid traffic loss due to micro-loops only. Both local-repair mechanisms like TI-LFA and micro-loop avoidance, will have to be enabled on all the nodes in the network to ensure that traffic loss is in milli-seconds range.

To avoid micro-loops, the following process is used:

1. After computing the new path to D, for a predetermined time, R installs an entry for D that steers packets to D via a loop-free SR path. This time should be greater than worst case delay of any router in the network.

2. After the configured time delay, R installs the post-convergence route entry for D, which is without any SIDs.

Note:

If microloop avoidance is configured for both SRv6 and SR-MPLS, IS-IS prefers to take the SR-MPLS path.

Supported Platforms and Unsupported Features

Junos OS supports microloop avoidance on most platforms that support IS-IS. For details on specific devices and Junos OS releases that support IS-IS micro loop avoidance, see Feature Explorer.

Junos OS does not support the following features in conjunction with microloop avoidance:

  • Microloop avoidance path that needs more than 6 SIDs is not supported. If a node can handle only x number of SIDs then IS-IS does not provide a micro loop avoidance path. In such cases nodes can advertise that they can handle x number of SIDs.
  • Cannot prevent traffic loss because of slow control plane convergence.
  • ISIS multi-topology is not supported with microloop avoidance.
  • If shortcuts are available IS-IS does not provide a microloop avoidance path.