SRv6 Loop-Free Alternate

This chapter provides information about loop-free alternate for segment routing over IPv6 .

Topics in this chapter include:

Applicability

The information and configuration in this chapter are based on SR OS Release 22.2.R1. Segment routing over IPv6 (SRv6) is supported on FP4-based equipment in SR OS Release 21.5.R2 and later.

Overview

SR OS Release 21.5.R2 and later support loop-free alternate (LFA) for segment routing over IPv6 (SRv6). This includes regular LFA, remote LFA (R-LFA) and topology independent LFA (TI-LFA) for routers in a service originating role and for routers in a transit role, with or without segment termination.

The local router installs its locator prefix in its IPv6 route table and IPv6 forwarding information base (FIB), and advertises its locator prefix in IS-IS with the SRv6 locator sub-TLV. Each remote router populates its IPv6 route table and IPv6 FIB with the received locator prefixes, including the tunneled next hop to the originating router.

The LFA backup path for a local End.X segment identifier (SID) or a local LAN End.X SID is programmed in the IPv6 route table and in the IPv6 FIB with the specific entry corresponding to the local locator prefix.

The LFA backup path for a remote locator prefix entry is programmed in the IPv6 route table and in the IPv6 FIB. The LFA backup path for a remote End SID, End.DT4 SID, End.DT6 SID, or End.DX2 SID uses that remote locator prefix.

Configuration

Example topology shows the example topology with five SRv6-capable routers. The SRv6-enabled network that it represents comprises PE-1, PE-2, and P-3 in the control and data planes, and P-4 and P-5 in the data plane only. The SRv6-enabled network has only IPv6 addresses and interfaces.

Figure 1. Example topology
Example topology with five SRv6-capable route

For the transport of IPv4 and IPv6 data from the VPRN on PE-1 to the VPRN on PE-2, PE-1 acts as the SRv6 ingress PE node, while PE-2 acts as the SRv6 egress PE node.

SRv6 and forwarding path extension (FPE) are configured on all routers. P-3 acts as the BGP route reflector in the control plane. As long as the link between PE-1 and PE-2 is operational, P-3 does not participate in the SRv6 data transport between PE-1 and PE-2. When the link between PE-1 and PE-2 fails, SRv6 data transport uses an LFA backup path via P-3.

The ping and traceroute commands between IPv4 and IPv6 loopback addresses in the VPRNs simulate data transport.

SRv6 for VPRN is established between PE-1 and PE-2, as described in the Segment Routing over IPv6 for VPRN chapter. The metric on all links, except one, is set to 10. When the metric on the link between PE-2 and P-5 is set to 21, configuring TI-LFA on PE-1 for all destination prefixes using the protected link PE-1–PE-2, results in a PQ-router P-5. In this case, the End SID of P-5 suffices. When the metric on the link between P-3 and P-5 is set to 21, configuring TI-LFA on PE-1 for all destination prefixes using the protected link PE-1-PE-2, results in disjointed P-router P-3 and Q-router P-5. In that case, the End.X SID referencing the interface on P-3 facing P-5 suffices to reach the Q node.

Configure the router

This configuration includes:

  • ports and IPv6-only interfaces on all routers
  • port cross-connect (PXC) on all routers, using internal loopbacks on an FP4 MAC chip, as described in the Segment Routing over IPv6 chapter
  • IS-IS on all routers, including:
    • level 2 capability with wide metrics (for the 128-bit identifiers)
    • level 2 metric is 10 on all IS-IS interfaces, but 21 on the IS-IS interface between PE-2 and P-5
    • native IPv6 routing
    • as a best practice to advertise the router capability within the autonomous system (AS), also configure:
      • traffic-engineering
      • traffic-engineering-options
  • BGP on PE-1, PE-2, and P-3, with internal group “gr_v6_internal” that includes:
    • IPv4, IPv6, VPN-IPv4 and VPN-IPv6 families
    • extended-nh-encoding for IPv4 and VPN-IPv4
    • advertise-ipv6-next-hops for IPv4, VPN-IPv4 and VPN-IPv6
    • BGP neighbor system IPv6 addresses
    • On PE-1 and PE-2 only: next-hop-self

The core network topology uses IPv6 for BGP peering (with 16 byte next hop addresses), so to advertise and receive IPv4 routes (which have 4 byte next hop addresses) with IPv6 next hop addresses, the commands advertise-ipv6-next-hops and extended-nh-encoding need to be configured at the BGP, group, or neighbor level. The advertise-ipv6-next-hops command instructs the system to advertise IPv4 routes with IPv6 next hop addresses. The extended-nh-encoding command configures BGP to advertise the capability to receive IPv4 routes with IPv6 next hop addresses.

The following example configuration applies for PE-1 and is similar for the other routers, with the following differences:

  • P-3 acts as a BGP route reflector
  • BGP is not configured on P-4 and P-5
