Prerequisites for ISIS - SRv6: uLoop Avoidance
-
When the Topology-Independent Loop-Free Alternate (TI-LFA) feature is configured, IS-IS SRv6 uloop avoidance is enabled automatically.
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.
From Cisco IOS XE 17.15.1a, the ISIS - SRv6: uLoop Avoidance feature extends the ISIS Local Microloop Protection feature thereby preventing the occurrences of microloops during network convergence after a link-down event or link-up event.
When the Topology-Independent Loop-Free Alternate (TI-LFA) feature is configured, IS-IS SRv6 uloop avoidance is enabled automatically.
There are no specific restrictions for this feature.
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, 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 get 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 as shown in the following figure.
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.
The ISIS - SRV6: uLoop Avoidance feature supports the following scenarios, with only one event supported at a time:
link-up
link-down
link cost increase
link cost decrease
overload bit set
overload bit cleared
Note |
Node up/down are not supported as these are multiple events. |
Using the example used to explain microloops, this section explains how to segment routing prevents microloops.Node 3 in the example is enabled with the microloop avoidance segment-routing command. After the link between Node 6 and Node 7 comes up, Node 3 computes a new microloop on the network.
Instead of updating the FIB table, Node 3 builds a dynamic loop-free alternate (LFA) SRv6 TE policy for the destination (Node 9) using a list of segments IDs, whichincludes the adjacency segment ID (SID) of Node 6 on Node 7, which is F:1:7:E002::.
So, the SRv6 TE policy enables a packet from Node 3 reaches its destination Node 9, without the risk of microloop until the network converges. Finally, Node 3 updates the FIB for the new path.
Microloop avoidance is available for all IPv6 prefix types, with the microloop avoidance segment-routing command, under the address-family ipv6 configuration. The microloop avoidance rib-update-delay milliseconds command can be used to configure the delay in milliseconds for a node to wait before updating the node’s forwarding table and stop using the microloop avoidance policy. The default value for the RIB delay is 5000 milliseconds.
From Cisco IOS XE 17.15.1a, the ISIS - SRv6: uLoop Avoidance feature is supported on the following platforms:
Cisco ASR1000 RP3 + ESP100-X, ASR1001-HX, ASR1002-HX
Cisco Catalyst 8000V Edge Software
Cisco Catalyst 8200 Series Edge platforms
Cisco Catalyst 8300 Series Edge platforms
Cisco Catalyst 8500 and 8500L Series Edge platforms
Use the microloop avoidance command under address-family ipv6 to enable SRv6 uLoop avoidance.
Note |
SRv6 uLoop avoidance is enabled by default when SRv6 TILFA is enabled. |
router(config-router-af)# microloop avoidance ?
disable Disable Microloop avoidance
rib-update-delay Microloop avoidance RIB update delay
segment-routing Configuring Segment-Routing Microloop Avoidance
The following is a sample configuration to enable SRv6 uLoop avoidance:
router isis
address-family ipv6
microloop avoidance segment-routing
microloop avoidance rib-update-delay 3000
Use the show isis ipv6 rib command to verify the uLoop configuration.
router# show isis ipv6 rib FCCC:CCC1:F1::/48
* FCCC:CCC1:F1::/48
via ULOOP_EP SRv6-Fwd-Id 25165888, type L1 metric 120 tag 0
P node: R5 SID FCCC:CCC1:E1:: uN (PSP/USD)
Q node: R6 SID FCCC:CCC1:E1:E001:: uA (PSP/USD)
prefix attr: X:0 R:0 N:0
(installed)
- - - - - -
via FE80::A8BB:CCFF:FE00:9D21/Ethernet1/2, type L1 metric 120 tag 0
prefix attr: X:0 R:0 N:0
Use the show ipv6 microloop-avoidance commands to display the current uLoop status.
router# show isis ipv6 microloop-avoidance
Tag: 1
Algo State Delay Running(L1/L2)
0 Segment-Routing 3000 FALSE/FALSE
router#
router# show isis ipv6 microloop-avoidance log
Tag:1 LVL:1
Timestamp Algo Event Reason
*Jul 18 09:49:44.885 CST 0 EXPIRED NA
*Jul 18 09:49:29.885 CST 0 STARTED LINK UP
*Jul 18 09:46:46.064 CST 0 ABORTED NA
*Jul 18 09:46:44.942 CST 0 STARTED LINK DOWN
*Jul 18 09:46:17.536 CST 0 EXPIRED NA
*Jul 18 09:46:02.536 CST 0 STARTED LINK DOWN
*Jul 17 19:39:47.748 CST 0 EXPIRED NA
*Jul 17 19:39:32.748 CST 0 STARTED LINK UP
*Jul 17 19:28:42.973 CST 0 EXPIRED NA
Related Topic |
Document Title |
---|---|
“Segment Routing with IS-IS v4 Node SID” chapter in the Segment Routing Configuration Guide, Cisco IOS XE 17 |
|
“IS-IS Overview and Basic Configuration” chapter in the IP Routing Configuration Guide, Cisco IOS XE 17.x |
|
“ISIS Local Microloop Protection” chapter in the IP Routing Configuration Guide, Cisco IOS XE 17.x |
Standard/RFC |
Title |
---|---|
Loop avoidance using Segment Routing |
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.
Feature Name |
Releases |
Feature Information |
---|---|---|
ISIS - SRv6: uLoop Avoidance |
Cisco IOS XE 17.15.1a |
The ISIS - SRv6: uLoop Avoidance feature extends the ISIS Local Microloop Protection feature to Segment Routing over IPv6 dataplane. This configuration prevents the occurrences of microloops during network convergence after a link-down event or link-up event. The following command was introduced under the address-family ipv6 sub-mode: microloop avoidance |