OSPFv2 Loop-Free Alternate Fast Reroute

The OSPFv2 Loop-Free Alternate Fast Reroute feature uses a precomputed alternate next hop to reduce failure reaction time when the primary next hop fails. It lets you configure a per-prefix loop-free alternate (LFA) path that redirects traffic to a next hop other than the primary neighbor. The forwarding decision is made and service is restored without other routers’ knowledge of the failure.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for OSPFv2 Loop-Free Alternate Fast Reroute

Open Shortest Path First (OSPF) supports IP FRR only on platforms that support this feature in the forwarding plane. See the Cisco Feature Navigator, http://www.cisco.com/go/cfn , for information on platform support. An account on Cisco.com is not required.

Restrictions for OSPFv2 Loop-Free Alternate Fast Reroute

The OSPFv2 Loop-Free Alternate Fast Reroute feature is not supported on routers that are virtual links headends.

The OSPFv2 Loop-Free Alternate Fast Reroute feature is supported only in global VPN routing and forwarding (VRF) OSPF instances.

You cannot configure a traffic engineering (TE) tunnel interface as a protected interface. Use the MPLS Traffic Engineering--Fast Reroute Link and Node Protection feature to protect these tunnels. See the “MPLS Traffic Engineering--Fast Reroute Link and Node Protection” section in the Cisco IOS XE Multiprotocol Label Switching Configuration Guide for more information.

You can configure a TE tunnel interface in a repair path, but OSPF will not verify the tunnel’s placement; you must ensure that it is not crossing the physical interface it is intended to protect.

Not all routes can have repair paths. Multipath primary routes might have repair paths for all, some, or no primary paths, depending on network topology, the connectivity of the computing router, and the attributes required of repair paths.

Information About OSPFv2 Loop-Free Alternate Fast Reroute

LFA Repair Paths

The figure below shows how the OSPFv2 Loop-Free Alternate Fast Reroute feature reroutes traffic if a link fails. A protecting router precomputes per-prefix repair paths and installs them in the global Routing Information Base (RIB). When the protected primary path fails, the protecting router diverts live traffic from the primary path to the stored repair path, without other routers’ having to recompute network topology or even be aware that the network topology has changed.

LFA Repair Path Attributes

When a primary path fails, many paths are possible repair candidates. The OSPFv2 Loop-Free Alternate Fast Reroute feature default selection policy prioritizes attributes in the following order:

  1. srlg

  2. primary-path

  3. interface-disjoint

  4. lowest-metric

  5. linecard-disjoint

  6. node-protecting

  7. broadcast-interface-disjoint

If the evaluation does not select any candidate, the repair path is selected by implicit load balancing. This means that repair path selection varies depending on prefix.

You can use the show ip ospf fast-reroute command to display the current configuration.

You can use the fast-reroute tie-break command to configure one or more of the repair-path attributes described in the following sections to select among the candidates:

Shared Risk Link Groups

A shared risk link group (SRLG) is a group of next-hop interfaces of repair and protected primary paths that have a high likelihood of failing simultaneously. The OSPFv2 Loop-Free Alternate Fast Reroute feature supports only SRLGs that are locally configured on the computing router. VLANs on a single physical interface are an example of an SRLG. If the physical interface fails, all the VLAN interfaces will fail at the same time. The default repair-path attributes might result in the primary path on one VLAN being protected by a repair path over another VLAN. You can configure the srlg attribute to specify that LFA repair paths do not share the same SRLG ID as the primary path. Use the srlg command to assign an interface to an SRLG.

Interface Protection

Point-to-point interfaces have no alternate next hop for rerouting if the primary gateway fails. You can set the interface-disjoint attribute to prevent selection of such repair paths, thus protecting the interface.

Broadcast Interface Protection

LFA repair paths protect links when a repair path and a protected primary path use different next-hop interfaces. However, on broadcast interfaces, if the LFA repair path is computed via the same interface as the primary path, but their next-hop gateways are different, the node is protected but the link might not be. You can set the broadcast-interface-disjoint attribute to specify that the repair path never crosses the broadcast network the primary path points to; that is, it cannot use the interface and the broadcast network connected to it.

See “ Broadcast and Non-Broadcast Multi-Access (NBMA) Links ” in RFC 5286, Basic Specification for IP Fast Reroute: Loop-Free Alternates for information on network topologies that require this tiebreaker.

Node Protection

The default repair-path attributes might not protect the router that is the next hop in a primary path. You can configure the node-protecting attribute to specify that the repair path will bypass the primary-path gateway router.

Downstream Path

