IGP Shortcuts

This chapter provides information about IGP shortcuts.

Topics in this chapter include:

Applicability

This chapter is applicable to SR OS when the feature is not related to BGP. There are no other prerequisites for this configuration. This chapter was initially written for SR OS Release 12.0.R3, but the CLI in the current edition corresponds to SR OS Release 21.2.R1.

Overview

Interior Gateway Protocols (IGPs) are routing protocols that operate inside an Autonomous System (AS). An AS is a network domain that is managed under a single administration. Because the scope of operation of an IGP is usually within an AS, IGPs are also called intra-AS protocols. The purpose of an IGP is to provide reachability information to destination nodes that are inside the domain. IGPs can be one or more of a variety of protocols, including routing protocols such as Routing Information Protocol (RIP) version 1 or 2, Open Shortest Path First (OSPF), and Intermediate System to Intermediate System (IS-IS).

IGPs such as OSPF and IS-IS are link-state protocols that use a Shortest Path First (SPF) algorithm to compute the shortest path tree to all nodes in a network. The results of such computations indicate the destination node, next hop address, and output interface, where the output interface is a physical interface. Optionally, Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) can be included in the SPF algorithm on the node performing the calculations, as LSPs behave as logical interfaces directly connected to remote nodes in the network. Because the SPF algorithm treats the LSPs in the same way as a physical interface (being a potential output interface), the computation results could be to select a destination node together with an output LSP, using the LSP as a shortcut through the network to the destination node.

Normal SPF Tree Sourced by PE-1 shows a normal SPF tree sourced by PE-1 (Provider Edge-1).

Figure 1. Normal SPF Tree Sourced by PE-1

If there is an LSP that connects PE-1 to PE-5, and IGP shortcuts are configured on PE-1, the SPF tree will be as shown in SPF Tree Sourced by PE-1 Using LSP Shortcuts.

Figure 2. SPF Tree Sourced by PE-1 Using LSP Shortcuts

IGP shortcuts are enabled on a per router basis; SPF computations are independent and irrelevant to other routers, so there is no need to enable shortcuts on every single router.

The example topology used in this example is shown in Example Topology. The setup consists of six 7750 service routers. There is a single AS and a single IGP area. The following configuration tasks should be completed first:

  • IS-IS or OSPF on all interfaces within the AS (configuration has been done using IS-IS but using OSPF shows exactly the same behavior).

  • Label Distribution Protocol (LDP) and Resource Reservation Protocol (RSVP) on all interfaces within the AS.

    Figure 3. Example Topology

In all figures, Lb stands for Loopback and Sys stands for the system IP addresses.

Configuration

The first step is to configure the IGP (IS-IS) on all nodes, where IS-IS redistributes route reachability to all routers. To facilitate IS-IS configuration, all routers are L2-L1 capable within the same IS-IS area-id so there is only a single topology area in the network (all routers share the same topology). Traffic engineering (TE) is enabled on the IGP as it is a requirement for RSVP. The metric is using the default values: because no reference bandwidth command is used, the default metric of 10 is applicable on all interfaces. The configuration for PE-2 is as follows.

*A:PE-2# configure
    router
        interface "int-PE-2-PE-1"
            address 192.168.12.2/30
            port 1/1/2
        exit
        interface "int-PE-2-PE-3"
            address 192.168.23.1/30
            port 1/1/3
        exit
        interface "int-PE-2-PE-4"
            address 192.168.24.1/30
            port 1/1/1
        exit
        interface "system"
            address 192.0.2.2/32
        exit
        isis
            area-id 49.0001
            traffic-engineering
            interface "system"
                passive
            exit
            interface "int-PE-2-PE-1"
                interface-type point-to-point
            exit
            interface "int-PE-2-PE-3"
                interface-type point-to-point
            exit
            interface "int-PE-2-PE-4"
                interface-type point-to-point
            exit
            no shutdown
        exit

The configuration for the other nodes is similar. The IP addresses can be derived from Example Topology.

The global route table (GRT) for PE-2 is as follows:

A:PE-2# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h04m15s  15
       192.168.12.1                                                 10
192.0.2.2/32                                  Local   Local     00h04m30s  0
       system                                                       0
192.0.2.3/32                                  Remote  ISIS      00h04m07s  15
       192.168.23.2                                                 10
192.0.2.4/32                                  Remote  ISIS      00h04m07s  15
       192.168.24.2                                                 10
192.0.2.5/32                                  Remote  ISIS      00h04m04s  15
       192.168.23.2                                                 20
192.0.2.6/32                                  Remote  ISIS      00h03m59s  15
       192.168.24.2                                                 20
192.168.12.0/30                               Local   Local     00h04m16s  0
       int-PE-2-PE-1                                                0
192.168.13.0/30                               Remote  ISIS      00h04m15s  15
       192.168.12.1                                                 20
192.168.23.0/30                               Local   Local     00h04m16s  0
       int-PE-2-PE-3                                                0
192.168.24.0/30                               Local   Local     00h04m16s  0
       int-PE-2-PE-4                                                0
192.168.35.0/30                               Remote  ISIS      00h04m07s  15
       192.168.23.2                                                 20
192.168.45.0/30                               Remote  ISIS      00h04m07s  15
       192.168.24.2                                                 20
192.168.46.0/30                               Remote  ISIS      00h04m07s  15
       192.168.24.2                                                 20
192.168.56.0/30                               Remote  ISIS      00h04m04s  15
       192.168.23.2                                                 30
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

LDP and RSVP Shortcuts

Interface Label Distribution Protocol (iLDP) is enabled on all interfaces (except system interfaces, which is not allowed) in all routers. The configuration on all nodes is similar and the IP addresses are derived from Example Topology. The configuration of PE-4 is as follows:

*A:PE-4# configure
    router
        ldp
            interface-parameters
                interface "int-PE-4-PE-2" dual-stack
                    ipv4
                        no shutdown
                    exit
                    no shutdown
                exit
                interface "int-PE-4-PE-5" dual-stack
                    ipv4
                        no shutdown
                    exit
                    no shutdown
                exit
                interface "int-PE-4-PE-6" dual-stack
                    ipv4
                        no shutdown
                    exit
                    no shutdown
                exit
            exit
            no shutdown
        exit

With iLDP enabled, PE-4 establishes iLDP sessions with its directly connected neighbors, as follows:

A:PE-4# show router ldp session ipv4 

==============================================================================
LDP IPv4 Sessions
==============================================================================
Peer LDP Id         Adj Type  State         Msg Sent  Msg Recv  Up Time
------------------------------------------------------------------------------
192.0.2.2:0         Link      Established   105       106       0d 00:04:12
192.0.2.5:0         Link      Established   105       107       0d 00:04:12
192.0.2.6:0         Link      Established   104       106       0d 00:04:09
------------------------------------------------------------------------------
No. of IPv4 Sessions: 3
==============================================================================

The following tunnel table shows that there is a Label Switched Path (LSP) to every other router. The reason is that the LDP label distribution mode is downstream unsolicited (DU) by default, originating label bindings for system addresses only (which are used by iLDP as transport address by default). The command also shows the preference of the LSPs (where the preference is 9 for LDP) and the metric of the LSPs (the metric is inherited from the IGP, each hop counts as a metric of 10), as follows. The metric to destinations PE-1 and PE-3 is 20 because there are two hops in between (PE-4 is two hops away from PE-1 and PE-3).

A:PE-4# show router tunnel-table 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.1/32          ldp       MPLS  65538     9      192.168.24.1   20
192.0.2.2/32          ldp       MPLS  65537     9      192.168.24.1   10
192.0.2.3/32          ldp       MPLS  65539     9      192.168.24.1   20
192.0.2.5/32          ldp       MPLS  65540     9      192.168.45.2   10
192.0.2.6/32          ldp       MPLS  65541     9      192.168.46.2   10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

In order to configure RSVP shortcuts, RSVP must be enabled on all interfaces where traffic engineering is required, but in this example, MPLS and RSVP are enabled on all interfaces of the network. By default, MPLS is enabled on the system interface, therefore, it need not be configured explicitly. When RSVP is in no shutdown, it is automatically configured on the interfaces where MPLS is configured. The configuration for PE-6 is as follows.

*A:PE-6# configure router mpls no shutdown
*A:PE-6# configure router rsvp no shutdown
*A:PE-6# configure 
    router
        mpls
            interface "int-PE-6-PE-4"
            exit
            interface "int-PE-6-PE-5"
            exit
            no shutdown
        exit
        rsvp
            no shutdown
        exit

The configuration of the other nodes is similar. The IP addresses can be derived from Example Topology. Because there are no RSVP LSPs configured yet, the tunnel table has no RSVP LSPs and only contains LDP LSPs.

LDP Static Route (IP Tunneled in LDP Tunnel)

Using LDP LSP shortcuts for static route resolution enables forwarding of IPv4 packets over LDP LSPs instead of using a regular IP next hop. In other words, the traffic to the resolved static routes is forwarded using MPLS LDP LSP rather than plain IP.

The configuration defines a static route pointing to the destination PE (remote loopback, which is an indirect next hop in the example), and explicitly indicates that it should use LDP rather than IGP. Taking PE-1 and PE-6 as an example, two loopback interfaces are configured (172.16.X.1/32), where X = PE number, and a static route is defined according to the preceding explanation. The following shows the configuration on PE-1.

*A:PE-1# configure
    router
        interface "loopback"
            address 172.16.1.1/32
            loopback
        exit
        static-route-entry 172.16.6.1/32
            indirect 192.0.2.6
                tunnel-next-hop
                     resolution-filter
                        ldp
                    exit
                    disallow-igp
                    resolution filter
                exit
                no shutdown
            exit
        exit

Looking at the GRT or forwarding information base (FIB), there are two new entries corresponding to the two configured loopback interfaces. One entry has the protocol set to LOCAL (the local loopback on the PE), and the other entry has the protocol set to STATIC, where the next hop is reached using an LDP LSP.

*A:PE-1# show router fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
172.16.1.1/32                                               LOCAL
  172.16.1.1 (loopback) 
172.16.6.1/32                                               STATIC
  192.0.2.6 (Transport:LDP)
192.0.2.1/32                                                LOCAL
  192.0.2.1 (system) 
192.0.2.2/32                                                ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.0.2.3/32                                                ISIS
  192.168.13.2 (int-PE-1-PE-3) 
192.0.2.4/32                                                ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.0.2.5/32                                                ISIS
  192.168.13.2 (int-PE-1-PE-3) 
192.0.2.6/32                                                ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.12.0/30                                             LOCAL
  192.168.12.0 (int-PE-1-PE-2) 
192.168.13.0/30                                             LOCAL
  192.168.13.0 (int-PE-1-PE-3) 
192.168.23.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.24.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.35.0/30                                             ISIS
  192.168.13.2 (int-PE-1-PE-3) 
192.168.45.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.46.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.56.0/30                                             ISIS
  192.168.13.2 (int-PE-1-PE-3) 
-------------------------------------------------------------------------------
Total Entries : 16
-------------------------------------------------------------------------------
===============================================================================

The following output shows that a ping sourced by the loopback interface on PE-1 is able to reach the loopback interface on PE-6, and traceroute demonstrates that the traffic is following the LDP LSP. The ping and traceroute traffic cannot follow the IGP path because the static route command states that the IGP is disallowed when no LDP LSP toward PE-6 is available (also, the loopback interfaces are not enabled on IS-IS).

