Configure Segment Routing Microloop Avoidance

The Segment Routing Microloop Avoidance feature enables link-state routing protocols, such as IS-IS, to prevent or avoid microloops during network convergence after a topology change.

About Segment Routing 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 yet, traffic may be looped between these two nodes, resulting in packet loss, jitter, and out-of-order packets.

The Segment Routing Microloop Avoidance feature detects if microloops are possible following a topology change. If a node computes that a microloop could occur on the new topology, the node creates a loop-free SR-TE policy path to the destination using a list of segments. After the RIB update delay timer expires, the SR-TE policy is replaced with regular forwarding paths.

Segment Routing Microloop Avoidance Limitations

For IS-IS, Segment Routing Microloop Avoidance is not supported when incremental shortest path first (ISPF) is configured.

Configure Segment Routing Microloop Avoidance for IS-IS

This task describes how to enable Segment Routing Microloop Avoidance and set the Routing Information Base (RIB) update delay value for IS-IS.

Before you begin

Ensure that the following topology requirements are met:

  • Router interfaces are configured as per the topology.

  • Routers are configured with IS-IS.

  • Segment routing for IS-IS is configured. See Enabling Segment Routing for IS-IS Protocol.

  • Enter the following commands in global configuration mode:

    Router(config)# ipv4 unnumbered mpls traffic-eng Loopback0
    Router(config)# mpls traffic-eng
    Router(config-mpls-te)# exit
    Router(config)#
    

SUMMARY STEPS

  1. configure
  2. router isis instance-id
  3. address-family ipv4 [ unicast ]
  4. microloop avoidance segment-routing
  5. microloop avoidance rib-update-delay delay-time

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

Example:


RP/0/RSP0/CPU0:router# configure

Enters global configuration mode.

Step 2

router isis instance-id

Example:


RP/0/RSP0/CPU0:router(config)# router isis 1

Enables IS-IS routing for the specified routing instance, and places the router in router configuration mode.

You can change the level of routing to be performed by a particular routing instance by using the is-type router configuration command.

Step 3

address-family ipv4 [ unicast ]

Example:


RP/0/RSP0/CPU0:router(config-isis)# address-family ipv4 unicast 

Specifies the IPv4 address family and enters router address family configuration mode.

Step 4

microloop avoidance segment-routing

Example:


RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance segment-routing 

Enables Segment Routing Microloop Avoidance.

Step 5

microloop avoidance rib-update-delay delay-time

Example:


RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance rib-update-delay 3000 

Specifies the amount of time the node uses the microloop avoidance policy before updating its forwarding table. The delay-time is in milliseconds. The range is from 1-60000. The default value is 5000.

Configure Segment Routing Microloop Avoidance for OSPF

This task describes how to enable Segment Routing Microloop Avoidance and set the Routing Information Base (RIB) update delay value for OSPF.

Before you begin

Ensure that the following topology requirements are met:

  • Router interfaces are configured as per the topology.

  • Routers are configured with OSPF.

  • Segment routing for OSPF is configured. See Enabling Segment Routing for OSPF Protocol.

  • Enter the following commands in global configuration mode:

    Router(config)# ipv4 unnumbered mpls traffic-eng Loopback0
    Router(config)# mpls traffic-eng
    Router(config-mpls-te)# exit
    Router(config)#
    

SUMMARY STEPS

  1. configure
  2. router ospf process-name
  3. microloop avoidance segment-routing
  4. microloop avoidance rib-update-delay delay-time

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

Example:


RP/0/RSP0/CPU0:router# configure

Enters global configuration mode.

Step 2

router ospf process-name

Example:


RP/0/RSP0/CPU0:router(config)# router ospf 1

Enables OSPF routing for the specified routing process, and places the router in router configuration mode.

Step 3

microloop avoidance segment-routing

Example:


RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance segment-routing 

Enables Segment Routing Microloop Avoidance.

Step 4

microloop avoidance rib-update-delay delay-time

Example:


RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance rib-update-delay 3000 

Specifies the amount of time the node uses the microloop avoidance policy before updating its forwarding table. The delay-time is in milliseconds. The range is from 1-60000. The default value is 5000.