Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Shared Risk Link Groups for MPLS

SRLG Overview

In MPLS traffic engineering, a Shared Risk Link Group (SRLG) is a set of links sharing a common resource, which affects all links in the set if the common resource fails. These links share the same risk of failure and are therefore considered to belong to the same SRLG. For example, links sharing a common fiber are said to be in the same SRLG because a fault with the fiber might cause all links in the group to fail.

An SRLG is represented by a 32-bit number unique within an IGP (OSPFv2 and IS-IS) domain. A link might belong to multiple SRLGs. The SRLG of a path in a label-switched path (LSP) is the set of SRLGs for all the links in the path. When computing the secondary path for an LSP, it is preferable to find a path such that the secondary and primary paths do not have any links in common in case the SRLGs for the primary and secondary paths are disjoint. This ensures that a single point of failure on a particular link does not bring down both the primary and secondary paths in the LSP.

When the SRLG is configured, the device uses the Constrained Shortest Path First (CSPF) algorithm and tries to keep the links used for the primary and secondary paths mutually exclusive. If the primary path goes down, the CSPF algorithm computes the secondary path by trying to avoid links that share any SRLG with the primary path. In addition, when computing the path for a bypass LSP, CSPF tries to avoid links that share any SRLG with the protected links.

When the SRLG is not configured, CSPF only takes into account the costs of the links when computing the secondary path.

Any change in link SRLG information triggers the IGP to send LSP updates for the new link SRLG information. CSPF recomputes the paths during the next round of reoptimization.

Junos OS Release 11.4 and later supports SRLG based on the following RFCs:

  • RFC 4203, OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS).

  • RFC 5307, IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS).

Note:

Currently, the “Fate Sharing” feature continues to be supported with the SRLG feature.

Example: Configuring SRLG

This example shows how to configure Shared Risk Link Groups (SRLGs) on a device.

Requirements

This example uses the following hardware and software components:

  • MX Series routers

  • Junos OS Release 11.4 or later running on all the devices

Overview

Junos OS Release 11.4 and later support SRLG configuration in an IGP (OSPFv2 and IS-IS) domain. In this example, you configure SRLG and associate it with the MPLS interface on a device.

The device uses the SRLG cost parameter for the Constrained Shortest Path First (CSPF) algorithm and tries to keep the links used for the primary and secondary paths mutually exclusive by avoiding links that share any SRLG with the primary path.

To configure the SRLG, you first define the SRLG parameters at the [edit routing-options srlg srlg-name] hierarchy level and then associate the SRLG with an MPLS interface at the [edit mpls interface interface-name] hierarchy level.

The srlg srlg-name statement has the following options:

  • srlg-cost—Include a cost for the SRLG ranging from 1 through 65535. The cost of the SRLG determines the level of impact this SRLG has on the CSPF algorithm for path computations. The higher the cost, the less likely it is for a secondary path to share the same SRLG as the primary path. By default, the srlg-cost is 1.

  • srlg-value—Include a group ID for the SRLG ranging from 1 through 4294967295.

In this example:

  • PE1 is the ingress router and PE2 is the egress router.

  • P1, P2, and P3, P4, and P5 are transit routers.

    • P1 has direct primary path connections to both the PE1 ingress and PE2 egress routers.

    • P2 has direct secondary path connections to PE1 and PE2.

    • P3 has a direct secondary path connection to PE1, and an indirect secondary path through P4 and P5 to PE2.

    • P4 has indirect secondary paths to PE1 through P3 and to PE2 through P5.

    • P5 has an indirect path through P4 and P3 to PE1 and a direct secondary path to PE2.

OSPF is configured on all the routers as the interior gateway protocol (IGP). SRLG is configured on all seven routers. The primary path includes SRLG srlg-a. For the standby secondary path, the link P2>PE2 belongs to SRLG srlg-a. The effective link metric, with the added srlg-cost of 10, becomes 11. Therefore, the computed secondary path is PE1>P3>P4>P5>PE2 with a CSPF link metric of 4.

Topology

Network topology diagram with nodes P1 to P5. Solid lines are primary paths; dashed lines are secondary paths. Explains routing protocols.

Configuration

CLI Quick Configuration

To quickly configure this section of the example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

Router PE1

Router P1

Router P2

Router P3

Router P4

Router P5

Router PE2

Procedure

Step-by-Step Procedure

The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see the Junos OS CLI User Guide.

To configure the ingress router PE1:

  1. Configure the device interfaces.

  2. Configure OSPF on the interfaces.

  3. Configure the SRLG definitions.

  4. Configure MPLS and the LSPs.

  5. Enable RSVP on the interfaces.

Results

From configuration mode, confirm your configuration by entering the show interfaces, show protocols ospf, show routing-options, show protocols mpls, and show protocols rsvp commands. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

If you are done configuring the device, enter commit from configuration mode.

Note:

Repeat this procedure for every Juniper Networks router in the IGP domain, after modifying the appropriate interface names, addresses, and any other parameters for each router.

Verification

Confirm that the configuration is working properly.

Verifying SRLG Definitions

Purpose

Verify SRLG-to-value mappings and SRLG cost.

Action

Verify TE-Link SRLG

Purpose

Verify the traffic engineering link SRLG association.

Action
Meaning

Links P1-PE2 and P2-PE2 are associated with SRLG srlg-a.

Verify Standby Secondary Path

Purpose