*A:PE-1# ping 172.16.6.1 source 172.16.1.1 
PING 172.16.6.1 56 data bytes
64 bytes from 172.16.6.1: icmp_seq=1 ttl=64 time=3.16ms.
64 bytes from 172.16.6.1: icmp_seq=2 ttl=64 time=3.32ms.
64 bytes from 172.16.6.1: icmp_seq=3 ttl=64 time=3.20ms.
64 bytes from 172.16.6.1: icmp_seq=4 ttl=64 time=3.22ms.
64 bytes from 172.16.6.1: icmp_seq=5 ttl=64 time=2.90ms.

---- 172.16.6.1 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.90ms, avg = 3.16ms, max = 3.32ms, stddev = 0.140ms
traceroute to 172.16.6.1 from 172.16.1.1, 30 hops max, 40 byte packets
  1  0.0.0.0  * * * 
  2  0.0.0.0  * * * 
  3  172.16.6.1 (172.16.6.1)    3.51 ms  3.26 ms  3.39 ms

With the traceroute command, there are three hops from PE-1 to PE-6. There is no information regarding IP for the first two hops because the traffic is encapsulated in an MPLS LSP. The reason why the hops are displayed even when there is an MPLS LSP tunnel is because by default, the SR router propagates (copies) the Time To Live (TTL) from the IP header in the MPLS header. This is known as uniform mode.

However, a service provider might not want to show how many MPLS hops (nodes) there are in their network if a traceroute command is executed from outside their network. To prevent internal hops being shown, no propagate commands are needed in the LDP configuration, as follows. This is known as pipe mode.

*A:PE-1# configure
    router
        ldp
            no shortcut-local-ttl-propagate
            no shortcut-transit-ttl-propagate
            exit

When TTL propagation is disabled, the hops are not displayed any longer when running the traceroute command.

*A:PE-1# traceroute 172.16.6.1 source 172.16.1.1 
traceroute to 172.16.6.1 from 172.16.1.1, 30 hops max, 40 byte packets
  1  172.16.6.1 (172.16.6.1)    3.51 ms  3.23 ms  3.54 ms

For more information about uniform mode and pipe mode, see the Tunneling of ICMP Reply Packets over MPLS LSPs chapter.

RSVP Static Route (IP Tunneled in RSVP Tunnel)

Using RSVP LSP shortcuts for static route resolution enables forwarding of IPv4 packets over RSVP LSPs instead of using a regular IP next hop. In other words, the traffic to the resolved static routes is forwarded using an MPLS RSVP LSP rather than plain IP.

The configuration defines a static route pointing to a destination PE (remote loopback, which is an indirect next hop in the example), and explicitly indicates that it should use RSVP rather than IGP. Taking PE-6 and PE-1 as an example, two loopback interfaces are configured (172.16.X.1/32), where X = PE number, and a static route is defined according to the preceding explanation. The following shows the configuration on PE-6.

*A:PE-6# configure
    router
        interface "loopback"
            address 172.16.6.1/32
            loopback
            no shutdown
        exit
        static-route-entry 172.16.1.1/32
            indirect 192.0.2.1
                tunnel-next-hop
                resolution-filter
                    rsvp-te
                    exit
                exit
                disallow-igp
                resolution filter
                exit
                no shutdown
            exit
        exit

Also, an RSVP LSP needs to be configured with the system interface of PE-1 as the destination:

*A:PE-6# configure
    router
        mpls
            path "loose_path"
                no shutdown
            exit
            lsp "LSP-PE-6-PE-1"
                to 192.0.2.1
                    primary "loose_path"
                exit
                no shutdown
            exit

In the LSP tunnel table, an RSVP LSP is created:

*A:PE-6# show router tunnel-table 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.1/32          rsvp      MPLS  1         7      192.168.46.1   30
192.0.2.1/32          ldp       MPLS  65541     9      192.168.46.1   30
192.0.2.2/32          ldp       MPLS  65540     9      192.168.46.1   20
192.0.2.3/32          ldp       MPLS  65538     9      192.168.56.1   20
192.0.2.4/32          ldp       MPLS  65539     9      192.168.46.1   10
192.0.2.5/32          ldp       MPLS  65537     9      192.168.56.1   10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

The default RSVP preference is 7 (preferred over that of LDP, which is 9) and the metric reflects that this LSP spans 3 hops (for a dynamic LSP not using constrained shortest path first (CSPF), the metric is inherited from IGP). See the RSVP Shortcut for IGP Route Resolution section for more details about the metric applied in LSPs.

The RSVP LSP is used to resolve the indirect next hop (PE-1 system address) in the static route (the LSP used is identified with the tunnel ID, in this case 1), therefore, the route for prefix 172.16.1.1 in the GRT looks as follows:

*A:PE-6# show router route-table 172.16.1.1 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
172.16.1.1/32                                 Remote  Static    00h01m42s  5
       192.0.2.1 (tunneled:RSVP:1)                                  1
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

As in the LDP shortcut with static route example, between PE-6 and PE-1, TTL propagation is disabled, as follows.

*A:PE-6# configure
    router 
        mpls
no shortcut-local-ttl-propagate
no shortcut-transit-ttl-propagate
        exit

The output is the following when running a traceroute:

*A:PE-6# traceroute 172.16.1.1 source 172.16.6.1 
traceroute to 172.16.1.1 from 172.16.6.1, 30 hops max, 40 byte packets
  1  172.16.1.1 (172.16.1.1)    3.45 ms  3.44 ms  3.66 ms

The two static routes that have been defined to use the LDP and RSVP shortcuts follow the static routes default values and have a preference of 5 and a metric of 1.

LDP Shortcut for IGP Route Resolution

Using LDP shortcuts for IGP route resolution enables forwarding of packets to IGP learned routes over an LDP LSP. The default is to disable the LDP shortcut across all interfaces in the node.

When LDP shortcuts are enabled, LDP populates the Route Table Manager (RTM) with next hop entries corresponding to all prefixes for which it activated an LDP Forwarding Equivalence Class (FEC). For a prefix, two route entries are populated in the RTM. One corresponds to the LDP shortcut next hop and has an owner of LDP. The other one is the regular IP next hop. The LDP shortcut next hop always takes preference over the regular IP next hop for forwarding user packets and specific control packets over an outgoing interface to the route next hop.

When LDP has activated a FEC for a prefix and programmed the RTM, it also programs the ingress tunnel table in the line card with the LDP tunnel information.

When an IPv4 packet is received on an ingress network interface and the preferred RTM entry corresponds to an LDP shortcut, a subscriber Internet Enhanced Service (IES) interface, or a regular IES interface, the lookup of the packet by the ingress line card results in the packet being sent labeled with the label stack corresponding to the Next Hop Label Forwarding Entry (NHLFE) of the LDP LSP. If the preferred RTM entry corresponds to an IP next hop, the IPv4 packet is forwarded unlabeled. The activation of the FEC by LDP is done by performing an exact match with an IGP route prefix in the RTM, but it can also be done by performing a longest prefix match with an IGP route in the RTM if the aggregate-prefix-match option is enabled globally in LDP.

Handling of Control Packets

All control plane packets will not see the LDP shortcut route entry in the RTM with the exception of the following control packets which will be forwarded over an LDP shortcut when enabled:

  • A locally generated or in transit ICMP ping and UDP traceroute of an IGP route. The transit message appears as a user packet to the ingress LER node.

  • A locally generated response to a received ICMP ping or UDP traceroute message.

All other control plane packets that require an RTM lookup and have knowledge of which destination is reachable over the LDP shortcut will continue to be forwarded over the IP next hop route in the RTM.

Handling of Multicast Packets

LDP shortcuts apply to unicast FEC types and are used for forwarding IP unicast packets in the data path. IP multicast packets forwarded over an multicast Label Distribution Protocol (mLDP) Point-to-Multi-Point (P2MP) LSP make use of a multicast FEC and thus cannot make use of the LDP unicast shortcut.

ECMP Considerations

When Equal Cost Multi-Path (ECMP) is enabled and multiple equal cost next hops exist for the IGP route, the ingress line card will spray the packets for this route based on the hashing routine supported for IPv4 packets. When the preferred RTM entry corresponds to an LDP shortcut route, spraying is performed across the multiple next hops for the LDP FEC. The FEC next hops can either be direct link LDP neighbors, or T-LDP (targeted LDP) neighbors reachable over RSVP LSPs in the case of LDP-over-RSVP, but not both. This is as per ECMP for LDP in the existing implementation. When the preferred RTM entry corresponds to a regular IP route, spraying will be performed across regular IP next hops for the prefix. Spraying across regular IP next hops and LDP shortcut next hops concurrently is not supported.

Configuring IGP LDP shortcuts is straightforward, and only applies to the node where there is interest to provision the LDP shortcut. In this example, only PE-1 is provisioned with LDP shortcuts, as follows:

*A:PE-1# configure router ldp-shortcut

Now, all tunnel LSPs that resolve an IGP next hop will replace the IP next hops, as shown in the following output:

*A:PE-1# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Local   Local     00h27m34s  0
       system                                                       0
192.0.2.2/32                                  Remote  LDP       00h00m34s  9
       192.168.12.2 (tunneled)                                      10
192.0.2.3/32                                  Remote  LDP       00h00m34s  9
       192.168.13.2 (tunneled)                                      10
192.0.2.4/32                                  Remote  LDP       00h00m34s  9
       192.168.12.2 (tunneled)                                      20
192.0.2.5/32                                  Remote  LDP       00h00m34s  9
       192.168.13.2 (tunneled)                                      20
192.0.2.6/32                                  Remote  LDP       00h00m34s  9
       192.168.12.2 (tunneled)                                      30
192.168.12.0/30                               Local   Local     00h27m20s  0
       int-PE-1-PE-2                                                0
192.168.13.0/30                               Local   Local     00h27m20s  0
       int-PE-1-PE-3                                                0
192.168.23.0/30                               Remote  ISIS      00h27m05s  15
       192.168.12.2                                                 20
192.168.24.0/30                               Remote  ISIS      00h27m05s  15
       192.168.12.2                                                 20
192.168.35.0/30                               Remote  ISIS      00h27m01s  15
       192.168.13.2                                                 20
192.168.45.0/30                               Remote  ISIS      00h27m01s  15
       192.168.12.2                                                 30
192.168.46.0/30                               Remote  ISIS      00h27m01s  15
       192.168.12.2                                                 30
192.168.56.0/30                               Remote  ISIS      00h26m58s  15
       192.168.13.2                                                 30
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================
*A:PE-1# show router fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
192.0.2.1/32                                                LOCAL
  192.0.2.1 (system) 
192.0.2.2/32                                                LDP
  192.0.2.2 (Transport:LDP)
192.0.2.3/32                                                LDP
  192.0.2.3 (Transport:LDP)
192.0.2.4/32                                                LDP
  192.0.2.4 (Transport:LDP)
192.0.2.5/32                                                LDP
  192.0.2.5 (Transport:LDP)
192.0.2.6/32                                                LDP
  192.0.2.6 (Transport:LDP)
192.168.12.0/30                                             LOCAL
  192.168.12.0 (int-PE-1-PE-2) 
192.168.13.0/30                                             LOCAL
  192.168.13.0 (int-PE-1-PE-3) 