In the case of a high-level network failure or multiple simultaneous network failures, traffic sent over an alternate path might loop until OSPF recomputes the primary paths. You can configure the downstream attribute to specify that the metric of any repair path to the protected destination must be lower than that of the protecting node to the destination. This might result in lost traffic but it prevents looping.

Line-Card Disjoint Interfaces

Line-card interfaces are similar to SRLGs because all interfaces on the same line card will fail at the same time if there is a problem with the line card, for example, line card online insertion and removal (OIR). You can configure the linecard-disjoint attribute to specify that LFA repair paths use different interfaces than those on the primary-path line card.

Metric

An LFA repair path need not be the most efficient of the candidates. A high-cost repair path might be considered more attractive if it provides protection against higher-level network failures. You can configure the metric attribute to specify a repair-path policy that has the lowest metric.

Equal-Cost Multipath Primary Paths

Equal-cost multipath paths (ECMPs) found during the primary shortest path first (SPF) repair, might not be desirable in network designs where traffic is known to exceed the capacity of any single link. You can configure the primary-path attribute to specify an LFA repair path from the ECMP set, or the secondary-path attribute to specify an LFA repair path that is not from the ECMP set.

Candidate Repair-Path Lists

When OSPF computes a repair path, it keeps in the local RIB only the best from among all the candidate paths, in order to conserve memory. You can use the fast-reroute keep-all-paths command to create a list of all the candidate repair paths that were considered. This information can be useful for troubleshooting but it can greatly increase memory consumption so it should be reserved for testing and debugging.

How to Configure OSPFv2 Loop-Free Alternate Fast Reroute

Enabling Per-Prefix OSPFv2 Loop-Free Alternate Fast Reroute

Perform this task to enable per-prefix OSPFv2 Loop-Free Alternate Fast Reroute and select the prefix priority in an OSPF area.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router ospf process-id
  4. fast-reroute per-prefix enable prefix-priority priority-level
  5. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

router ospf process-id

Example:


Router(config)# router ospf 10

Enables OSPF routing and enters router configuration mode.

Step 4

fast-reroute per-prefix enable prefix-priority priority-level

Example:


Router (config-router)# fast-reroute per-prefix enable prefix-priority low

Enables repair-path computation and selects the priority level for repair paths.

  • Low priority specifies that all prefixes have the same eligibility for protection. High priority specifies that only high-priority prefixes are protected.

Step 5

exit

Example:


Router (config-router)# exit 

Exits router configuration mode and returns to global configuration mode.

Specifying Prefixes to Be Protected by LFA FRR

Perform this task to specify which prefixes will be protected by LFA FRR. Only prefixes specified in the route map will be protected.


Note

Only the following three match keywords are recognized in the route map: match tag , match route-type , and match ip address prefix-list .

>

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. route-map map-tag [permit | deny] [sequence-number ]
  4. match tag tag-name
  5. exit
  6. router ospf process-id
  7. prefix-priority priority-level route-map map-tag
  8. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

route-map map-tag [permit | deny] [sequence-number ]

Example:


Router(config)# route-map OSPF-PREFIX-PRIORITY

Enters route-map configuration mode and specifies the map name.

Step 4

match tag tag-name

Example:


Router(config-route-map)# match tag 886

Specifies the prefixes to be matched.

  • Only prefixes that match the tag will be protected.

Step 5

exit

Example:


Router(config-route-map)# exit 

Exits route-map configuration mode and returns to global configuration mode.

Step 6

router ospf process-id

Example:


Router(config)# router ospf 10

Enables OSPF routing and enters router configuration mode.

Step 7

prefix-priority priority-level route-map map-tag

Example:


Router(config-router)# prefix-priority high route-map OSPF-PREFIX-PRIORITY

Sets the priority level for repair paths and specifies the route map that defines the prefixes.

Step 8

exit

Example:


Router(config-router)# exit 

Exits router configuration mode and returns to global configuration mode.

Configuring a Repair Path Selection Policy

Perform this task to configure a repair path selection policy, specifying a tiebreaking condition. See the LFA Repair Path Attributes for information on tiebreaking attributes.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router ospf process-id
  4. fast-reroute per-prefix tie-break attribute [required] index index-level
  5. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

router ospf process-id

Example:


Router(config)# router ospf 10

Enables OSPF routing and enters router configuration mode.

Step 4

fast-reroute per-prefix tie-break attribute [required] index index-level

Example:


Router(config-router)# fast-reroute per-prefix tie-break srlg required index 10

Configures a repair path selection policy by specifying a tiebreaking condition and setting its priority level.