[/]
A:admin@PE-1# configure {
    router "Base" {
        autonomous-system 64500
        interface "int-PE-1-P-4" {
            description "interface between PE-1 and P-4"
            port 1/1/c2/1:1000
            ipv6 {
                address 2001:db8::168:14:1 {
                    prefix-length 126
                }
            }
        }
        interface "int-PE-1-PE-2" {
            description "interface between PE-1 and PE-2"
            port 1/1/c1/1:1000
            ipv6 {
                address 2001:db8::168:12:1 {
                    prefix-length 126
                }
            }
        }
        interface "system" {
            description "system interface of PE-1"
            ipv6 {
                address 2001:db8::2:1 {
                    prefix-length 128
                }
            }
        }
        isis 0 {
            admin-state enable
            advertise-router-capability as
            ipv6-routing native
            level-capability 2    # required for SRv6
            router-id 1.1.1.1    # must be unique and in the format of an IPv4 address
            traffic-engineering true
            area-address [49.0001]
            traffic-engineering-options {
                ipv6 true
                application-link-attributes {
                }
            }            
            interface "int-PE-1-P-4" {
                interface-type point-to-point
                level 1 {
                    metric 10
                }
                level 2 {
                    metric 10
                }
            }
            interface "int-PE-1-PE-2" {
                interface-type point-to-point
                level 1 {
                    metric 10
                }
                level 2 {
                    metric 10
                }
            }
            interface "system" {
                passive true
            }
            level 2 {
                wide-metrics-only true    # required for SRv6
            }
        }
        bgp {
            min-route-advertisement 1
            router-id 2.2.2.1    # must be unique and in the format of an IPv4 address
            rapid-withdrawal true
            split-horizon true
            ebgp-default-reject-policy {
                import false
                export false
            }
            rapid-update {
                vpn-ipv4 true
                vpn-ipv6 true
            }
            group "gr_v6_internal" {
                description "internal bgp group on PE-1"
                next-hop-self true
                type internal
                family {
                    ipv4 true
                    vpn-ipv4 true
                    ipv6 true
                    vpn-ipv6 true
                }
                extended-nh-encoding {
                    vpn-ipv4 true
                    ipv4 true
                }
                advertise-ipv6-next-hops {
                    vpn-ipv6 true
                    vpn-ipv4 true
                    ipv4 true
                }
            }
            neighbor "2001:db8::2:3" {    # P-3 system address
                group "gr_v6_internal"
            }
        }
        exit all
Note:

Do not advertise tunnel links, because that enables forwarding adjacencies. IS-IS does not compute a remote LFA or a TI-LFA backup for an SR-ISIS tunnel when forwarding adjacency (configured via the advertise-tunnel-links command) is enabled in the IS-IS instance, even if these two types of LFAs are enabled in the configuration of that same IS-IS instance.

Configure the VPRN services on PE-1 and on PE-2

This configuration includes:

  • an IPv4 address and an IPv6 address for a loopback interface "lb_itf_vprn"
  • BGP, with external group “gr_v6_vprn” that includes the following capabilities:
    • IPv4 and IPv6 families
    • extended-nh-encoding for IPv4
    • advertise-ipv6-next-hops for IPv4
    • BGP neighbor interface IPv6 addresses, with BGP neighbors in a different external AS

The following example configuration applies for VPRN 2 on PE-1 and is similar for VPRN 2 on PE-2.

[/]
A:admin@PE-1# configure {
    service {
        vprn "VPRN_2" {
            admin-state enable
            description "VPRN 2 on PE-1"
            service-id 2
            customer "1"
            autonomous-system 64500
            bgp {
                ebgp-default-reject-policy {
                    import false
                    export false
                }
                group "gr_v6_vprn" {
                    description "external bgp group for VPRN 2 on PE-1"
                    family {
                        ipv4 true
                        ipv6 true
                    }
                    extended-nh-encoding {
                        ipv4 true
                    }
                    advertise-ipv6-next-hops {
                        ipv4 true
                    }
                }
                neighbor "2001:db8:101::1" {
                    group "gr_v6_vprn"
                    type external
                    peer-as 64501
                }
            }
            interface "lb_itf_vprn" {
                description "VPRN 2 interface on PE-1 for external subnet"
                loopback true
                ipv4 {
                    primary {
                        address 172.16.211.1
                        prefix-length 32
                    }
                }
                ipv6 {
                    address 2001:db8:211::1 {
                        prefix-length 128
                    }
                }
            }
            exit all

Configure SRv6 in the router Base context on all routers

Configure the locator in the router Base segment-routing segment-routing-v6 context on PE-2 and similar on the other routers, with different ip-prefix for the locators.

[/]
A:admin@PE-2# configure {
    router "Base" {
        segment-routing {
            segment-routing-v6 {
                locator "PE-2_loc" {
                    admin-state enable
                    block-length 48
                    prefix {
                        ip-prefix 2001:db8:aaaa:102::/64
                    }
                }
            }
            exit all

Configure the FPEs on PE-2 and identical on the other routers.

[/]
A:admin@PE-2# configure {
    fwd-path-ext {
        fpe 1 {
            path {
                pxc 1
            }
            application {
                srv6 {
                    type origination
                }
            }
        }
        fpe 2 {
            path {
                pxc 2
            }
            application {
                srv6 {
                    type termination
                }
            }
        }
        exit all

Use FPE 1 as the SRv6 origination FPE in the router Base segment-routing segment-routing-v6 context and FPE 2 as the SRv6 termination FPE in the router Base segment-routing segment-routing-v6 locator context on PE-2. The configuration is similar on the other routers, with different locators. For more information, see the Segment Routing over IPv6 chapter.

[/]
A:admin@PE-2# configure {
    router "Base" {
        segment-routing {
            segment-routing-v6 {
                origination-fpe [1]
                locator "PE-2_loc" {
                    admin-state enable
                    termination-fpe [2]
                }
            }
            exit all

Configure the SRv6 End function (equivalent to an IPv4 node SID) and SRv6 End.X functions (equivalent to IPv4 adjacency SIDs) in the router Base segment-routing segment-routing-v6 base-routing-instance locator context on all routers, with different locators.

[/]
A:admin@PE-2# configure {
    router "Base" {
        mpls-labels {
            sr-labels {
                start 20000
                end 20999
            }
            reserved-label-block "SRv6" {
                start-label 30100
                end-label 30199
            }
        }
        segment-routing {
            segment-routing-v6 {
                locator "PE-2_loc" {
                    static-function {
                        max-entries 3
                        label-block "SRv6"
                    }
                }
                base-routing-instance {
                    locator "PE-2_loc" {
                        function {
                            end 1 {
                                srh-mode usp
                            }
                            end-x-auto-allocate usp protection protected { }
                        }
                    }
                }
            }
        }
        exit all

While not strictly needed, allow for three static functions. New SRv6 functions (for example End.DT4 and End.DT6), can then be configured without needing to reshuffle the automatic SRv6 function numbering. Ensure that the End.X functions have protection on. As a result, the End.X functions are only instantiated when loopfree-alternate is configured in the router Base isis context.

Advertise the locator in IS-IS while ensuring level 2 capability on PE-2. Configure other routers similarly, with different locators.

[/]
A:admin@PE-2# configure {
    router "Base" {
        isis 0 {
            segment-routing-v6 {
                admin-state enable
                locator "PE-2_loc" {
                    level-capability 2
                }
            }
            exit all

Use the show router segment-routing-v6 summary command to verify the locator and origination FPE configuration.

Configure SRv6 for the VPRNs on PE-1 and on PE-2

Create an SRv6 instance for the VPRN service. Use the locator from the router Base segment-routing segment-routing-v6 context and configure End.DT4 and End.DT6 functions for it.

Use the created SRv6 instance in the service vprn bgp-ipvpn segment-routing-v6 context, with the configured locator as the default locator. Ensure a unique route distinguisher. Use the unique PE-2 system IPv6 address as the source address. Use a similar configuration on PE-1, with the PE-1 locator as default locator, the PE-1 system IPv6 address as the source address, and a different route distinguisher.

[/]
A:admin@PE-2# configure {
    service {
        vprn "VPRN_2" {
            segment-routing-v6 1 {
                locator "PE-2_loc" {
                    function {
                        end-dt4 {
                        }
                        end-dt6 {
                        }
                    }
                }
            }
            bgp-ipvpn {
                segment-routing-v6 1 {
                    admin-state enable
                    route-distinguisher "192.0.2.2:2"
                    source-address 2001:db8::2:2
                    vrf-target {
                        community "target:64506:2"
                    }
                    srv6 {
                        instance 1
                        default-locator "PE-2_loc"
                    }
                }
            }
            exit all

This configuration results in BGP update exchanges between PE-2 and PE-1, via P-3, and between PE-1 and PE-2, via P-3.

At this point, verify that data transport is possible between the local VPRN on PE-1 and the remote VPRN on PE-2.

[/]
A:admin@PE-1# ping 172.16.222.1 router-instance "VPRN_2"
PING 172.16.222.1 56 data bytes
64 bytes from 172.16.222.1: icmp_seq=1 ttl=64 time=1.85ms.
---snip---
---- 172.16.222.1 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.74ms, avg = 1.82ms, max = 1.93ms, stddev = 0.065ms
[/]
A:admin@PE-1# traceroute 172.16.222.1 router-instance "VPRN_2"
traceroute to 172.16.222.1, 30 hops max, 40 byte packets
  1  172.16.222.1 (172.16.222.1)    2.18 ms  1.71 ms  1.76 ms
[/]
A:admin@PE-1# ping 2001:db8:222::1 router-instance "VPRN_2"
PING 2001:db8:222::1 56 data bytes
64 bytes from 2001:db8:222::1 icmp_seq=1 hlim=64 time=1.54ms.
---snip---
---- 2001:db8:222::1 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.54ms, avg = 1.60ms, max = 1.73ms, stddev = 0.072ms
[/]
A:admin@PE-1# traceroute 2001:db8:222::1 router-instance "VPRN_2"
traceroute to 2001:db8:222::1, 30 hops max, 60 byte packets
  1  2001:db8:222::1 (2001:db8:222::1)    1.83 ms  1.80 ms  1.74 ms

The result of the verification complies with the route tables for the local VPRN on PE-1, which contains routes for the loopback addresses in the remote VPRN on PE-2. The same is true for data transport between the remote VPRN on PE-2 and the local VPRN on PE-1.

[/]
A:admin@PE-1# show router 2 route-table ipv4           

===============================================================================
Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
172.16.211.1/32                               Local   Local     00h21m39s  0
       lb_itf_vprn                                                  0
172.16.222.1/32                               Remote  BGP VPN   00h02m28s  170
       2001:db8:aaaa:102:78a6:c000:: (tunneled:SRV6)                10
-------------------------------------------------------------------------------
No. of Routes: 2
---snip---
===============================================================================
[/]
A:admin@PE-1# show router 2 route-table ipv6           

===============================================================================
IPv6 Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
2001:db8:211::1/128                           Local   Local     00h21m37s  0
       lb_itf_vprn                                                  0
2001:db8:222::1/128                           Remote  BGP VPN   00h02m28s  170
       2001:db8:aaaa:102:78a6:b000:: (tunneled:SRV6)                10
-------------------------------------------------------------------------------
No. of Routes: 2
---snip---
===============================================================================

The IPv4 route table and IPv4 FIB remain empty, while the IPv6 route table and IPv6 FIB contain routes for the local, IS-IS, and SRv6 protocols. The remote destinations to PE-2 and P-5 are reached via the “int-PE-1-PE-2” interface. There are no routes yet for the local End.X functions. The local End.X functions are not yet instantiated, because there is no regular LFA protection while protection is enabled for End.X function. Verify the IPv6 route table.

[/]
A:admin@PE-1# show router route-table ipv6             

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
2001:db8::2:1/128                             Local   Local     00h31m23s  0
       system                                                       0
2001:db8::2:2/128                             Remote  ISIS      00h08m15s  18
       fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                         10
2001:db8::2:3/128                             Remote  ISIS      00h08m15s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          20
2001:db8::2:4/128                             Remote  ISIS      00h08m15s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          10
2001:db8::2:5/128                             Remote  ISIS      00h08m15s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          30
2001:db8::168:12:0/126                        Local   Local     00h31m22s  0
       int-PE-1-PE-2                                                0
2001:db8::168:14:0/126                        Local   Local     00h31m22s  0
       int-PE-1-P-4                                                 0
2001:db8::168:25:0/126                        Remote  ISIS      00h08m15s  18
       fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                         31
2001:db8::168:34:0/126                        Remote  ISIS      00h08m15s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          20
2001:db8::168:35:0/126                        Remote  ISIS      00h08m15s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          30
2001:db8:aaaa:101::/64                        Local   SRV6      00h10m40s  3
       fe80::201-"_tmnx_fpe_2.a"                                    0
2001:db8:aaaa:101:0:1000::/128                Local   SRV6      00h10m40s  3
       Black Hole                                                   0
2001:db8:aaaa:102::/64                        Remote  ISIS      00h08m01s  18
       2001:db8:aaaa:102::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:113::/64                        Remote  ISIS      00h07m51s  18
       2001:db8:aaaa:113::/64 (tunneled:SRV6-ISIS)                  20
2001:db8:aaaa:114::/64                        Remote  ISIS      00h07m30s  18
       2001:db8:aaaa:114::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:115::/64                        Remote  ISIS      00h07m08s  18
       2001:db8:aaaa:115::/64 (tunneled:SRV6-ISIS)                  30
-------------------------------------------------------------------------------
No. of Routes: 16
---snip---
===============================================================================

Verify the corresponding IPv6 FIB.

[/]
A:admin@PE-1# show router fib 1 ipv6                   

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
2001:db8::2:1/128                                           LOCAL
  2001:db8::2:1 (system)
2001:db8::2:2/128                                           ISIS
  fe80::60e:1ff:fe01:1 (int-PE-1-PE-2)
2001:db8::2:3/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8::2:4/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8::2:5/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8::168:12:0/126                                      LOCAL
  2001:db8::168:12:0 (int-PE-1-PE-2)
2001:db8::168:14:0/126                                      LOCAL
  2001:db8::168:14:0 (int-PE-1-P-4)
2001:db8::168:25:0/126                                      ISIS
  fe80::60e:1ff:fe01:1 (int-PE-1-PE-2)
2001:db8::168:34:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8::168:35:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8:aaaa:101::/64                                      SRV6
  fe80::201 (_tmnx_fpe_2.a)
2001:db8:aaaa:101:0:1000::/128                              SRV6
  Blackhole                                                 
2001:db8:aaaa:102::/64                                      ISIS
  2001:db8:aaaa:102::/64 (Transport:SRV6:524289)
2001:db8:aaaa:113::/64                                      ISIS
  2001:db8:aaaa:113::/64 (Transport:SRV6:524290)
2001:db8:aaaa:114::/64                                      ISIS
  2001:db8:aaaa:114::/64 (Transport:SRV6:524291)
2001:db8:aaaa:115::/64                                      ISIS
  2001:db8:aaaa:115::/64 (Transport:SRV6:524292)
-------------------------------------------------------------------------------
Total Entries : 16
-------------------------------------------------------------------------------
===============================================================================

The IS-IS data base contains the following information. Only the End functions are already instantiated, on their respective locators.

[/]
A:admin@PE-1# show router isis database detail         

===============================================================================
Rtr Base ISIS Instance 0 Database (detail)
===============================================================================

Displaying Level 1 database
-------------------------------------------------------------------------------
Level (1) LSP Count : 0

Displaying Level 2 database
-------------------------------------------------------------------------------
LSP ID    : PE-1.00-00                                  Level     : L2 
---snip---
SYS ID    : 0010.0100.1001         SysID Len : 6        Used Len  : 368
 
TLVs : 
  ---snip---
  Router Cap : 1.1.1.1, D:0, S:0
    TE Node Cap : B E M  P
    SRv6 Cap: 0x0000
    SR Alg: metric based SPF
    Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 1 SRH-MAX-END-D : 9
  ---snip---
  TE IS Nbrs   :
    Nbr   : PE-2.00                             
    Default Metric  : 10
    ---snip---
  TE IS Nbrs   :
    Nbr   : P-4.00                              
    Default Metric  : 10
    ---snip---
  IPv6 Reach:
    ---snip---
    Metric: ( I ) 0
    Prefix   : 2001:db8:aaaa:101::/64
  SRv6 Locator  :
    MT ID : 0                    
    Metric: ( ) 0 Algo:0
    Prefix   : 2001:db8:aaaa:101::/64
    Sub TLV   :
      End-SID   : 2001:db8:aaaa:101:0:1000::, flags:0x0, endpoint:End-USP

-------------------------------------------------------------------------------
LSP ID    : PE-2.00-00                                  Level     : L2 
---snip---
SYS ID    : 0010.0100.1002         SysID Len : 6        Used Len  : 368
 
TLVs : 
  ---snip---
  Router Cap : 1.1.1.2, D:0, S:0
    TE Node Cap : B E M  P
    SRv6 Cap: 0x0000
    SR Alg: metric based SPF
    Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 1 SRH-MAX-END-D : 9
  ---snip---
  TE IS Nbrs   :
    Nbr   : PE-1.00                             
    Default Metric  : 10
    ---snip---
  TE IS Nbrs   :
    Nbr   : P-5.00                              
    Default Metric  : 21
    ---snip---
  IPv6 Reach:
    ---snip---
    Metric: ( I ) 21
    Prefix   : 2001:db8::168:25:0/126
    Metric: ( I ) 0
    Prefix   : 2001:db8:aaaa:102::/64
  SRv6 Locator  :
    MT ID : 0                    
    Metric: ( ) 0 Algo:0
    Prefix   : 2001:db8:aaaa:102::/64
    Sub TLV   :
      End-SID   : 2001:db8:aaaa:102:0:1000::, flags:0x0, endpoint:End-USP

-------------------------------------------------------------------------------
LSP ID    : P-3.00-00                                   Level     : L2 
---snip---
SYS ID    : 0010.0100.1003         SysID Len : 6        Used Len  : 367
 
TLVs : 
  ---snip---
  Router Cap : 1.1.1.3, D:0, S:0
    TE Node Cap : B E M  P
    SRv6 Cap: 0x0000
    SR Alg: metric based SPF
    Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 1 SRH-MAX-END-D : 9
  ---snip---
  TE IS Nbrs   :
    Nbr   : P-4.00                              
    Default Metric  : 10
    ---snip---
  TE IS Nbrs   :
    Nbr   : P-5.00                              
    Default Metric  : 10
    ---snip---
  IPv6 Reach:
    ---snip---
    Metric: ( I ) 0
    Prefix   : 2001:db8:aaaa:113::/64
  SRv6 Locator  :
    MT ID : 0                    
    Metric: ( ) 0 Algo:0
    Prefix   : 2001:db8:aaaa:113::/64
    Sub TLV   :
      End-SID   : 2001:db8:aaaa:113:0:1000::, flags:0x0, endpoint:End-USP

-------------------------------------------------------------------------------
LSP ID    : P-4.00-00                                   Level     : L2 
---snip---
SYS ID    : 0010.0100.1004         SysID Len : 6        Used Len  : 367
 
TLVs : 
  ---snip---
  Router Cap : 1.1.1.4, D:0, S:0
    TE Node Cap : B E M  P
    SRv6 Cap: 0x0000
    SR Alg: metric based SPF
    Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 1 SRH-MAX-END-D : 9
  ---snip---
  TE IS Nbrs   :
    Nbr   : P-3.00                              
    Default Metric  : 10
    ---snip---
  TE IS Nbrs   :
    Nbr   : PE-1.00                             
    Default Metric  : 10
    ---snip---
  IPv6 Reach:
    ---snip---
    Metric: ( I ) 0
    Prefix   : 2001:db8:aaaa:114::/64
  SRv6 Locator  :
    MT ID : 0                    
    Metric: ( ) 0 Algo:0
    Prefix   : 2001:db8:aaaa:114::/64
    Sub TLV   :
      End-SID   : 2001:db8:aaaa:114:0:1000::, flags:0x0, endpoint:End-USP

-------------------------------------------------------------------------------
LSP ID    : P-5.00-00                                   Level     : L2 
---snip---
SYS ID    : 0010.0100.1005         SysID Len : 6        Used Len  : 367
 
TLVs : 
  ---snip---
  Router Cap : 1.1.1.5, D:0, S:0
    TE Node Cap : B E M  P
    SRv6 Cap: 0x0000
    SR Alg: metric based SPF
    Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 1 SRH-MAX-END-D : 9
  ---snip---
  TE IS Nbrs   :
    Nbr   : P-3.00                              
    Default Metric  : 10
    ---snip---
  TE IS Nbrs   :
    Nbr   : PE-2.00                             
    Default Metric  : 21
    ---snip---
  IPv6 Reach:
    ---snip---
    Metric: ( I ) 21
    Prefix   : 2001:db8::168:25:0/126
    ---snip---
    Metric: ( I ) 0
    Prefix   : 2001:db8:aaaa:115::/64
  SRv6 Locator  :
    MT ID : 0                    
    Metric: ( ) 0 Algo:0
    Prefix   : 2001:db8:aaaa:115::/64
    Sub TLV   :
      End-SID   : 2001:db8:aaaa:115:0:1000::, flags:0x0, endpoint:End-USP

Level (2) LSP Count : 5
-------------------------------------------------------------------------------
---snip---
===============================================================================

Verify the SRv6 local SIDs and SRv6 base routing instances on PE-1 and similar on PE-2. The End.X functions are not yet instantiated.

[/]
A:admin@PE-1# show router segment-routing-v6 local-sid 

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:101:0:1000::                        End            1
  PE-1_loc
  Base
2001:db8:aaaa:101:78a6:b000::                     End.DT6        494187
  PE-1_loc
  SvcId: 2 Name: VPRN_2
2001:db8:aaaa:101:78a6:c000::                     End.DT4        494188
  PE-1_loc
  SvcId: 2 Name: VPRN_2
-------------------------------------------------------------------------------
SIDs : 3
-------------------------------------------------------------------------------
===============================================================================

The End.X functions not yet being instantiated can also be verified in the SRv6 base routing instances on PE-1 and similar on PE-2. Only the End function is already instantiated.

[/]
A:admin@PE-1# show router segment-routing-v6 base-routing-instance 

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
PE-1_loc
  End                  1 2001:db8:aaaa:101:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Verify that the tunnels have SRv6 encapsulation.

[/]
A:admin@PE-1# show router tunnel-table ipv6            

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                          srv6-isis SRV6  524289    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            10        
2001:db8:aaaa:113::/64                          srv6-isis SRV6  524290    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             20        
2001:db8:aaaa:114::/64                          srv6-isis SRV6  524291    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:115::/64                          srv6-isis SRV6  524292    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             30        
-------------------------------------------------------------------------------
---snip---
===============================================================================

Verify the interfaces that the tunnels are using. Interface “int-PE-1-PE-2” is configured on port 1/1/c1/1:1000. Interface “int-PE-1-P-4” is configured on port 1/1/c2/1:1000. SRv6 data is transported to PE-2 over the link between PE-1 and PE-2, via next hop fe80::60e:1ff:fe01:1-"int-PE-1-PE-2".

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6       

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                       SRV6              524289
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
2001:db8:aaaa:113::/64                       SRV6              524290
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:114::/64                       SRV6              524291
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
-------------------------------------------------------------------------------
Total Entries : 4
-------------------------------------------------------------------------------
===============================================================================

Configure LFA on PE-1

Figure 2 shows the example topology with initial metrics that is used to verify the behavior when a PQ-router provides TI-LFA protection.

Figure 2. Example topology with metric 21 between PE-2 and P-5
Example topology with initial metrics that is used to verify the behavior when a PQ-router provides TI-LFA protection

Configure regular LFA:

[/]
A:admin@PE-1# configure {
    router "Base" {
        isis 0 {
            loopfree-alternate {
            }
            exit all

Verify the IPv6 route table. There are two additional routes, corresponding with the End.X functions for locator “PE-1_loc” that are instantiated. The existing route to P-5 is loop-protected with regular LFA.

[/]
A:admin@PE-1# show router route-table ipv6             

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:5/128 [L]                         Remote  ISIS      00h10m43s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          30
---snip---
2001:db8:aaaa:101:78a6:d000::/128             Local   ISIS      00h00m44s  18
       2001:db8:aaaa:101:78a6:d000:: (tunneled:SRV6-ISIS)           10
2001:db8:aaaa:101:78a6:e000::/128             Local   ISIS      00h00m44s  18
       2001:db8:aaaa:101:78a6:e000:: (tunneled:SRV6-ISIS)           10
---snip---
-------------------------------------------------------------------------------
No. of Routes: 18
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       ---snip---
===============================================================================

Verify the corresponding IPv6 FIB.

[/]
A:admin@PE-1# show router fib 1 ipv6                   

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:5/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8:aaaa:101:78a6:d000::/128                           ISIS
  2001:db8:aaaa:101:78a6:d000:: (Transport:SRV6:524293)
2001:db8:aaaa:101:78a6:e000::/128                           ISIS
  2001:db8:aaaa:101:78a6:e000:: (Transport:SRV6:524294)
---snip---
-------------------------------------------------------------------------------
Total Entries : 18
-------------------------------------------------------------------------------
===============================================================================

The IS-IS database contains additional information about the End.X functions that are instantiated on PE-1. The End.X functions for the locator “PE-1_loc” are instantiated and advertised. There are no changes for the other routers.

[/]
A:admin@PE-1# show router isis database detail         

===============================================================================
Rtr Base ISIS Instance 0 Database (detail)
===============================================================================
---snip---
Displaying Level 2 database
-------------------------------------------------------------------------------
LSP ID    : PE-1.00-00                                  Level     : L2 
---snip---
TLVs : 
  ---snip---
  TE IS Nbrs   :
    Nbr   : PE-2.00                             
    Default Metric  : 10
    ---snip---
    End.X-SID: 2001:db8:aaaa:101:78a6:e000:: flags:B algo:0 weight:0 endpoint:End.X-USP
  TE IS Nbrs   :
    Nbr   : P-4.00                              
    Default Metric  : 10
    ---snip---
    End.X-SID: 2001:db8:aaaa:101:78a6:d000:: flags:B algo:0 weight:0 endpoint:End.X-USP
---snip---
Level (2) LSP Count : 5
---snip---
===============================================================================

Verify the SRv6 local SIDs and SRv6 base routing instance on PE-1. The End.X functions are also instantiated.

[/]
A:admin@PE-1# show router segment-routing-v6 local-sid 

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
---snip---
2001:db8:aaaa:101:78a6:d000::                     End.X          494189
  PE-1_loc
    None
2001:db8:aaaa:101:78a6:e000::                     End.X          494190
  PE-1_loc
    None
-------------------------------------------------------------------------------
SIDs : 5
-------------------------------------------------------------------------------
===============================================================================

The SRv6 functions are listed.

[/]
A:admin@PE-1# show router segment-routing-v6 base-routing-instance 

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
PE-1_loc
  End                  1 2001:db8:aaaa:101:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
  End.X          *494189 2001:db8:aaaa:101:78a6:d000::           0
    USP        Protected int-PE-1-P-4                            
    ISIS Level: L2 Mac Address: 04:16:01:01:00:01 Nbr Sys Id: 0010.0100.1004
  End.X          *494190 2001:db8:aaaa:101:78a6:e000::           0
    USP        Protected int-PE-1-PE-2                           
    ISIS Level: L2 Mac Address: 04:0e:01:01:00:01 Nbr Sys Id: 0010.0100.1002
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Verify the IPv6 tunnel table. There are two new SRv6 tunnels for the End.X functions and the existing SRv6 tunnel to P-5 is loop-protected via regular LFA.

[/]
A:admin@PE-1# show router tunnel-table ipv6            

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
2001:db8:aaaa:101:78a6:d000::/128               srv6-isis SRV6  524293    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:101:78a6:e000::/128               srv6-isis SRV6  524294    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            10        
---snip---
2001:db8:aaaa:115::/64 [L]                      srv6-isis SRV6  524292    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             30        
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       ---snip---
===============================================================================

Verify the interfaces that the tunnels are using.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6       

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
---snip---
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"(B)                    1/1/c1/1:1000
2001:db8:aaaa:101:78a6:d000::/128            SRV6              524293
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:101:78a6:e000::/128            SRV6              524294
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
-------------------------------------------------------------------------------
Total Entries : 6
-------------------------------------------------------------------------------
===============================================================================

Configure TI-LFA:

[/]
A:admin@PE-1# configure {
    router "Base" {
        isis 0 {
            loopfree-alternate {
                ti-lfa {
                }
            }
            exit all

There are no changes to the IPv6 route table, IPv6 FIB, IS-IS database, SRv6 local SIDs, and SRv6 base routing instance, while the change in LFA computation results in LFA protection for the tunnels to the remote routers. The existing SRv6 tunnels to PE-2, P-3 and P-4 are now also loop-protected. Verify the IPv6 tunnel table.

[/]
A:admin@PE-1# show router tunnel-table ipv6            

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
2001:db8:aaaa:101:78a6:d000::/128               srv6-isis SRV6  524293    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:101:78a6:e000::/128               srv6-isis SRV6  524294    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            10        
2001:db8:aaaa:102::/64 [L]                      srv6-isis SRV6  524289    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            10        
2001:db8:aaaa:113::/64 [L]                      srv6-isis SRV6  524290    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             20        
2001:db8:aaaa:114::/64 [L]                      srv6-isis SRV6  524291    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:115::/64 [L]                      srv6-isis SRV6  524292    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             30        
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       ---snip---
===============================================================================

Verify the interfaces that the tunnels are using. When the link between PE-1 and PE-2 is operational, SRv6 data is transported to PE-2 over this link, via next hop fe80::60e:1ff:fe01:1-"int-PE-1-PE-2". When the link between PE-1 and PE-2 fails, SRv6 data is transported to PE-2 using a fast reroute (FRR) backup link between PE-1 and P-4, via backup next hop fe80::616:1ff:fe01:1-"int-PE-1-P-4". The SRv6 data is transported to PE-2 then, via an SRv6 tunnel to the End function on P-5, as the backup SID 2001:db8:aaaa:115:0:1000:: indicates.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6       

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                       SRV6              524289
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
  2001:db8:aaaa:115:0:1000::
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"(B)                     1/1/c2/1:1000
2001:db8:aaaa:113::/64                       SRV6              524290
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
  2001:db8:aaaa:115:0:1000::
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"(B)                    1/1/c1/1:1000
2001:db8:aaaa:114::/64                       SRV6              524291
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
  2001:db8:aaaa:115:0:1000::
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"(B)                    1/1/c1/1:1000
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"(B)                    1/1/c1/1:1000
2001:db8:aaaa:101:78a6:d000::/128            SRV6              524293
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:101:78a6:e000::/128            SRV6              524294
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
-------------------------------------------------------------------------------
Total Entries : 6
-------------------------------------------------------------------------------
===============================================================================

With the topology as shown in Figure 2, this behavior is described as follows:

There is no regular LFA protection for the destination prefix to PE-2 using the protected PE-1-PE-2 link, which can be understood when the regular LFA inequality is determined using a shortest-path distance (Spd) calculation:

Spd(N, D) < Spd(N, S) + Spd(S, D)

where

  • Spd is the shortest path distance (according to level 2 metrics)
  • S is the source router (PE-1)
  • D is the destination router (PE-2)
  • N is the alternate next hop router or neighboring node (P-4)

If the outcome of the calculation is true, then regular LFA protection is valid; if the outcome is false, then there is no LFA protection.

In this case the outcome is false.

Spd(P-4, PE-2) < Spd(P-4, PE-1) + Spd(PE-1, PE-2)
(10 + 10 + 21) < 10 + 10

There is TI-LFA protection for all destination prefixes using the protected PE-1-PE-2 link, which is determined using the calculation for TI-LFA.

The TI-LFA inequality for the extended P-space P’ is:

Spd(N, Yi) < Spd(N, S) + Spd(S, Yi)
Spd(P-4, Yi) < Spd(P-4, PE-1) + Spd(PE-1, Yi)

where Yi is the set of routers {P-3, P-5} that are reachable from PE-1 and its neighbor P-4 on the post-convergence path to PE-2, without traversing the link between PE-1 and PE-2.

Apply this inequality to the set of routers Yi:

For Yi=P-3, the outcome is true. So P-3 is in P’:

Spd(P-4, P-3) < Spd(P-4, PE-1) + Spd(PE-1, P-3)
10 < 10 + (10 + 10)

For Yi=P-5, the outcome is true. So P-5 is in P’:

Spd(P-4, P-5) < Spd(P-4, PE-1) + Spd(PE-1, P-5)
(10 + 10) < 10 + (10 + 10 + 10)

So, the extended P-space P’ = {P-3, P-5}

The TI-LFA inequality for the Q-space Q is:

Spd(Zi, D) < Spd(Zi, S) + Spd(S, D)
Spd(Zi, PE-2) < Spd(Zi, PE-1) + Spd(PE-1, PE-2)

where Zi is the set of routers {P-3, P-5} that are reachable from PE-2 using reverse SPF on the post-convergence path to PE-1 without traversing the link between PE-1 and PE-2.

Apply this inequality to the set of routers Zi:

For Zi=P-3, the outcome is false. So P-3 is not in Q:

Spd(P-3, PE-2) < Spd(P-3, PE-1) + Spd(PE-1, PE-2)
(10 + 21) < (10 + 10) + 10

For Zi=P-5, the outcome is true. So P-5 is in Q:

Spd(P-5, PE-2) < Spd(P-5, PE-1) + Spd(PE-1, PE-2)
21 < (10 + 10 + 10) + 10

So, the Q-space Q = {P-5}

So, the link between PE-1 and PE-2 is TI-LFA protected with the PQ-router P-5 that belongs to the intersection of the extended P space P’ and the Q space.

SRv6 data is transported to P-4, P-3, and P-5 over the link between PE-1 and P-4, via next hop fe80::616:1ff:fe01:1-"int-PE-1-P-4". When the link between PE-1 and P-4 fails, SRv6 data is transported to P-4, P-3, and P-5 using a FRR backup link between PE-1 and PE-2, via backup next hop fe80::60e:1ff:fe01:1-"int-PE-1-PE-2". The SRv6 data is transported to P-4 and P-3 then via an SRv6 tunnel to the End function on P-5, as the backup SID 2001:db8:aaaa:115:0:1000:: indicates. The SRv6 data is transported to P-5 then without using an SRv6 tunnel, as the absence of a backup SID indicates.

Disable the link between PE-1 and PE-2:

[/]
A:admin@PE-1# configure {
    router "Base" {
        interface "int-PE-1-PE-2" {
            admin-state disable
        }
        exit all

Because PE-2 disappears as a traffic-engineered (TE) IS-IS neighbor of PE-1, the End.X function that corresponds with the interface “int-PE-1-PE-2” is no longer instantiated. The IPv6 route table and IPv6 FIB indicate that data transport from PE-1 to PE-2 and P-5 now follows a path with a higher metric via P-4. The route to the End.X function that corresponds with the interface “int-PE-1-PE-2” is no longer present. There is no longer LFA protection for the route to P-5. Verify the IPv6 route table.

[/]
A:admin@PE-1# show router route-table ipv6             

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128                             Remote  ISIS      00h00m46s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          51
---snip---
2001:db8::2:5/128                             Remote  ISIS      00h16m33s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          30
2001:db8::168:12:0/126                        Remote  ISIS      00h00m46s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          61
---snip---
2001:db8::168:25:0/126                        Remote  ISIS      00h00m46s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          51
---snip---
-------------------------------------------------------------------------------
No. of Routes: 17
---snip---
===============================================================================

Verify the corresponding IPv6 FIB.

[/]
A:admin@PE-1# show router fib 1 ipv6

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8::168:12:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8::168:25:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
-------------------------------------------------------------------------------
Total Entries : 17
-------------------------------------------------------------------------------
===============================================================================

Verify the SRv6 local SIDs and SRv6 base routing instance on PE-1. The SID that corresponds with the interface “int-PE-1-PE-2” is no longer present and is no longer advertised to the other routers.

[/]
A:admin@PE-1# show router segment-routing-v6 local-sid

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:101:0:1000::                        End            1
  PE-1_loc
  Base
2001:db8:aaaa:101:78a6:b000::                     End.DT6        494187
  PE-1_loc
  SvcId: 2 Name: VPRN_2
2001:db8:aaaa:101:78a6:c000::                     End.DT4        494188
  PE-1_loc
  SvcId: 2 Name: VPRN_2
2001:db8:aaaa:101:78a6:d000::                     End.X          494189
  PE-1_loc
    None
-------------------------------------------------------------------------------
SIDs : 4
-------------------------------------------------------------------------------
===============================================================================

The End.X function with SID 2001:db8:aaaa:101:78a6:e000:: that corresponds with the interface “int-PE-1-PE-2” is no longer instantiated.

[/]
A:admin@PE-1# show router segment-routing-v6 base-routing-instance

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
PE-1_loc
  End                  1 2001:db8:aaaa:101:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
  End.X          *494189 2001:db8:aaaa:101:78a6:d000::           0
    USP        Protected int-PE-1-P-4                            
    ISIS Level: L2 Mac Address: 04:16:01:01:00:01 Nbr Sys Id: 0010.0100.1004
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Verify the IPv6 tunnel table. There are no longer any backup tunnels and SRv6 data is transported to all destinations via the link between PE-1 and P-4.

[/]
A:admin@PE-1# show router tunnel-table ipv6

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
2001:db8:aaaa:101:78a6:d000::/128               srv6-isis SRV6  524293    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:102::/64                          srv6-isis SRV6  524289    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             51        
2001:db8:aaaa:113::/64                          srv6-isis SRV6  524290    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             20        
2001:db8:aaaa:114::/64                          srv6-isis SRV6  524291    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:115::/64                          srv6-isis SRV6  524292    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             30        
-------------------------------------------------------------------------------
---snip---
===============================================================================

Verify the interfaces that the tunnels are using. There is no longer any possibility for alternate routes.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                       SRV6              524289
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:113::/64                       SRV6              524290
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:114::/64                       SRV6              524291
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:101:78a6:d000::/128            SRV6              524293
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
-------------------------------------------------------------------------------
Total Entries : 5
-------------------------------------------------------------------------------
===============================================================================

Enable the link between PE-1 and PE-2 to restore the initial topology:

[/]
A:admin@PE-1# configure {
    router "Base" {
        interface "int-PE-1-PE-2" {
            admin-state enable
        }
        exit all

The End.X function that corresponds with the interface “int-PE-1-PE-2” is re-instantiated, but with SID 2001:db8:aaaa:101:78a6:f000:: and SRv6 Tunnel-ID 524295.

Modify metrics so that the P-router and the Q-router no longer coincide

Figure 3 shows the example topology with modified metrics that is used to verify the behavior when a disjointed P-router and Q-router provide TI-LFA protection.

Figure 3. Example topology with metric 21 between P-3 and P-5
Example topology with modified metrics that is used to verify the behavior when a disjointed P-router and Q-router provide TI-LFA protection

Metrics can be modified for the interface "int-PE-2-P-5" on PE-2 with the command configure router "Base" isis 0 interface "int-PE-2-P-5" level 2 metric <value>. Similar commands apply for the interface "int-P-3-P-5" on P-3, and for the interfaces "int-P-5-PE-2" and "int-P-5-P-3" on P-5.

Verify the IPv6 route table. P-5 is now reached via interface “int-PE-1-PE-2”.

[/]
A:admin@PE-1# show router route-table ipv6

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:5/128                             Remote  ISIS      00h01m07s  18
       fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                         20
---snip---
2001:db8::168:35:0/126                        Remote  ISIS      00h00m31s  18
       fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                         41
---snip---
-------------------------------------------------------------------------------
No. of Routes: 18
---snip---
===============================================================================

Verify the corresponding IPv6 FIB.

[/]
A:admin@PE-1# show router fib 1 ipv6

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:5/128                                           ISIS
  fe80::60e:1ff:fe01:1 (int-PE-1-PE-2)
---snip---
2001:db8::168:35:0/126                                      ISIS
  fe80::60e:1ff:fe01:1 (int-PE-1-PE-2)
---snip---
-------------------------------------------------------------------------------
Total Entries : 18
-------------------------------------------------------------------------------
===============================================================================

On PE-1, apart from the metrics, the IS-IS data base, the SRv6 local SIDs, and the SRv6 base routing instance do not change.

[/]
A:admin@PE-1# show router tunnel-table ipv6

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
---snip---
2001:db8:aaaa:115::/64                          srv6-isis SRV6  524292    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            20        
-------------------------------------------------------------------------------
---snip---
===============================================================================

Verify the interfaces that the tunnels are using.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
---snip---
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
---snip---
-------------------------------------------------------------------------------
Total Entries : 6
-------------------------------------------------------------------------------
===============================================================================

Without support for LFA on P-3, the TI-LFA computation on PE-1 does not lead to a PQ-router, because the End.X functions on P-3 are neither instantiated nor advertised to the other routers.

On P-3, verify the SRv6 local SIDs and SRv6 base routing instance. The End.X functions are not yet instantiated.

[/]
A:admin@P-3# show router segment-routing-v6 local-sid

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:113:0:1000::                        End            1
  P-3_loc
  Base
-------------------------------------------------------------------------------
SIDs : 1
-------------------------------------------------------------------------------
===============================================================================

Only the End function is already instantiated. The End.X functions are not yet instantiated.

[/]
A:admin@P-3# show router segment-routing-v6 base-routing-instance

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
P-3_loc
  End                  1 2001:db8:aaaa:113:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Configure LFA on P-3

[/]
A:admin@P-3# configure {
    router "Base" {
        isis 0 {
            loopfree-alternate {
            }
            exit all

The IS-IS database contains additional information about the End.X functions that are instantiated on P-3.

[/]
A:admin@PE-1# show router isis database detail

===============================================================================
Rtr Base ISIS Instance 0 Database (detail)
===============================================================================
---snip---
Displaying Level 2 database
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
LSP ID    : P-3.00-00                                   Level     : L2 
---snip---
TLVs : 
  ---snip---
  TE IS Nbrs   :
    Nbr   : P-4.00                              
    Default Metric  : 10
    ---snip---
    End.X-SID: 2001:db8:aaaa:113:0:4000:: flags:B algo:0 weight:0 endpoint:End.X-USP
  TE IS Nbrs   :
    Nbr   : P-5.00                              
    Default Metric  : 21
    ---snip---
    End.X-SID: 2001:db8:aaaa:113:0:5000:: flags:B algo:0 weight:0 endpoint:End.X-USP
---snip---
Level (2) LSP Count : 5
-------------------------------------------------------------------------------
---snip--
===============================================================================

On PE-1, the IS-IS data base, the IPv6 route table, the IPv6 FIB, the SRv6 local SIDs, and the SRv6 base routing instance do not change.

On PE-3, verify the SRv6 local SIDs and SRv6 base routing instance. The End.X functions are also instantiated.

[/]
A:admin@P-3# show router segment-routing-v6 local-sid

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:113:0:1000::                        End            1
  P-3_loc
  Base
2001:db8:aaaa:113:0:4000::                        End.X          4
  P-3_loc
    None
2001:db8:aaaa:113:0:5000::                        End.X          5
  P-3_loc
    None
-------------------------------------------------------------------------------
SIDs : 3
-------------------------------------------------------------------------------
===============================================================================
[/]
A:admin@P-3# show router segment-routing-v6 base-routing-instance

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
P-3_loc
  End                  1 2001:db8:aaaa:113:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
  End.X               *4 2001:db8:aaaa:113:0:4000::              0
    USP        Protected int-P-3-P-4                             
    ISIS Level: L2 Mac Address: 04:16:01:01:00:0b Nbr Sys Id: 0010.0100.1004
  End.X               *5 2001:db8:aaaa:113:0:5000::              0
    USP        Protected int-P-3-P-5                             
    ISIS Level: L2 Mac Address: 04:1a:01:01:00:0b Nbr Sys Id: 0010.0100.1005
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Verify the IPv6 tunnel table. The existing routes to PE-2 and P-5 are loop-protected.

[/]
A:admin@PE-1# show router tunnel-table ipv6

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
---snip---
2001:db8:aaaa:102::/64 [L]                      srv6-isis SRV6  524289    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            10        
---snip---
2001:db8:aaaa:115::/64 [L]                      srv6-isis SRV6  524292    0
  fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                            20        
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       ---snip---
===============================================================================

Verify the interfaces that the tunnels are using. Interface “int-PE-1-PE-2” is configured on port 1/1/c1/1:1000. Interface “int-PE-1-P-4” is configured on port 1/1/c2/1:1000.

When the link between PE-1 and PE-2 is operational, SRv6 data is transported to PE-2 over this link, via next hop fe80::60e:1ff:fe01:1-"int-PE-1-PE-2". When the link between PE-1 and PE-2 fails, SRv6 data is transported to PE-2 using a FRR backup link between PE-1 and P-4, via backup next hop fe80::616:1ff:fe01:1-"int-PE-1-P-4". The SRv6 data is transported to PE-2 then via an SRv6 tunnel to the End.X function on P-3, as the backup SID 2001:db8:aaaa:113:0:5000:: indicates, followed by source routing to P-5.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                       SRV6              524289
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
  2001:db8:aaaa:113:0:5000::
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"(B)                     1/1/c2/1:1000
---snip---
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                       1/1/c1/1:1000
  2001:db8:aaaa:113:0:5000::
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"(B)                     1/1/c2/1:1000
---snip---
-------------------------------------------------------------------------------
Total Entries : 6
-------------------------------------------------------------------------------
===============================================================================

With the topology as shown in Example topology with metric 21 between P-3 and P-5, this behavior is described as follows:

There is no regular LFA protection for the destination prefix to PE-2 using the protected PE-1-PE-2 link, which can be understood when the regular LFA inequality is determined using a shortest-path distance (Spd) calculation:

Spd(N, D) < Spd(N, S) + Spd(S, D)

where

  • Spd is the shortest path distance (according to level 2 metrics)
  • S is the source router (PE-1)
  • D is the destination router (PE-2)
  • N is the alternate next hop router or neighboring node (P-4)

If the outcome of the calculation is true, then regular LFA protection is valid; if the outcome is false, then there is no LFA protection.

In this case the outcome is false.

Spd(P-4, PE-2) < Spd(P-4, PE-1) + Spd(PE-1, PE-2)
(10 + 21 + 10) < 10 + 10

There is TI-LFA protection for all destination prefixes using the protected PE-1-PE-2 link:

The TI-LFA inequality for the extended P-space P’ is:

Spd(N, Yi) < Spd(N, S) + Spd(S, Yi)
Spd(P-4, Yi) < Spd(P-4, PE-1) + Spd(PE-1, Yi)

whereYi is the set of routers {P-3, P-5} that are reachable from PE-1 and its neighbor P-4 on the post-convergence path to PE-2, without traversing the link between PE-1 and PE-2.

Apply this inequality to the set of routers Yi:

For Yi=P-3, the outcome is true. So P-3 is in P’:

Spd(P-4, P-3) < Spd(P-4, PE-1) + Spd(PE-1, P-3)
10 < 10 + (10 + 10)

For Yi=P-5, the outcome is false. So P-5 is not in P’:

Spd(P-4, P-5) < Spd(P-4, PE-1) + Spd(PE-1, P-5)
(10 + 21) < 10 + (10 + 10)

So, the extended P-space P’ = {P-3}

The TI-LFA inequality for the Q-space Q is:

Spd(Zi, D) < Spd(Zi, S) + Spd(S, D)
Spd(Zi, PE-2) < Spd(Zi, PE-1) + Spd(PE-1, PE-2)

where Zi is the set of routers {P-3, P-5} that are reachable from PE-2 using reverse SPF on the post-convergence path to PE-1 without traversing the link between PE-1 and PE-2.

Apply this inequality to the set of routers Zi:

For Zi=P-3, the outcome is false. So P-3 is not in Q:

Spd(P-3, PE-2) < Spd(P-3, PE-1) + Spd(PE-1, PE-2)
(21 + 10) < (10 + 10) + 10

For Zi=P-5, the outcome is true. So P-5 is in Q:

Spd(P-5, PE-2) < Spd(P-5, PE-1) + Spd(PE-1, PE-2)
10 < (21 + 10 + 10) + 10

So, the Q-space Q = {P-5}

So, the link between PE-1 and PE-2 is TI-LFA protected with the P-router P-3 and Q-router P-5.

Disable the link between PE-1 and PE-2:

[/]
A:admin@PE-1# configure {
    router "Base" {
        interface "int-PE-1-PE-2" {
            admin-state disable
        }
        exit all

Because PE-2 disappears as a TE IS-IS neighbor of PE-1, the End.X function that corresponds with the interface “int-PE-1-PE-2” is no longer instantiated. The IPv6 route table and IPv6 FIB indicate that data transport from PE-1 to PE-2 and P-5 now follows a path with a higher metric via P-4. Verify the IPv6 route table.

[/]
A:admin@PE-1# show router route-table ipv6

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128                             Remote  ISIS      00h00m23s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          51
---snip---
2001:db8::2:5/128                             Remote  ISIS      00h00m23s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          41
2001:db8::168:12:0/126                        Remote  ISIS      00h00m23s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          61
---snip---
2001:db8::168:25:0/126                        Remote  ISIS      00h00m23s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          51
---snip---
2001:db8::168:35:0/126                        Remote  ISIS      00h00m23s  18
       fe80::616:1ff:fe01:1-"int-PE-1-P-4"                          41
---snip---
-------------------------------------------------------------------------------
No. of Routes: 17
---snip---
===============================================================================

Verify the corresponding IPv6 FIB.

[/]
A:admin@PE-1# show router fib 1 ipv6

===============================================================================
FIB Display
===============================================================================
Prefix [Flags]                                              Protocol
  NextHop                                                   
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8::2:5/128                                           ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
2001:db8::168:12:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8::168:25:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
2001:db8::168:35:0/126                                      ISIS
  fe80::616:1ff:fe01:1 (int-PE-1-P-4)
---snip---
-------------------------------------------------------------------------------
Total Entries : 17
-------------------------------------------------------------------------------
===============================================================================

Verify the SRv6 local SIDs and SRv6 base routing instance on PE-1. The SID that corresponds with the interface “int-PE-1-PE-2” is no longer present and is no longer advertised to the other routers.

[/]
A:admin@PE-1# show router segment-routing-v6 local-sid

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator                                                        
  Context                                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:101:0:1000::                        End            1
  PE-1_loc
  Base
2001:db8:aaaa:101:78a6:b000::                     End.DT6        494187
  PE-1_loc
  SvcId: 2 Name: VPRN_2
2001:db8:aaaa:101:78a6:c000::                     End.DT4        494188
  PE-1_loc
  SvcId: 2 Name: VPRN_2
2001:db8:aaaa:101:78a6:d000::                     End.X          494189
  PE-1_loc
    None
-------------------------------------------------------------------------------
SIDs : 4
-------------------------------------------------------------------------------
===============================================================================

The End.X function that corresponds with the interface “int-PE-1-PE-2” is no longer instantiated.

[/]
A:admin@PE-1# show router segment-routing-v6 base-routing-instance

===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator                                                           
  Type       Function    SID                                     Status/InstId
    SRH-mode Protection  Interface                               
-------------------------------------------------------------------------------
PE-1_loc
  End                  1 2001:db8:aaaa:101:0:1000::              ok
    USP      
-------------------------------------------------------------------------------
  Auto-allocated End.X: USP Protected,
-------------------------------------------------------------------------------
  End.X          *494189 2001:db8:aaaa:101:78a6:d000::           0
    USP        Protected int-PE-1-P-4                            
    ISIS Level: L2 Mac Address: 04:16:01:01:00:01 Nbr Sys Id: 0010.0100.1004
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated

Verify the IPv6 tunnel table. There are no longer any backup tunnels and SRv6 data is transported to all destinations via the link between PE-1 and P-4.

[/]
A:admin@PE-1# show router tunnel-table ipv6

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric    
-------------------------------------------------------------------------------
2001:db8:aaaa:101:78a6:d000::/128               srv6-isis SRV6  524293    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:102::/64                          srv6-isis SRV6  524289    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             51        
2001:db8:aaaa:113::/64                          srv6-isis SRV6  524290    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             20        
2001:db8:aaaa:114::/64                          srv6-isis SRV6  524291    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             10        
2001:db8:aaaa:115::/64                          srv6-isis SRV6  524292    0
  fe80::616:1ff:fe01:1-"int-PE-1-P-4"                             41        
-------------------------------------------------------------------------------
---snip---
===============================================================================

Verify the interfaces that the tunnels are using. There is no longer any possibility for alternate routes.

[/]
A:admin@PE-1# show router fp-tunnel-table 1 ipv6

===============================================================================
IPv6 Tunnel Table Display

Legend: 
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination                                  Protocol         Tunnel-ID
  Lbl/SID                                                      
    NextHop                                                   Intf/Tunnel
  Lbl/SID (backup)                                            
    NextHop   (backup)                                        
-------------------------------------------------------------------------------
2001:db8:aaaa:102::/64                       SRV6              524289
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:113::/64                       SRV6              524290
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:114::/64                       SRV6              524291
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:115::/64                       SRV6              524292
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
2001:db8:aaaa:101:78a6:d000::/128            SRV6              524293
  -
    fe80::616:1ff:fe01:1-"int-PE-1-P-4"                        1/1/c2/1:1000
-------------------------------------------------------------------------------
Total Entries : 5
-------------------------------------------------------------------------------
===============================================================================

Enable the link between PE-1 and PE-2 to restore the initial topology:

[/]
A:admin@PE-1# configure {
    router "Base" {
        interface "int-PE-1-PE-2" {
            admin-state enable
        }
        exit all

The End.X function that corresponds with the interface “int-PE-1-PE-2” is re-instantiated, but with SID 2001:db8:aaaa:101:78a6:e000:: and Tunnel-ID 524296.

Conclusion

To guard against the failure of the initial data path, LFA protection via an LFA backup path is possible for SRv6 data transport.