192.168.23.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.24.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.35.0/30                                             ISIS
  192.168.13.2 (int-PE-1-PE-3) 
192.168.45.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.46.0/30                                             ISIS
  192.168.12.2 (int-PE-1-PE-2) 
192.168.56.0/30                                             ISIS
  192.168.13.2 (int-PE-1-PE-3) 
-------------------------------------------------------------------------------
Total Entries : 14
-------------------------------------------------------------------------------
===============================================================================

Applying LDP IGP shortcuts only on PE-1 implies that IP traffic from PE-1 to any of the system addresses of the rest of the nodes will use the LDP shortcut, however, the traffic replied from any PE back to PE-1 will be native IP because IGP shortcuts have not been provisioned in the other nodes.

RSVP Shortcut for IGP Route Resolution

Using RSVP LSP shortcuts when resolving IGP routes enables forwarding of packets to IGP learned routes over an RSVP LSP. The use of RSVP shortcuts for resolving IGP routes is enabled at the IS-IS (or OSPF) routing protocol level or at the LSP level, and instructs IS-IS and OSPF to include RSVP LSPs originating on this node and terminating on the system address (router ID) of a remote node and considers them as direct links. RSVP LSPs with a destination address corresponding to an interface address or any other loopback interface address of a remote node are automatically not considered by IS-IS or OSPF.

By default, rsvp-shortcut is disabled in all IGP instances.

RSVP LSPs are included in the IGP SPF computation with the following characteristics:

  • RSVP LSP is modeled as a point-to-point link IP interface and its metric is used in the computation of the shortest path of IGP routes

  • Next hop and interface include the NHLFE of the shortcut LSP when the IGP path cost using the RSVP LSP is the best.

  • Shortcuts are not used when the destination RSVP LSP is in a different IGP area. In addition, IGP adjacencies across an RSVP LSP are not supported.

RSVP shortcut is enabled at IGP instance level as follows:

*A:<all PEs># configure
    router
        isis
            igp-shortcut
                tunnel-next-hop
                    family ipv4
                        resolution filter
                        resolution-filter
                            rsvp
                        exit
                    exit
                exit
                no shutdown
            exit

The configuration can be done at the IGP level or per LSP level. When rsvp-shortcut is enabled at the IGP instance level, all RSVP LSPs originating on this node are eligible by default. The user can, however, exclude a specific RSVP LSP from being used as a shortcut for resolving IGP routes by entering the command (e.g. on PE-6):

*A:PE-6# configure router mpls lsp "LSP-PE-6-PE-1" no igp-shortcut

As RSVP shortcuts can coexist with LDP shortcuts or IP next hops, SPF computation and path selection follows the procedures in RFC 3906:

  • SPF picks the RSVP shortcut next hop if there is an RSVP LSP directly to that address regardless of the path cost compared to the IGP next hop.

  • SPF picks the RSVP shortcut next hop or the IGP next hop based on path lowest cost if there is an IGP path to the prefix that does not go via the tail-end of the LSP.

  • If the IGP next hop is picked, then it can be an LDP shortcut next hop or a regular IP next hop. The LDP shortcut next hop always has preference over the regular IP next hop.

Handling of Control Packets

All control plane packets requiring an RTM lookup and whose destination is reachable over the RSVP shortcut are forwarded over the shortcut. This is because the RTM keeps a single route entry for each prefix, except if there is ECMP over different outgoing interfaces. Interface bound control packets are not impacted by the RSVP shortcut because RSVP LSPs with a destination address different than the router ID are not included by IGP in its SPF calculation.

RSVP shortcuts for IGP shortcut resolution should only be used with CSPF LSPs or with fully explicit path non-CSPF LSPs. RSVP hop-by-hop Path messages will try to use the shortcut and consequently LSPs without CSPF enabled, or that use a loose/empty hop path, will not come up. However, LSPs with CSPF enabled or using a strict hop path will come up. This is because in the former case, the RTM lookup to get the next hop results in using the shortcut and so the path messages are sent directly to the destination of the LSP, where they are dropped. With CSPF enabled, the next hop (and the entire path) is provided by CSPF and the path messages are sent unlabeled to the directly connected neighbor which corresponds to the next hop of the destination of the LSP. Similar processing occurs if a strict hop path is used, as is the case in the following example.

Handling of Multicast Packets

IP multicast packets cannot be forwarded over an RSVP shortcut, they can only be forwarded over an RSVP P2MP LSP. However, RSVP shortcut routes appear in the RTM and are seen by all applications when they are the best route. When the Reverse Path Forwarding (RPF) check for the source of the multicast packet matches an RSVP shortcut route, the check will pass if both the RSVP shortcut and the multicast-import options are enabled in the IGP, as follows, because the RTM is populated with next hops only and not with tunnels (RPFs will fail for source prefixes resolved to a tunnel NH).

*A:PE-6# configure router isis multicast-import ?
  - multicast-import [both]
  - multicast-import [ipv4]
  - multicast-import [ipv6]
  - no multicast-import [both]
  - no multicast-import [ipv4]
  - no multicast-import [ipv6]

 <ipv4>               : keyword
 <ipv6>               : keyword
 <both>               : keyword

The unicast RTM can still use the tunnel next hop for the same prefix. SPF keeps track of both the direct first hop and the tunneled first hop of a node which is added to the Dijkstra tree.

ECMP Considerations

When ECMP is enabled and multiple equal cost paths exist for the route over a set of tunnel next hops based on the hashing routine supported for IPv4 packets, there are two possibilities:

  • Destination is tunnel endpoint: the system selects the tunnel with lowest tunnel ID (IP next hop is never used).

  • Destination is different from the tunnel endpoint: it selects tunnel endpoints when the LSP metric is not greater than the IGP cost and it prefers tunnel endpoint over IP next hop.

ECMP is not performed across the IP and tunnel next hops simultaneously.

RSVP Shortcuts Configuration

Configuring RSVP LSP shortcuts is straightforward, and only applies to the node where there is interest to provision the RSVP shortcut. Two LSPs, from PE-6 to PE-1 and from PE-1 to PE-6, with strict hops, are provisioned according to LSPs Between PE-1 and PE-6.

Figure 4. LSPs Between PE-1 and PE-6

The configuration on PE-1 and PE-6 is similar (replacing the IP addresses), so only the configuration for PE-6 is shown:

*A:PE-6# configure 
    router 
        isis
            igp-shortcut
                tunnel-next-hop
                    family ipv4
                        resolution filter
                        resolution-filter
                            rsvp
                        exit
                    exit
                exit
                no shutdown
            exit
*A:PE-6# configure
    router 
        mpls
            path "path-to-PE-1"
                hop 10 192.0.2.5 strict
                hop 20 192.0.2.3 strict
                hop 30 192.0.2.2 strict
                hop 40 192.0.2.1 strict
                no shutdown
            exit
            lsp "LSP-PE-6-PE-1-strict"
                to 192.0.2.1
                primary "path-to-PE-1"
                exit
                no shutdown
            exit

The GRT output shows the change in the next hop, using an RSVP shortcut:

*A:PE-6# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h02m10s  15
       192.0.2.1 (tunneled:RSVP:2)                                  16777215
192.0.2.2/32                                  Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 20
192.0.2.3/32                                  Remote  ISIS      00h38m56s  15
       192.168.56.1                                                 20
192.0.2.4/32                                  Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 10
192.0.2.5/32                                  Remote  ISIS      00h38m56s  15
       192.168.56.1                                                 10
192.0.2.6/32                                  Local   Local     00h39m11s  0
       system                                                       0
192.168.12.0/30                               Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 30
192.168.13.0/30                               Remote  ISIS      00h38m56s  15
       192.168.56.1                                                 30
192.168.23.0/30                               Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 30
192.168.24.0/30                               Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 20
192.168.35.0/30                               Remote  ISIS      00h38m56s  15
       192.168.56.1                                                 20
192.168.45.0/30                               Remote  ISIS      00h38m56s  15
       192.168.46.1                                                 20
192.168.46.0/30                               Local   Local     00h38m57s  0
       int-PE-6-PE-4                                                0
192.168.56.0/30                               Local   Local     00h38m57s  0
       int-PE-6-PE-5                                                0
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The RSVP LSP in the output has a metric of 16777215, the LSP administrative metric matches the maximum value allowed for an IS-IS link using the wide-metric (24-bit value with a range of [0 — 16777215]). The following metric rules apply:

  • A dynamic strict path non-CSPF LSP has the maximum metric (16777215).

  • A dynamic CSPF LSP has a metric equal to the cumulative IGP cost.

    • If the user enabled the use of the TE metric on this LSP (configure router mpls lsp <LSP Name> path-computation-method local-cspf metric-type te), then the metric for the LSP is the maximum (16777215).

    • If the user enabled the use of the TE metric on this LSP and provisioned a specific metric on the lsp (configure router mpls lsp <LSP Name> path-computation-method local-cspf metric-type te metric <value>), (configure router mpls lsp metric <metric>:<0..16777215>), then the metric for the LSP is the one provisioned. When configuring the metric of an LSP, the parameter ‟metric-type” is not required.

  • A static LSP has a maximum metric (16777215).

  • Manual and dynamic bypass LSPs have the maximum metric (16777215).

The RSVP shortcuts section detailed the importance of the LSP metric when using CSPF LSPs or when importing RSVP tunnel links into the IGP. The LSP metric can be inherited from the IGP, or can be manually modified by configuring a specific LSP metric or relative metric offset. Because IP and LDP FECs resolve to RSVP LSPs when the metric is equal or lower compared to the regular routing metric, configuring a specific static LSP metric (lower than the IGP metric) or relative metric offset is strongly recommended when using RSVP shortcuts, so that the GRT and LDP FEC resolution will always prefer the RSVP LSP shortcuts when the CSPF path computation is not using the shortest path.

For the preceding example, the first rule applies.

Advertising RSVP LSP Tunnel Links in the IGP: Forwarding Adjacency Feature

If configured, an RSVP LSP can also be advertised into the IGP similar to regular links so that other routers in the network can include that RSVP LSP into their SPF computations. The forwarding adjacency feature can be enabled independently from the RSVP shortcut feature in CLI. If both are configured for an IGP instance, the forwarding adjacency takes precedence. An RSVP LSP must exist in the reverse direction in order for the advertised link to pass the bi-directional link check and be usable by other routers in the network. However, this is not required for the node which originates the LSP. The LSP is advertised as an unnumbered point-to-point link and the Link State Protocol data unit (LSP) and Link State Advertisement (LSA) have no traffic engineering opaque sub-TLVs as per RFC 3906.

Reusing the RSVP IGP shortcuts set up previously (PE-1 and PE-6 RSVP IGP shortcut example according to LSPs Between PE-1 and PE-6), the outcome is a route linked with an RSVP LSP as next hop, as follows:

*A:PE-6# show router route-table 192.0.2.1/32 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h08m12s  15
       192.0.2.1 (tunneled:RSVP:2)                                  16777215
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The route tunneled through RSVP has a metric of 16777215, so it is not used by PE-6 GRT to reach any other routes because the metric is very high. After enabling the forwarding adjacency feature (tunnel links) to use shortcuts in the configuration, PE-1 and PE-6 have a direct connection through the RSVP LSP (as a virtual link). This configuration command must be executed in both routers.

*A:PE-1(&6)# configure router isis advertise-tunnel-link

When the shortcut is advertised by IS-IS, the route will disappear from the RTM because the metric of the shortcut is greater than the IGP cost.