Step 5

exit

Example:


Router(config-router)# exit

Exits router configuration mode and returns to global configuration mode.

Creating a List of Repair Paths Considered

Perform this task to create a list of paths considered for LFA FRR.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. router ospf process-id
  4. fast-reroute keep-all-paths
  5. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

router ospf process-id

Example:


Router(config)# router ospf 10

Enables OSPF routing and enters router configuration mode.

Step 4

fast-reroute keep-all-paths

Example:


Router(config-router)# fast-reroute keep-all-paths

Specifies creating a list of repair paths considered for LFA FRR.

Step 5

exit

Example:


Router(config-router)# exit

Exits router configuration mode and returns to global configuration mode.

Prohibiting an Interface From Being Used as the Next Hop

Perform this task to prohibit an interface from being used as the next hop in a repair path.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. interface type number
  4. ip ospf fast-reroute per-prefix candidate disable
  5. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

interface type number

Example:


Router(config)# interface GigabitEthernet 0/0/0

Enters interface configuration mode for the interface specified.

Step 4

ip ospf fast-reroute per-prefix candidate disable

Example:


Router(config-if)# ip ospf fast-reroute per-prefix candidate disable 

Prohibits the interface from being used as the next hop in a repair path.

Step 5

exit

Example:


Router(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Configuration Examples for OSPFv2 Loop-Free Alternate Fast Reroute

Example Enabling Per-Prefix LFA IP FRR

The following example shows how to enable per-prefix OSPFv2 Loop-Free Alternate Fast Reroute and select the prefix priority in an OSPF area:


Router(config)# router ospf 10
fast-reroute per-prefix enable prefix-priority low

Example Specifying Prefix-Protection Priority

The following example shows how to specify which prefixes will be protected by LFA FRR:


Router(config)# router ospf 10
prefix-priority high route-map OSPF-PREFIX-PRIORITY
fast-reroute per-prefix enable prefix-priority high
network 192.0.2.1 255.255.255.0 area 0
route-map OSPF-PREFIX-PRIORITY permit 10
match tag 866

Example Configuring Repair-Path Selection Policy

The following example shows how to configure a repair-path selection policy that sets SRLG, line card failure and downstream as tiebreaking attributes, and sets their priority indexes:


router ospf 10
  fast-reroute per-prefix enable prefix-priority low
  fast-reroute per-prefix tie-break srlg required index 10
  fast-reroute per-prefix tie-break linecard-disjoint index 15
  fast-reroute per-prefix tie-break downstream index 20
  network 192.0.2.1 255.255.255.0 area 0

Example Auditing Repair-Path Selection

The following example shows how to keep a record of repair-path selection:


router ospf 10
  fast-reroute per-prefix enable prefix-priority low
  fast-reroute keep-all-paths
  network 192.0.2.1 255.255.255.0 area 0

Example Prohibiting an Interface from Being a Protecting Interface

The following example shows how to prohibit an interface from being a protecting interface:


Router(config)# interface GigabitEthernet 0/0/0
  ip addres
s 192.0.2.1 255.255.255.0
  ip ospf fast-reroute per-prefix candidate disable

Additional References

The following sections provide references related to the OSPF RFC 3623 Graceful Restart feature.

Related Documents

Related Topic

Document Title

OSPF commands

Cisco IOS IP Routing: OSPF Command Reference

OSPF configuration

Configuring OSPF

Cisco nonstop forwarding

Cisco Nonstop Forwarding

OSPFv3 Graceful Restart

OSPFv3 Graceful Restart’ module

Standards

Standard

Title

None

--

MIBs

MIB

MIBs Link

None

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

RFC 2328

OSPF Version 2

RFC 3623

Graceful OSPF Restart

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. If you have a valid service contract but do not have a user ID or password, you can register on Cisco.com.

http://www.cisco.com/techsupport

Feature Information for OSPFv2 Loop-Free Alternate Fast Reroute

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 www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for OSPFv2 Loop-Free Alternate Fast Reroute

Feature Name

Releases

Feature Information

OSPFv2 Loop-Free Alternate Fast Reroute

Cisco IOS XE Release 3.4S

This feature uses a precomputed alternate next hop to reduce failure reaction time when the primary next hop fails.

The following commands were introduced or modified: debug ip ospf fast-reroute, fast-reroute keep-all-paths, fast-reroute per-prefix (OSPF), fast-reroute tie-break (OSPF), ip ospf fast-reroute per-prefix, prefix-priority, show ip ospf fast-reroute , show ip ospf interface , show ip ospf neighbor , show ip ospf rib .