Check the SRLG link cost and its impact on the CSPF computation of the standby secondary path link.

Action
Meaning

Check the standby secondary path. The effective link cost for P2>PE2 is 11 (with the added srlg-cost of 10). CSPF computes the secondary path as PE1>P3>P4>P5>PE2 with a CSPF link metric of 4.

RSVP-TE SRLG Hold-Down for CSPF Path Selection

SRLG hold-down mechanism allows CSPF to avoid recently unstable network resources when computing RSVP-TE LSPs.

Shared Risk Link Group (SRLG) hold-down mechanism allows Constrained Shortest Path First (CSPF) to avoid recently unstable network resources when computing RSVP-TE label-switched paths (LSPs).

When a link associated with an SRLG experiences a link-down event, the SRLG enters a hold-down state for a configurable period. During this period, CSPF treats links belonging to that SRLG as undesirable by either:

  • Penalizing the links in the SRLG by adding an SRLG cost to the TE metric, or

  • Excluding the links in the SRLG completely from CSPF path computation.

A link can have multiple SRLGs associated with it. If a link fails, then all SRLGs associated with the link enters a hold-down state. If a link in an SRLG goes down, other links in the same SRLG are considered at risk because they share a common underlying resource. For this reason, hold-down is applied to all links in that SRLG, except those specifically configured not to participate.

This capability allows the network to steer traffic away from resources experiencing repeated failures while preserving path availability whenever possible.

Benefits of SRLG Hold Down

SRLG hold-down provides the following benefits:

  • Prevents CSPF from immediately reusing unstable links after a failure.

  • Improves LSP stability and reduces path churn.

  • Supports strict avoidance of unstable SRLGs when required.

SRLG Hold-down Operation

This section describes operational behaviors of SRLG hold-down events.

Link Failure Detection

SRLG hold-down is triggered whenever a link failure is detected on a link belonging to an SRLG. When a link goes down, SRLG enters a hold-down state, and CSPF recomputes alternate paths. The hold-down remains active for the configured interval.

During Hold-Down

When an SRLG is in hold-down state, CSPF can operate in one of two following modes:

  • Metric Penalty Mode (Default)—CSPF adds the configurable SRLG cost (srlg-cost) to the TE metric of affected links as the actual metric in CSPF path computation. For example:

    Links remain available but become less preferred during CSPF path selection. This approach maintains path feasibility while steering traffic away from unstable resources.

  • Exclusion Mode—If the exclude-srlg statement is configured and when an SRLG experiences a link-down event, the SRLG enters a hold-down state. The affected links in the SRLG are excluded during CSPF path computation. This exclusion ensure strict avoidance of unstable SRLGs.

Interaction with Existing SRLG Constraints

SRLG hold-down operates in addition to existing SRLG-based CSPF mechanisms, including:

  • Fast Reroute (FRR) bypass computations

  • Existing CSPF exclusion policies

If multiple mechanisms influence path selection, exclusion takes precedence over metric penalties.

SRLG Hold-Down Configuration

To enable the SRLG hold-down feature, you must configure the SRLG hold-down policy at the global level under the [edit protocols mpls srlg-hold-down] hierarchy level. You can enable individual SRLG hold-downs under the [edit routing-options srlg srlg-name] hierarchy level. A global SRLG hold-down configuration is required for individual SRLG hold-down configurations to take effect.

The SRLG hold-down configuration is disabled by default. When you enable SRLG hold-down, all SRLGs participate unless otherwise specified.

At the global level, the following SRLG hold-down configuration options are available under the [edit protocols mpls srlg-hold-down] hierarchy level:

  • exclude-all—Exclude all SRLGs from hold-down. Only SRLGs explicitly configured with include participate.

  • cost—Specifies the default penalty applied to SRLGs that do not have an explicitly configured SRLG cost. Range is between 1 through 65535. Default is 1.

  • interval—Specifies the hold-down duration for all SRLGs. Range is between 1 through 4294967295 seconds. Default is 10 seconds.

  • no-extend—Disables automatic extension of the hold-down timer. By default, subsequent triggers extend the expiration time.

  • exclude-srlg—Instructs CSPF to exclude links associated with an SRLG while that SRLG is in hold-down state.

  • no-log—Prevents syslog message generation for new SRLG hold-down events. Reduces logging overhead and prevents excessive message generation in networks experiencing frequent SRLG-related events.

At an individual SRLG level, the following SRLG hold-down configuration options are available under the [edit routing-options srlg srlg-name] hierarchy level:

Note: Individual SRLG hold-down configuration overrides global SRLG hold-down configuration settings.
  • srlg-cost srlg-cost—Specifies the cost applied during hold-down. Range is between 1 through 65535.

  • srlg-value srlg-value—Specifies the SRLG identifier. Range is between 1 through 4294967295.

  • srlg-hold-down-exclude—Excludes an SRLG from hold-down processing.

  • srlg-hold-down-include—Includes an SRLG in hold-down processing. Typically used together with exclude-all at global configuration.

  • srlg-hold-down-interval—Overrides the global SRLG hold-down duration.

Sample Configuration Example

The following is a sample SRLG hold-down configuration example at global and individual SRLG level:

SRLG hold-down configuration at global level:

SRLG hold-down configuration at individual SRLG level:

Verification

You can use the show mpls srlg and show mpls srlg detail commands to view the details of SRLG name, value, cost, hold-down state, and interval.