*A:PE-6# show router route-table 192.0.2.1/32 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h00m51s  15
192.168.46.130
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

If the LSP is reconfigured to use a metric equal to or smaller than the IGP cost, the router PE-6 will use the RSVP shortcut again. In the example, the LSP is reconfigured with a metric of 30 (e.g. on PE-6):

*A:PE-6# configure router mpls lsp "LSP-PE-6-PE-1-strict" metric 30

Now the shortcut shows up as the preferred next hop to reach PE-1 from PE-6.

*A:PE-6# show router route-table 192.0.2.1/32 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h01m56s  15
       192.0.2.1 (tunneled:RSVP:2)                                  30
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

As explained earlier, this could be combined with ECMP, so if ECMP is configured to 2, the system shows the two equal cost paths.

*A:PE-6# configure router ecmp 2 

*A:PE-6# show router route-table 192.0.2.1/32 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h00m18s  15
       192.0.2.1 (tunneled:RSVP:2)                                  30
192.0.2.1/32                                  Remote  ISIS      00h00m18s  15
       192.168.46.1                                                 30
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The GRT on PE-4 displays the route to reach PE-1 (192.0.2.1/32) with a metric of 20 via PE-2 as next hop. Although PE-6 is announcing the RSVP LSP-PE-6-PE-1 to the other routers, the LSP shortcut is not used by PE-4, because the metric to reach PE-6 (10) plus the metric of the LSP shortcut from PE-6 to PE-1 (metric 30) is greater than 20.

A:PE-4# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h59m21s  15
       192.168.24.1                                                 20
192.0.2.2/32                                  Remote  ISIS      00h59m21s  15
       192.168.24.1                                                 10
192.0.2.3/32                                  Remote  ISIS      00h59m19s  15
       192.168.24.1                                                 20
192.0.2.4/32                                  Local   Local     00h59m37s  0
       system                                                       0
192.0.2.5/32                                  Remote  ISIS      00h59m16s  15
       192.168.45.2                                                 10
192.0.2.6/32                                  Remote  ISIS      00h59m11s  15
       192.168.46.2                                                 10
192.168.12.0/30                               Remote  ISIS      00h59m21s  15
       192.168.24.1                                                 20
192.168.13.0/30                               Remote  ISIS      00h59m19s  15
       192.168.24.1                                                 30
192.168.23.0/30                               Remote  ISIS      00h59m21s  15
       192.168.24.1                                                 20
192.168.24.0/30                               Local   Local     00h59m22s  0
       int-PE-4-PE-2                                                0
192.168.35.0/30                               Remote  ISIS      00h59m16s  15
       192.168.45.2                                                 20
192.168.45.0/30                               Local   Local     00h59m22s  0
       int-PE-4-PE-5                                                0
192.168.46.0/30                               Local   Local     00h59m22s  0
       int-PE-4-PE-6                                                0
192.168.56.0/30                               Remote  ISIS      00h59m16s  15
       192.168.45.2                                                 20
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

If the metric of the LSP LSP-PE-6-PE-1 is modified to a value between 1 and 9, there is a better metric (less than 20) so that PE-4 will change the next hop via PE-6. First the metric of the LSP is modified to 9:

*A:PE-6# configure router mpls lsp "LSP-PE-6-PE-1-strict" metric 9

The GRT on PE-4 shows that the next hop to reach PE-1 has changed, from next hop PE-2 to next hop PE-6 (therefore, using the LSP shortcut), and the metric is 19 (10 to reach PE-6 plus metric 9 of the LSP PE-6-PE-1 shortcut):

A:PE-4# show router route-table 192.0.2.1/32 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h00m39s  15
192.168.46.2                                                 19
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Because the metric of the LSP shortcut was modified to a value of 9, the GRT of PE-6 shows that the next hops of several routes have changed and are also using the shortcut LSP PE-6-PE-1 because the metric is better than the regular IS-IS metric. IGP shortcuts will not be used to resolve prefixes downstream of the LSP endpoint when the LSP metric is higher than the underlying IGP cumulative metric.

*A:PE-6# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
       Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  9
192.0.2.2/32                                  Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  19
192.0.2.3/32                                  Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  19
192.0.2.4/32                                  Remote  ISIS      00h02m52s  15
       192.168.46.1                                                 10
192.0.2.5/32                                  Remote  ISIS      00h02m52s  15
       192.168.56.1                                                 10
192.0.2.6/32                                  Local   Local     01h02m47s  0
       system                                                       0
192.168.12.0/30                               Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  19
192.168.13.0/30                               Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  19
192.168.23.0/30                               Remote  ISIS      00h01m40s  15
       192.0.2.1 (tunneled:RSVP:2)                                  29
192.168.24.0/30                               Remote  ISIS      00h02m52s  15
       192.168.46.1                                                 20
192.168.35.0/30                               Remote  ISIS      00h02m52s  15
       192.168.56.1                                                 20
192.168.45.0/30                               Remote  ISIS      00h02m52s  15
       192.168.46.1                                                 20
192.168.46.0/30                               Local   Local     01h02m33s  0
       int-PE-6-PE-4                                                0
192.168.56.0/30                               Local   Local     01h02m33s  0
       int-PE-6-PE-5                                                0
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

There are also cases where an LDP FEC can resolve to an RSVP LSP, if the user enables the LDP-over-RSVP feature or IGP shortcut feature when prefer-tunnel-in-tunnel is enabled in LDP and the endpoint of the RSVP LSP matches the FEC prefix. For those cases, the metric to the prefix is the sum of the RSVP LSP metric and the remaining IGP path cost.

RSVP LSP Role As Outcome of LSP Level and IGP Level Configuration Options provides a summary of the outcome when configuring the forwarding adjacency, LDPoRSVP and RSVP shortcut options at both the IGP instance level and at the LSP level.

Table 1. RSVP LSP Role As Outcome of LSP Level and IGP Level Configuration Options

IGP Instance Level Configurations

LSP Level Configuration

advertise-tunnel-link enabled/rsvp-shortcut enabled/ldp-over-rsvp enabled

advertise-tunnel-link enabled/rsvp-shortcut enabled/ldp-over-rsvp disabled

advertise-tunnel-link enabled/rsvp-shortcut disabled/ldp-over-rsvp disabled

advertise-tunnel-link disabled/rsvp-shortcut disabled/ldp-over-rsvp disabled

advertise-tunnel-link disabled/rsvp-shortcut enabled/ldp-over-rsvp enabled

advertise-tunnel-link disabled/rsvp-shortcut disabled/ldp-over-rsvp enabled

igp-shortcut enabled/ldp-over-rsvp enabled

Forwarding Adjacency

Forwarding Adjacency

Forwarding Adjacency

None

IGP

Shortcut

LDP-over-RSVP

igp-shortcut enabled/ldp-over-rsvp disabled

Forwarding Adjacency

Forwarding Adjacency

Forwarding Adjacency

None

IGP

Shortcut

None

igp-shortcut disabled/ldp-over-rsvp enabled

None

None

None

None

None

LDP-over-RSVP

igp-shortcut disabled/ldp-over-rsvp disabled

None

None

None

None

None

None

LSP Relative Metric

It is possible to use relative metrics for IGP shortcuts as per RFC 3906, Calculating Interior Gateway Protocol (IGP) Routes Over Traffic Engineering Tunnels, with the following command (e.g. on PE-6):

*A:PE-6# configure router mpls lsp "LSP-PE-6-PE-1-strict" igp-shortcut relative-metric ?
  - igp-shortcut [lfa-protect | lfa-only]
  - igp-shortcut relative-metric [offset]
  - no igp-shortcut

 <lfa-protect>        : keyword
 <lfa-only>           : keyword
 <relative-metric>    : keyword
 <offset>             : [-10..10]

When this feature is enabled, IGP applies the shortest IGP cost between the endpoints of the LSP, plus the value of a configured offset when computing the cost of the prefix that is resolved to the LSP.

The offset value is optional and can have a value between -10 and 10, and defaults to zero (0). An offset value of zero (0) is used when the relative metric option is enabled without specifying the offset parameter value. The minimum net cost for the prefix is capped to the value of one (1) after applying the offset:

Prefix cost = max (1, IGP Cost + relative metric offset)

The relative-metric option is ignored when advertise-tunnel-link is enabled in IS-IS or OSPF. In that case, the IGP advertises the LSP as a P2P unnumbered link using the LSP operational metric.

The relative-metric option is mutually exclusive with the lfa-protect (Loop-Free Alternate (LFA)) or the lfa-only options. An LSP with relative-metric option enabled cannot be included in the LFA SPF and vice versa when the rsvp-shortcut option is enabled in the IGP (see chapter LDP/IP FRR LFA for IGP Shortcut Using IS-IS/OSPF for more information).

The offset can be used to enforce the preference of the shortcut path over the other paths for the prefix. Using an example, a new CSPF LSP with empty path and relative metric of -10 is created between PE-6 and PE-1. Whereas the operational or absolute metric is 30 (IGP cost and populated in the Tunnel Table Manager, TTM), the metric that the RTM shows is 20 after applying the offset:

*A:PE-6# configure
    router 
        mpls
            lsp "LSP-PE-6-PE-1-loose"
                to 192.0.2.1
                path-computation-method local-cspf
                igp-shortcut relative-metric -10
                primary "loose_path"
                exit
                no shutdown
            exit
*A:PE-6# show router tunnel-table 192.0.2.1 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.1/32          rsvp      MPLS  4         7      192.168.46.1   30
192.0.2.1/32          rsvp      MPLS  2         7      192.168.56.1   16777215
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================
*A:PE-6# show router route-table 192.0.2.1 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h00m28s  15
       192.0.2.1 (tunneled:RSVP:4)                                  20
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

LDP/IP FRR LFA for IGP Shortcut Using IS-IS/OSPF

MPLS LDP/IP FRR LFA for IGP shortcuts allows for the use of RSVP LSP-based IGP shortcuts as Loop-Free Alternate (LFA) backups, this way expanding the coverage of the IP Fast-Reroute (FRR) and the LDP FRR capabilities for IS-IS and OSPF prefixes. For a detailed description about IP and LDP FRR, see chapter MPLS LDP FRR using ISIS as IGP.

When an RSVP LSP is used as a shortcut by IS-IS or OSPF, it is included by the SPF as a P2P link and it can also be optionally advertised into the rest of the network by the IGP.

Two LSP-level configuration options are provided:

  • The lfa-protect option includes the RSVP LSP in both the main SPF and the LFA SPFs. If the prefix primary next hop (NH) is tunneled, no LFA NH is computed. The protection in this case is provided by RSVP FRR. If the prefix primary NH is direct, then an LFA NH is computed. A direct LFA NH is preferred over a tunneled LFA NH. Within each LFA NH type, node protection is preferred over link protection. The configuration command is:

    configure router mpls lsp <lsp-name> igp-shortcut lfa-protect
    
  • The lfa-only option includes the LSP in the LFA SPFs only so that the introduction of IGP shortcuts does not impact the main SPF decision. The prefix primary NH is always direct and the prefix LFA NH is computed. A direct LFA NH is preferred over a tunneled LFA NH. Within each LFA NH type, node protection is preferred over link protection. The configuration command is:

    configure router mpls lsp <lsp-name> igp-shortcut lfa-only
    

LDP/IP FRR is a local decision, so it can be enabled per node and there are no interoperability issues with other nodes. In the topology, PE-2 is provisioned with IS-IS LFA (OSPF configuration for the rest of this section is similar):

A:PE-2# configure router isis loopfree-alternates

The second item to configure is whether LDP or IP FRR is provisioned. To configure IP FRR, the command is:

A:PE-2# configure router ip-fast-reroute

To configure LDP FRR, the following command is used:

A:PE-2# configure router ldp fast-reroute

Although not shown, it is recommended to enable IGP-LDP synchronization per interface to avoid possible traffic black-holes.

LFA is enabled in all routers of the topology. The following command shows the LFA coverage on PE-2 where four nodes out of five are protected (80%) and seven of the ten prefixes are protected (70%). IPv4 prefixes are protected (IPv6 is not configured). The following output shows L1 and L2 because this node is provisioned as an L1-L2 IS-IS router.

*A:PE-2# show router isis lfa-coverage 

===============================================================================
Rtr Base ISIS Instance 0 LFA Coverage
===============================================================================
Topology         Level   Node           IPv4                IPv6
-------------------------------------------------------------------------------
IPV4 Unicast     L1      4/5(80%)       7/10(70%)           0/0(0%)
IPV6 Unicast     L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Unicast     L2      4/5(80%)       7/10(70%)           0/0(0%)
IPV6 Unicast     L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
=============================================================================== 

PE-2, PE-3, PE-4, and PE-5 share the same results, whereas only PE-1 and PE-6 have a coverage of 100% as shown in the following output.

*A:PE-1# show router isis lfa-coverage 

===============================================================================
Rtr Base ISIS Instance 0 LFA Coverage
===============================================================================
Topology         Level   Node           IPv4                IPv6
-------------------------------------------------------------------------------
IPV4 Unicast     L1      5/5(100%)      11/11(100%)         0/0(0%)
IPV6 Unicast     L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Unicast     L2      5/5(100%)      11/11(100%)         0/0(0%)
IPV6 Unicast     L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
===============================================================================

Taking a deeper look into the IS-IS LFA on PE-2, it can be seen that the node which is not protected is PE-4 (system address 192.0.2.4, because it is the one missing):

*A:PE-2# show router route-table alternative | match LFA pre-lines 2 
192.0.2.1/32                                  Remote  ISIS      01h16m32s  15
       192.168.12.1                                                 10
       192.168.23.2 (LFA)                                           20
192.0.2.3/32                                  Remote  ISIS      01h16m24s  15
       192.168.23.2                                                 10
       192.168.12.1 (LFA)                                           20
192.0.2.5/32                                  Remote  ISIS      01h16m21s  15
       192.168.23.2                                                 20
       192.168.24.2 (LFA)                                           20
192.0.2.6/32                                  Remote  ISIS      01h16m16s  15
       192.168.24.2                                                 20
       192.168.23.2 (LFA)                                           30
192.168.13.0/30                               Remote  ISIS      01h16m32s  15
       192.168.12.1                                                 20
       192.168.23.2 (LFA)                                           30
192.168.35.0/30                               Remote  ISIS      01h16m24s  15
       192.168.23.2                                                 20
       192.168.12.1 (LFA)                                           30
192.168.56.0/30                               Remote  ISIS      01h16m21s  15
       192.168.23.2                                                 30
       192.168.24.2 (LFA)                                           30
Flags: n = Number of times nexthop is repeated
       Backup = BGP backup route
       LFA = Loop-Free Alternate nexthop

LFA is improved by taking advantage of RSVP shortcuts when it is properly provisioned. The reason why PE-4 cannot be protected with an LFA path is because the direct NH is using the direct link between PE-2 and PE-4 (the shortest IGP) and the intended LFA path through PE-3 is not valid (when LFA tries to find an alternate path via PE-3, the IGP cost from PE-3 to PE-4 is the same going via PE-5 as the path back via PE-2, invalidating that LFA calculation because there is a loop). This is normal because PE-2, PE-3, PE-4 and PE-5 are forming a ring. LFA coverage is increased by adding a link between PE-2 and PE-5, which can be done using a physical link or a virtual link with an RSVP shortcut. From the two possible options (lfa-only and lfa-protect), a new LSP ‟LSP-PE-2-PE-5” is configured with igp-shortcut lfa-only.

*A:PE-2# configure
    router
        mpls
            path "path-to-PE-5"
                hop 10 192.0.2.3 strict
                hop 20 192.0.2.5 strict
                no shutdown
            exit
            lsp "LSP-PE-2-PE-5"
                to 192.0.2.5
                igp-shortcut lfa-only
                primary "path-to-PE-5"
                exit
                no shutdown
            exit
Figure 5. RSVP Shortcuts LFA Use Case Example

Now the LFA coverage is 100% on PE-2 as shown by the following output:

*A:PE-2# show router isis lfa-coverage 

===============================================================================
Rtr Base ISIS Instance 0 LFA Coverage
===============================================================================
Topology         Level   Node           IPv4                IPv6
-------------------------------------------------------------------------------
IPV4 Unicast     L1      5/5(100%)      10/10(100%)         0/0(0%)
IPV6 Unicast     L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Unicast     L2      5/5(100%)      10/10(100%)         0/0(0%)
IPV6 Unicast     L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
=============================================================================== 

The GRT details the prefix information after the new LFA calculation using the lfa-only option (the shortcut is used by LFA SPF). The metric from PE-2 to PE-4 is the maximum plus the IGP cost (16777215 + 10) and the shortcut is also used to protect the rest of the previously unprotected prefixes:

*A:PE-2# show router route-table alternative | match LFA pre-lines 2 
192.0.2.1/32                                  Remote  ISIS      01h17m45s  15
       192.168.12.1                                                 10
       192.168.23.2 (LFA)                                           20
192.0.2.3/32                                  Remote  ISIS      01h17m38s  15
       192.168.23.2                                                 10
       192.168.12.1 (LFA)                                           20
192.0.2.4/32                                  Remote  ISIS      01h17m38s  15
       192.168.24.2                                                 10
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777225
192.0.2.5/32                                  Remote  ISIS      01h17m34s  15
       192.168.23.2                                                 20
       192.168.24.2 (LFA)                                           20
192.0.2.6/32                                  Remote  ISIS      01h17m30s  15
       192.168.24.2                                                 20
       192.168.23.2 (LFA)                                           30
192.168.13.0/30                               Remote  ISIS      01h17m45s  15
       192.168.12.1                                                 20
       192.168.23.2 (LFA)                                           30
192.168.35.0/30                               Remote  ISIS      01h17m38s  15
       192.168.23.2                                                 20
       192.168.12.1 (LFA)                                           30
192.168.45.0/30                               Remote  ISIS      01h17m38s  15
       192.168.24.2                                                 20
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777235
192.168.46.0/30                               Remote  ISIS      01h17m38s  15
       192.168.24.2                                                 20
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777235
192.168.56.0/30                               Remote  ISIS      01h17m34s  15
       192.168.23.2                                                 30
       192.168.24.2 (LFA)                                           30
Flags: n = Number of times nexthop is repeated
       Backup = BGP backup route
       LFA = Loop-Free Alternate nexthop

The tunnel table shows the RSVP LSP used as a shortcut and its operational metric.

*A:PE-2# show router tunnel-table 192.0.2.5 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.5/32          rsvp      MPLS  1         7      192.168.23.2   16777215
192.0.2.5/32 [L]      ldp       MPLS  65540     9      192.168.23.2   20
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

If the LSP ‟LSP-PE-2-PE-5” is provisioned with lfa-protect instead of lfa-only, the result is that the LSP "LSP-PE-2-PE-5‟ is used by normal SPF to define the primary NH and it is not used by LFA SPF anymore.

*A:PE-2# configure router mpls lsp "LSP-PE-2-PE-5" igp-shortcut lfa-protect

The coverage when lfa-protect is used also shows a 100% for nodes and 100% for prefixes, as follows.

*A:PE-2# show router isis lfa-coverage 

===============================================================================
Rtr Base ISIS Instance 0 LFA Coverage
===============================================================================
Topology         Level   Node           IPv4                IPv6
-------------------------------------------------------------------------------
IPV4 Unicast     L1      5/5(100%)      9/9(100%)           0/0(0%)
IPV6 Unicast     L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L1      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Unicast     L2      5/5(100%)      9/9(100%)           0/0(0%)
IPV6 Unicast     L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV4 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
IPV6 Multicast   L2      0/0(0%)        0/0(0%)             0/0(0%)
===============================================================================

In this case, the GRT looks as follows, the main difference being that now PE-5 (192.0.2.5) has a direct shortcut from PE-2:

*A:PE-2# show router route-table alternative 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
      Alt-NextHop                                                Alt-      
                                                                Metric     
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      01h18m31s  15
       192.168.12.1                                                 10
       192.168.23.2 (LFA)                                           20
192.0.2.2/32                                  Local   Local     01h18m46s  0
       system                                                       0
192.0.2.3/32                                  Remote  ISIS      01h18m23s  15
       192.168.23.2                                                 10
       192.168.12.1 (LFA)                                           20
192.0.2.4/32                                  Remote  ISIS      01h18m23s  15
       192.168.24.2                                                 10
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777225
192.0.2.5/32                                  Remote  ISIS      00h00m43s  15
       192.0.2.5 (tunneled:RSVP:1)                                  16777215
192.0.2.6/32                                  Remote  ISIS      01h18m15s  15
       192.168.24.2                                                 20
       192.168.23.2 (LFA)                                           30
192.168.12.0/30                               Local   Local     01h18m32s  0
       int-PE-2-PE-1                                                0
192.168.13.0/30                               Remote  ISIS      01h18m31s  15
       192.168.12.1                                                 20
       192.168.23.2 (LFA)                                           30
192.168.23.0/30                               Local   Local     01h18m32s  0
       int-PE-2-PE-3                                                0
192.168.24.0/30                               Local   Local     01h18m32s  0
       int-PE-2-PE-4                                                0
192.168.35.0/30                               Remote  ISIS      01h18m23s  15
       192.168.23.2                                                 20
       192.168.12.1 (LFA)                                           30
192.168.45.0/30                               Remote  ISIS      01h18m23s  15
       192.168.24.2                                                 20
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777235
192.168.46.0/30                               Remote  ISIS      01h18m23s  15
       192.168.24.2                                                 20
       192.0.2.5 (LFA) (tunneled:RSVP:1)                            16777235
192.168.56.0/30                               Remote  ISIS      00h00m43s  15
       192.168.24.2                                                 30
       192.168.23.2 (LFA)                                           40
-------------------------------------------------------------------------------
No. of Routes: 14
Flags: n = Number of times nexthop is repeated
       Backup = BGP backup route
       LFA = Loop-Free Alternate nexthop
       S = Sticky ECMP requested
===============================================================================

Rules Determining the Installation of Shortcuts into the RTM

Although it was already mentioned in the RSVP-TE LSP shortcut for IGP route resolution section, the rules determining how shortcuts are installed into the RTM are (sorted by higher priority):

  • RSVP shortcut.

  • LDP shortcut.

  • IGP route with regular IP next hop.

  • The implementation is compliant with RFC 3906.

To check the rules, the network configuration is iLDP in all interfaces with LDP shortcuts enabled, there is also an RSVP LSP from PE-6 to PE-3 available but RSVP shortcuts are disabled. The topology is shown in Network Topology to Verify Installation of Shortcuts into the RTM.

Figure 6. Network Topology to Verify Installation of Shortcuts into the RTM

The following RSVP LSP is needed between PE-6 and PE-3.

*A:PE-6# configure router ldp-shortcut
*A:PE-6# configure
    router
        isis
            igp-shortcut
                shutdown
                tunnel-next-hop
                    family ipv4
                        resolution disabled
                        resolution-filter
                            no rsvp
                        exit
                    exit
                exit
            exit
*A:PE-6# configure 
    router 
        mpls
            path "loose_path"
                no shutdown
            exit
            lsp "LSP-PE-6-PE-3"
                to 192.0.2.3
                path-computation-method local-cspf
                primary "loose_path"
                exit
                no shutdown
            exit

The routes in the routing table on PE-6 are the following:

*A:PE-6# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  LDP       00h00m53s  9
       192.168.56.1 (tunneled)                                      30
192.0.2.2/32                                  Remote  LDP       00h00m53s  9
       192.168.56.1 (tunneled)                                      30
192.0.2.3/32                                  Remote  LDP       00h00m53s  9
       192.168.56.1 (tunneled)                                      20
192.0.2.5/32                                  Remote  LDP       00h00m53s  9
       192.168.56.1 (tunneled)                                      10
192.0.2.6/32                                  Local   Local     01h23m09s  0
       system                                                       0
192.168.12.0/30                               Remote  ISIS      00h01m30s  15
       192.168.56.1                                                 40
192.168.13.0/30                               Remote  ISIS      00h19m13s  15
       192.168.56.1                                                 30
192.168.23.0/30                               Remote  ISIS      00h01m30s  15
       192.168.56.1                                                 30
192.168.35.0/30                               Remote  ISIS      00h23m14s  15
       192.168.56.1                                                 20
192.168.56.0/30                               Local   Local     01h22m55s  0
       int-PE-6-PE-5                                                0
-------------------------------------------------------------------------------
No. of Routes: 10
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The tunnel table shows the LSPs available for the shortcuts, and therefore, these are used in the GRT for LDP (but not for RSVP):

*A:PE-6# show router tunnel-table 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.1/32          ldp       MPLS  65547     9      192.168.56.1   30
192.0.2.2/32          ldp       MPLS  65544     9      192.168.56.1   30
192.0.2.3/32          rsvp      MPLS  5         7      192.168.56.1   20
192.0.2.3/32          ldp       MPLS  65545     9      192.168.56.1   20
192.0.2.5/32          ldp       MPLS  65537     9      192.168.56.1   10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

So far, LDP shortcuts are preferred over the IGP next hops for the system addresses (router ID). After enabling RSVP shortcuts in the isis context, the changes in the GRT are:

*A:PE-6# configure
    router
        isis
            igp-shortcut
                tunnel-next-hop
                    family ipv4
                        resolution filter
                        resolution-filter
                            rsvp
                        exit
                    exit
                exit
                no shutdown
            exit
*A:PE-6# show router route-table next-hop-type tunneled 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  30
192.0.2.2/32                                  Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  30
192.0.2.3/32                                  Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  20
192.0.2.5/32                                  Remote  LDP       00h02m30s  9
       192.168.56.1 (tunneled)                                      10
192.168.12.0/30                               Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  40
192.168.13.0/30                               Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  30
192.168.23.0/30                               Remote  ISIS      00h01m34s  15
       192.0.2.3 (tunneled:RSVP:5)                                  30
-------------------------------------------------------------------------------
No. of Routes: 7
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The GRT shows that PE-6 is using an LDP shortcut to reach PE-5, but PE-6 is using the RSVP shortcut to reach not only PE-3’s system address, but also PE-1 and PE-2 routes (including all interfaces) which were behind the RSVP LSP shortcut.

In summary, the behavior is:

  1. When resolving a prefix, SPF picks the RSVP shortcut next hop if there is an RSVP LSP directly to that address regardless of the IGP path cost compared to the IGP next hop. When multiple RSVP LSPs to that address exist and all have the same lowest metric, if ECMP is enabled on the system, the LSP with the lowest tunnel ID is chosen. In this example, if LSP ‟LSP-PE-6-PE-3” is provisioned with a metric of 100 (IGP metric is 20), the GRT shows that the PE-3 system address is reachable via the LSP.

    *A:PE-6# show router route-table 192.0.2.3 
    
    ===============================================================================
    Route Table (Router: Base)
    ===============================================================================
    Dest Prefix[Flags]                            Type    Proto     Age        Pref
          Next Hop[Interface Name]                                    Metric   
    -------------------------------------------------------------------------------
    192.0.2.3/32                                  Remote  ISIS      00h00m22s  15
           192.0.2.3 (tunneled:RSVP:5)                                  100
    -------------------------------------------------------------------------------
    No. of Routes: 1
    Flags: n = Number of times nexthop is repeated
           B = BGP backup route available
           L = LFA nexthop available
           S = Sticky ECMP requested
    ===============================================================================
    
  2. SPF also picks the RSVP LSP shortcut if both the LSP path and the IGP path to the prefix are via the tail-end of the LSP. This is regardless of the path cost compared to the IGP next hop. When paths over multiple RSVP shortcuts have the same lowest cost, if ECMP is enabled on the system, the LSP with the lowest tunnel ID is chosen. In this example, 192.168.13.0 and 192.168.23.0 are using the shortcut but 192.168.12.0 is not.

    *A:PE-6# show router route-table 
    
    ===============================================================================
    Route Table (Router: Base)
    ===============================================================================
    Dest Prefix[Flags]                            Type    Proto     Age        Pref
          Next Hop[Interface Name]                                    Metric   
    -------------------------------------------------------------------------------
    192.0.2.1/32                                  Remote  LDP       00h00m22s  9
           192.168.56.1 (tunneled)                                      30
    192.0.2.2/32                                  Remote  LDP       00h00m22s  9
           192.168.56.1 (tunneled)                                      30
    192.0.2.3/32                                  Remote  ISIS      00h00m22s  15
           192.0.2.3 (tunneled:RSVP:5)                                  100
    192.0.2.5/32                                  Remote  LDP       00h03m56s  9
           192.168.56.1 (tunneled)                                      10
    192.0.2.6/32                                  Local   Local     01h26m12s  0
           system                                                       0
    192.168.12.0/30                               Remote  ISIS      00h00m22s  15
           192.168.56.1                                                 40
    192.168.13.0/30                               Remote  ISIS      00h00m22s  15
           192.0.2.3 (tunneled:RSVP:5)                                  110
    192.168.23.0/30                               Remote  ISIS      00h00m22s  15
           192.0.2.3 (tunneled:RSVP:5)                                  110
    192.168.35.0/30                               Remote  ISIS      00h26m16s  15
           192.168.56.1                                                 20
    192.168.56.0/30                               Local   Local     01h25m57s  0
           int-PE-6-PE-5                                                0
    -------------------------------------------------------------------------------
    No. of Routes: 10
    Flags: n = Number of times nexthop is repeated
           B = BGP backup route available
           L = LFA nexthop available
           S = Sticky ECMP requested
    ===============================================================================
    

LDP/RSVP LSP Shortcut for BGP NH Resolution

Using LDP/RSVP LSP shortcuts for resolving BGP next hops allows IPv4 packet forwarding to routes resolved via a BGP next hop using an LDP/RSVP LSP instead of using a regular IP next hop. In the network topology of Example Topology, both PE-3 and PE-6 have a single peer configured, initially without any shortcuts enabled under the bgp context. Also, one static route is configured in PE-3 and PE-6 and that is redistributed into BGP. The relevant configuration on PE-3 is the following:

*A:PE-3# configure
    router
        interface "static-route"
            address 172.16.33.1/30
            port 1/1/4:33
        exit
        autonomous-system 65536
        static-route-entry 10.10.10.0/24
            next-hop 172.16.33.2
                no shutdown
            exit
        exit
        policy-options
            begin
            policy-statement "static-routes"
                description "export static-routes for I-BGP"
                entry 10
                    from
                        protocol static
                    exit
                    to
                        protocol bgp
                    exit
                    action accept
                        next-hop-self
                    exit
                exit
            exit
            commit
        exit
        bgp
            export "static-routes"
            group "ibgp"
                peer-as 65536
                neighbor 192.0.2.6
                exit
            exit
        exit

Checking the static route received on PE-6 via BGP, the next hop is the PE-3 system address:

*A:PE-6# show router bgp routes 10.10.10.0/24 detail 
===============================================================================
 BGP Router ID:192.0.2.6        AS:65536       Local AS:65536      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Original Attributes

Network        : 10.10.10.0/24
Nexthop        : 192.0.2.3
Path Id        : None
From           : 192.0.2.3
Res. Protocol  : ISIS                   Res. Metric    : 20
Res. Nexthop   : 192.168.56.1
Local Pref.    : 100                    Interface Name : int-PE-6-PE-5
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 20
Connector      : None
Community      : No Community Members
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.3
Fwd Class      : None                   Priority       : None
Flags          : Used Valid Best Incomplete In-RTM 
Route Source   : Internal
AS-Path        : No As-Path
Route Tag      : 0                      
Neighbor-AS    : n/a
Orig Validation: NotFound               
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default                
RIB Priority   : Normal                 
Last Modified  : 00h01m34s              

Modified Attributes

---snip---

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

Three of the BGP peering configuration possibilities are LDP, RSVP, or BGP. The other resolution filter options are related to segment routing and are beyond the scope of this chapter. In case both LDP and RSVP are included in the filter, RSVP is preferred. Disabling the IGP is also allowed (meaning that unless there is a shortcut, the BGP peering will not fall back to IGP):

*A:PE-6# configure router bgp next-hop-resolution shortcut-tunnel family ipv4 resolution ?
  - resolution {any|filter|disabled}

*A:PE-6# configure router bgp next-hop-resolution shortcut-tunnel family ipv4 resolution-filter ?
  - resolution-filter

 [no] bgp             - Use BGP tunnelling for next hop resolution
 [no] ldp             - Use LDP tunnelling for next hop resolution
 [no] mpls-fwd-policy - Use MPLS Forwarding Policy for next hop resolution
 [no] rib-api         - Use RIB-API for next-hop resolution
 [no] rsvp            - Use RSVP tunnelling for next hop resolution
 [no] sr-isis         - Use sr-isis for next hop resolution
 [no] sr-ospf         - Use sr-ospf for next hop resolution
 [no] sr-ospf3        - Use sr-ospf3 for next hop resolution
 [no] sr-policy       - Use sr-policy for next hop resolution
 [no] sr-te           - Use sr-te for next hop resolution

When enabling LDP shortcuts on PE-6, the output changes showing the detail of the received BGP route indicating that the next hop is resolved using LDP:

*A:PE-6# configure 
    router
        bgp
            next-hop-resolution
                shortcut-tunnel
                    family ipv4
                        resolution-filter
                            ldp
                        exit
                        resolution filter
                    exit
                exit
            exit

*A:PE-6# show router bgp routes 10.10.10.0/24 detail 
===============================================================================
 BGP Router ID:192.0.2.6        AS:65536       Local AS:65536      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Original Attributes

Network        : 10.10.10.0/24
Nexthop        : 192.0.2.3
Path Id        : None
From           : 192.0.2.3
Res. Protocol  : LDP                    Res. Metric    : 20
Res. Nexthop   : 192.0.2.3 (LDP)
Local Pref.    : 100                    Interface Name : NotAvailable
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 20
Connector      : None
Community      : No Community Members
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.3
Fwd Class      : None                   Priority       : None
Flags          : Used Valid Best Incomplete In-RTM 
Route Source   : Internal
AS-Path        : No As-Path
Route Tag      : 0                      
Neighbor-AS    : n/a
Orig Validation: NotFound               
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default                
RIB Priority   : Normal                 
Last Modified  : 00h03m16s              

Modified Attributes

---snip---

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The GRT output command also shows that the route is reachable using LDP (indicated as tunneled):

*A:PE-6# show router route-table next-hop-type tunneled 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
10.10.10.0/24                                 Remote  BGP       00h00m21s  170
       192.0.2.3 (tunneled)                                         20
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

The previously created LSP LSP-PE-6-PE-3 is up and running:

*A:PE-6# show router mpls lsp "LSP-PE-6-PE-3" path detail 

===============================================================================
MPLS LSP LSP-PE-6-PE-3 Path  (Detail)
===============================================================================
Legend : 
    @ - Detour Available              # - Detour In Use
    b - Bandwidth Protected           n - Node Protected
    s - Soft Preemption           
    S - Strict                        L - Loose
    A - ABR                           + - Inherited
===============================================================================
-------------------------------------------------------------------------------
LSP LSP-PE-6-PE-3
Path loose_path
-------------------------------------------------------------------------------
LSP Name    : LSP-PE-6-PE-3
From             : 192.0.2.6               
To               : 192.0.2.3               
Admin State      : Up                      Oper State        : Up
Path Name   : loose_path
Path LSP ID      : 30720                   Path Type         : Primary
Path Admin       : Up                      Path Oper         : Up
Out Interface    : 1/1/1                   Out Label         : 524286
Path Up Time     : 0d 00:15:05             Path Down Time    : 0d 00:00:00
Retry Limit      : 0                       Retry Timer       : 30 sec
Retry Attempt    : 0                       Next Retry In     : 0 sec

---snip---

Adspec           : Disabled                Oper Adspec       : Disabled
PathCompMethod   : local-cspf              OperPathCompMethod: local-cspf
MetricType       : igp                     Oper MetricType   : igp
Least Fill       : Disabled                Oper LeastFill    : Disabled
FRR              : Disabled                Oper FRR          : Disabled
Propagate Adm Grp: Disabled                Oper Prop Adm Grp : Disabled
Inter-area       : False                   

---snip---

Adaptive         : Enabled                 Oper Metric       : 100
Preference       : n/a                     
Path Trans       : 1                       CSPF Queries      : 1
Failure Code     : noError
Failure Node : n/a
Explicit Hops    :                         
    No Hops Specified
Actual Hops      :                         
    192.168.56.2(192.0.2.6)                      Record Label        : N/A
 -> 192.168.56.1(192.0.2.5)                      Record Label        : 524286
 -> 192.168.35.1(192.0.2.3)                      Record Label        : 524284
Computed Hops    :                         
    192.168.56.2(S)   
 -> 192.168.56.1(S)   
 -> 192.168.35.1(S)   
Resignal Eligible: False                   
Last Resignal    : n/a                     CSPF Metric       : 20
===============================================================================

After adding resolution-filter rsvp to the shortcut-tunnel configuration in the bgp context, the output shows that the BGP peer is reachable using an RSVP LSP (switched from LDP to RSVP because RSVP is preferred):

*A:PE-6# configure
    router
        bgp
            next-hop-resolution
                shortcut-tunnel
                    family ipv4
                        resolution-filter
                            ldp
                            rsvp
                        exit
                        resolution filter
                    exit
                exit
            exit

*A:PE-6# show router bgp routes 10.10.10.0/24 detail 
===============================================================================
 BGP Router ID:192.0.2.6        AS:65536       Local AS:65536      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Original Attributes

Network        : 10.10.10.0/24
Nexthop        : 192.0.2.3
Path Id        : None                   
From           : 192.0.2.3
Res. Protocol  : RSVP                   Res. Metric    : 100
Res. Nexthop   : 192.0.2.3 (RSVP LSP: 5)
Local Pref.    : 100                    Interface Name : NotAvailable
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 100
Connector      : None
Community      : No Community Members
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.3
Fwd Class      : None                   Priority       : None
Flags          : Used Valid Best Incomplete In-RTM 
Route Source   : Internal
AS-Path        : No As-Path
Route Tag      : 0                      
Neighbor-AS    : n/a
Orig Validation: NotFound               
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default                
RIB Priority   : Normal                 
Last Modified  : 00h07m05s              

Modified Attributes

---snip---              

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
=============================================================================== 

The GRT output command also shows that the route is reachable using RSVP (indicated as tunneled:RSVP:5):

*A:PE-6# show router route-table next-hop-type tunneled 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
10.10.10.0/24                                 Remote  BGP       00h01m00s  170
       192.0.2.3 (tunneled:RSVP:5)                                  100
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

If the RSVP LSP is shutdown, the system reverts back to the LDP LSP:

*A:PE-6# configure router mpls lsp "LSP-PE-6-PE-3" shutdown
*A:PE-6# show router bgp routes 10.10.10.0/24 detail 
===============================================================================
 BGP Router ID:192.0.2.6        AS:65536       Local AS:65536      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Original Attributes

Network        : 10.10.10.0/24
Nexthop        : 192.0.2.3
Path Id        : None                   
From           : 192.0.2.3
Res. Protocol  : LDP                    Res. Metric    : 20
Res. Nexthop   : 192.0.2.3 (LDP)
Local Pref.    : 100                    Interface Name : NotAvailable
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 20
Connector      : None
Community      : No Community Members
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.3
Fwd Class      : None                   Priority       : None
Flags          : Used Valid Best Incomplete In-RTM 
Route Source   : Internal
AS-Path        : No As-Path
Route Tag      : 0                      
Neighbor-AS    : n/a
Orig Validation: NotFound               
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default                
RIB Priority   : Normal                 
Last Modified  : 00h07m29s              

Modified Attributes

---snip---              

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

When the shortcut tunnel with resolution-filter rsvp is enabled at the BGP level, all RSVP LSPs originating on this node are eligible to be used by default as long as the destination address of the LSP corresponds to that of the BGP next hop for that prefix. It is also possible to exclude a specific RSVP LSP from BGP next hop resolution, similar to the exclusion of a specific RSVP LSP being used as a shortcut for resolving IGP routes. In this example, if the RSVP LSP LSP-PE-6-PE-3 is excluded to be eligible for BGP next hop resolution, it reverts back to LDP.

*A:PE-6# configure
    router
        mpls
            lsp "LSP-PE-6-PE-3"
                no bgp-shortcut
                no shutdown
            exit
*A:PE-6# show router route-table 10.10.10.0 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
10.10.10.0/24                                 Remote  BGP       00h03m03s  170
       192.0.2.3 (tunneled)                                         20
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

If the configuration is using disallow-igp, and neither LDP nor RSVP LSPs are available, the remote route received via BGP is removed from the GRT although the BGP peer session remains up. A field in the detailed show BGP route output indicates that the next hop is ‟Unresolved”:

*A:PE-6# configure router bgp next-hop-resolution shortcut-tunnel family ipv4 disallow-igp
*A:PE-6# configure router ldp shutdown
*A:PE-6# show router bgp routes 10.10.10.0/24 detail 
===============================================================================
 BGP Router ID:192.0.2.6        AS:65536       Local AS:65536      
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP IPv4 Routes
===============================================================================
Original Attributes

Network        : 10.10.10.0/24
Nexthop        : 192.0.2.3
Path Id        : None                   
From           : 192.0.2.3
Res. Protocol  : INVALID                Res. Metric    : 0
Res. Nexthop   : Unresolved
Local Pref.    : 100                    Interface Name : NotAvailable
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 0
Connector      : None
Community      : No Community Members
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.3
Fwd Class      : None                   Priority       : None
Flags          : Invalid Incomplete Nexthop-Unresolved 
Route Source   : Internal
AS-Path        : No As-Path
Route Tag      : 0                      
Neighbor-AS    : n/a
Orig Validation: NotFound               
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default                
RIB Priority   : Normal                 
Last Modified  : 00h10m33s              

Modified Attributes

---snip---              

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

Because the route is unresolved, it does not appear in the GRT:

*A:PE-6# show router route-table 10.10.10.0 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
No. of Routes: 0
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

MPLS/GRE Shortcut for BGP NH Resolution within a VRF

Using RSVP/LDP or GRE shortcuts for resolving BGP next hops within a Virtual Private Routed Network (VPRN), also known as auto-bind-tunnel, allows a VPRN service to automatically resolve the BGP next hop for VPRN routes to an MPLS LSP or a GRE tunnel. Three possible mechanisms exist to provide transport tunnels for forwarding traffic between PE routers within an RFC 4364, BGP/MPLS IP Virtual Private Networks (VPNs), network:

  • RSVP-TE protocol to create tunnel LSPs between PE routers.

  • LDP protocol to create tunnel LSPs between PE routers.

  • GRE tunnels between PE routers.

These transport tunneling mechanisms provide the flexibility to use dynamically created LSPs where the service tunnels are automatically bound (the auto-bind-tunnel feature), and the ability to provide certain VPN services with their own transport tunnels by explicitly binding SDPs if desired. All services using the auto-bind-tunnel feature use the same set of LSPs, which does not allow for alternate tunneling mechanisms (like GRE) or the ability to craft sets of LSPs with bandwidth reservations for specific customers, as is available with explicit SDPs for the service.

The auto-bind-tunnel configuration is as follows:

*A:PE-2# configure service vprn 1 auto-bind-tunnel resolution ?
  - resolution {disabled|any|filter}

 <disabled|any|filt*> : disabled|any|filter
*A:PE-2# configure service vprn 1 auto-bind-tunnel resolution-filter ?
  - resolution-filter

 [no] bgp             - Enable/disable setting BGP type for auto-bind-tunnel
 [no] gre             - Enable/disable setting GRE type for auto-bind-tunnel
 [no] ldp             - Enable/disable setting LDP type for auto-bind-tunnel
 [no] mpls-fwd-policy - Enable/disable MPLS Forwarding Policy for auto-bind-tunnel
 [no] rib-api         - Enable/disable setting RIB-API type for auto-bind-tunnel
 [no] rsvp            - Enable/disable setting RSVP-TE type for auto-bind-tunnel
 [no] sr-isis         - Enable/disable setting SR-ISIS type for auto-bind-tunnel
 [no] sr-ospf         - Enable/disable setting SR-OSPF type for auto-bind-tunnel
 [no] sr-ospf3        - Enable/disable setting SR-OSPF3 type for auto-bind-tunnel
 [no] sr-policy       - Enable/disable SR-Policy type for auto-bind-tunnel
 [no] sr-te           - Enable/disable setting SR-TE type for auto-bind-tunnel
 [no] udp             - Enable/disable setting UDP type for auto-bind-tunnel

Parameter descriptions:

  • ldp — Specifies LDP-based LSPs should be used to resolve the BGP next hop for VPRN routes in an associated VPRN instance.

  • gre — Specifies GRE-based tunnels to be used to resolve the BGP next hop for VPRN routes in an associated VPRN instance. GRE is out of the scope regarding shortcuts, refer to SR OS documentation for further details.

  • rsvp — Specifies RSVP-TE LSPs should be used to resolve the BGP next hop for VPRN routes in an associated VPRN instance.

  • the remaining parameters are beyond the scope of this chapter.

In all cases, if an explicit spoke-SDP is specified in the VPRN, it is always preferred over automatically selected tunnels (even if the SDP is down, the route becomes inactive; there is no fallback to the automatic selection).

The network is configured according to the topology shown in Shortcuts Within a VRF Topology Network. Four PEs (PE-1, PE-2, PE-4, and PE-5) are connected forming a meshed IP-VPN (named VPRN_1), using a route reflector on PE-3 for MP-BGP peering. All PEs have LDP tunnels enabled so at a minimum all can establish LDP shortcut tunnels to the others. In order to have not only LDP but also RSVP-TE LSPs and static SDPs (using an RSVP LSP) in the network, a mix of tunneling methods is configured. For brevity, the configuration of PE-2 only is given, providing the details about the shortcuts created by auto-bind-tunnel. PE-2 has a static SDP (RSVP-based) with PE-1, an RSVP LSP with PE-4, and an LDP LSP with PE-5. Every PE has a CE connected, so each PE has an interface connected to the CE as well as a static route to a CE LAN (although redistribution routing policies are needed, they are not shown for brevity).

Figure 7. Shortcuts Within a VRF Topology Network

On PE-2, VPRN1 is configured as follows:

*A:PE-2# configure
    service
        sdp 1 mpls create
            far-end 192.0.2.1
            lsp "LSP-PE-2-PE-1"
            no shutdown
        exit
        vprn 1 name "VPRN_1" customer 1 create
            vrf-import "VPN1-import"
            vrf-export "VPN1-export"
            route-distinguisher 65536:1
            auto-bind-tunnel
                resolution-filter
                    gre
                    ldp
                    rsvp
                exit
                resolution filter
            exit
            interface "to-CE-2" create
                address 172.16.2.1/24
                sap 1/1/4:1 create
                exit
            exit
            static-route-entry 172.16.22.0/24
                next-hop 172.16.2.2
                    no shutdown
                exit
            exit
            spoke-sdp 1 create
            exit
            no shutdown
        exit

As previously mentioned, regarding IP-VPN meshed connectivity, the configuration shows that there is a static SDP 1 (pointing to PE-1), and the rest of the configuration is just auto-bind-tunnel. On PE-2, the connectivity toward the other PEs in the network can be verified by checking VPRN_1:

*A:PE-2# show router 1 route-table 

===============================================================================
Route Table (Service: 1)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
172.16.1.0/24                                 Remote  BGP VPN   00h04m45s  170
       192.0.2.1 (tunneled)                                         0
172.16.2.0/24                                 Local   Local     00h09m03s  0
       to-CE-2                                                      0
172.16.4.0/24                                 Remote  BGP VPN   00h04m45s  170
       192.0.2.4 (tunneled:RSVP:3)                                  10
172.16.5.0/24                                 Remote  BGP VPN   00h04m45s  170
       192.0.2.5 (tunneled)                                         20
172.16.11.0/24                                Remote  BGP VPN   00h04m45s  170
       192.0.2.1 (tunneled)                                         0
172.16.22.0/24                                Remote  Static    00h09m03s  5
       172.16.2.2                                                   1
172.16.44.0/24                                Remote  BGP VPN   00h04m45s  170
       192.0.2.4 (tunneled:RSVP:3)                                  10
172.16.55.0/24                                Remote  BGP VPN   00h04m45s  170
       192.0.2.5 (tunneled)                                         20
-------------------------------------------------------------------------------
No. of Routes: 8
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

As can be seen, there are eight routes because every PE has two routes (one direct PE-CE interface and one static route), so six routes are received from other PEs via MP-BGP. The VPRN_1 routing table can be understood by looking at the tunnel table (active LSPs for remote system IDs):

*A:PE-2# show router tunnel-table 

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.1/32          sdp       MPLS  1         5      192.0.2.1      0
192.0.2.1/32          rsvp      MPLS  2         7      192.168.12.1   10
192.0.2.1/32          ldp       MPLS  65537     9      192.168.12.1   10
192.0.2.3/32          ldp       MPLS  65538     9      192.168.23.2   10
192.0.2.4/32          rsvp      MPLS  3         7      192.168.24.2   10
192.0.2.4/32          rsvp      MPLS  4         7      192.168.24.2   16777215
192.0.2.4/32          ldp       MPLS  65545     9      192.168.24.2   10
192.0.2.5/32          ldp       MPLS  65542     9      192.168.23.2   20
192.0.2.6/32          ldp       MPLS  65546     9      192.168.24.2   20
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

The tunnel table shows one entry per LSP per remote PE. The following tunnel selection rules apply:

  • SDP has the lowest (best) preference, followed by RSVP and then by LDP.

  • If the preference is the same, the lowest metric is selected (ECMP is possible with LDP).

PE-2 has three possibilities to reach PE-1 (192.0.2.1): an SDP tunnel ID 1 with preference 5, an RSVP tunnel ID 2 with preference 7, and an LDP LSP with preference 9. Because SDP tunnel ID 1 has the lowest preference, it is the chosen option. PE-2 has three possibilities to reach PE-4 (192.0.2.4): an RSVP tunnel ID 3 with preference 7 and metric 10, an RSVP tunnel ID 4 with preference 7 and metric 16777215, and an LDP LSP with preference 9; so RSVP tunnel ID 3 is selected. PE-2 only has one option to reach PE-5 and PE-6 (192.0.2.5 and 192.0.2.6) using an LDP LSP.

The following FIB for router VPRN_1 on PE-2 provides more detailed information on the tunneling:

*A:PE-2# show router 1 fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
172.16.1.0/24                                               BGP_VPN
  192.0.2.1 (VPRN Label:524281 Transport:SDP:1)
172.16.2.0/24                                               LOCAL
  172.16.2.0 (to-CE-2) 
172.16.4.0/24                                               BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:RSVP LSP:3)
172.16.5.0/24                                               BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
172.16.11.0/24                                              BGP_VPN
  192.0.2.1 (VPRN Label:524281 Transport:SDP:1)
172.16.22.0/24                                              STATIC
  172.16.2.2 (to-CE-2) 
172.16.44.0/24                                              BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:RSVP LSP:3)
172.16.55.0/24                                              BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
-------------------------------------------------------------------------------
Total Entries : 8
-------------------------------------------------------------------------------
===============================================================================

The FIB shows the chosen transport tunnel, specifying SDP ID, RSVP Tunnel ID, and LDP, as well as service label information linked to the routes.

Static SDP tunnels are preferred over dynamic tunnels (RSVP or LDP auto-bind-tunnel). When the static SDP 1 is shut down or the LSP goes down (there is no fallback to dynamic tunneling), the associated routes are removed:

*A:PE-2# configure service sdp 1 shutdown
*A:PE-2# show router 1 fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
172.16.2.0/24                                               LOCAL
  172.16.2.0 (to-CE-2) 
172.16.4.0/24                                               BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:RSVP LSP:3)
172.16.5.0/24                                               BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
172.16.22.0/24                                              STATIC
  172.16.2.2 (to-CE-2) 
172.16.44.0/24                                              BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:RSVP LSP:3)
172.16.55.0/24                                              BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
-------------------------------------------------------------------------------
Total Entries : 6
-------------------------------------------------------------------------------
===============================================================================

To avoid this fallback issue, the configuration is modified and the manual spoke-SDPs are removed from the configuration of PE-1 and PE-2; the rest of the configuration remains the same. Now the connectivity between PE-1 and PE-2 is using an RSVP LSP, as shown in the PE-1 following output (RSVP LSP which was used by SDP 1 has disappeared):

*A:PE-1# configure service vprn 1 no spoke-sdp 1
*A:PE-2# configure service vprn 1 no spoke-sdp 1
*A:PE-1# show router 1 route-table 

===============================================================================
Route Table (Service: 1)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
172.16.1.0/24                                 Local   Local     00h14m16s  0
       to-CE-1                                                      0
172.16.2.0/24                                 Remote  BGP VPN   00h00m23s  170
       192.0.2.2 (tunneled:RSVP:2)                                  10
172.16.4.0/24                                 Remote  BGP VPN   00h00m23s  170
       192.0.2.4 (tunneled)                                         20
172.16.5.0/24                                 Remote  BGP VPN   00h00m23s  170
       192.0.2.5 (tunneled)                                         20
172.16.11.0/24                                Remote  Static    00h14m16s  5
       172.16.1.2                                                   1
172.16.22.0/24                                Remote  BGP VPN   00h00m23s  170
       192.0.2.2 (tunneled:RSVP:2)                                  10
172.16.44.0/24                                Remote  BGP VPN   00h00m23s  170
       192.0.2.4 (tunneled)                                         20
172.16.55.0/24                                Remote  BGP VPN   00h00m23s  170
       192.0.2.5 (tunneled)                                         20
-------------------------------------------------------------------------------
No. of Routes: 8
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

If RSVP is disabled, the connectivity falls back to LDP as the output shows:

*A:PE-1# configure router mpls shutdown
*A:PE-1# show router 1 fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
172.16.1.0/24                                               LOCAL
  172.16.1.0 (to-CE-1) 
172.16.2.0/24                                               BGP_VPN
  192.0.2.2 (VPRN Label:524280 Transport:LDP)
172.16.4.0/24                                               BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:LDP)
172.16.5.0/24                                               BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
172.16.11.0/24                                              STATIC
  172.16.1.2 (to-CE-1) 
172.16.22.0/24                                              BGP_VPN
  192.0.2.2 (VPRN Label:524280 Transport:LDP)
172.16.44.0/24                                              BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:LDP)
172.16.55.0/24                                              BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:LDP)
-------------------------------------------------------------------------------
Total Entries : 8
-------------------------------------------------------------------------------
===============================================================================

If LDP is disabled, the connectivity falls back to GRE as the output shows:

*A:PE-1# configure router ldp shutdown
*A:PE-1# show router 1 fib 1 

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
172.16.1.0/24                                               LOCAL
  172.16.1.0 (to-CE-1) 
172.16.2.0/24                                               BGP_VPN
  192.0.2.2 (VPRN Label:524280 Transport:GRE)
172.16.4.0/24                                               BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:GRE)
172.16.5.0/24                                               BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:GRE)
172.16.11.0/24                                              STATIC
  172.16.1.2 (to-CE-1) 
172.16.22.0/24                                              BGP_VPN
  192.0.2.2 (VPRN Label:524280 Transport:GRE)
172.16.44.0/24                                              BGP_VPN
  192.0.2.4 (VPRN Label:524280 Transport:GRE)
172.16.55.0/24                                              BGP_VPN
  192.0.2.5 (VPRN Label:524286 Transport:GRE)
-------------------------------------------------------------------------------
Total Entries : 8
-------------------------------------------------------------------------------
===============================================================================

Conclusion

IGP shortcuts provide a variety of shortcuts in IP, MPLS, and IP-VPN scenarios to customers who want to use new options for building routing topologies. Because IGP shortcuts are enabled on a per router basis, SPF computations are independent and irrelevant to other routers, so there is no need to enable shortcuts globally. This network example shows the configuration of IGP shortcuts together with the associated show outputs which can be used for verification and troubleshooting.