Brief overview was shared in earlier post of "Segment Routing - Topology Independent LFA". In this post, I am showing some simulated results of per prefix Ti-LFA where in case of primary link failure, SR-MPLS with Ti-LFA enabled seamlessly re-route the destined traffic by excluding the direct link. If direct adjacent node need to be exclude from Ti-LFA calculation, it is called Ti-LFA node protection. Below is SR-MPLS enabled topology used for simulation. XR-11 is sending traffic to loopback 1.1.1.12 (XR-12). There is no Ti-LFA configured on XR-11.
Verify that Ti-LFA is not configured
RP/0/0/CPU0:xrvr-11#show isis fast-reroute 1.1.1.12/32 detail
L2 1.1.1.12/32 [1020/115] medium priority
via 99.1.11.1, GigabitEthernet0/0/0/0, xrvr-1, SRGB Base: 16000, Weight: 0
No FRR backup (Check here)
src xrvr-12.00-00, 1.1.1.12, prefix-SID index 12, R:0 N:1 P:0 E:0 V:0 L:0
RP/0/0/CPU0:xrvr-11#
ISIS adjacency is configured for IPv4 and IPv6 address family.
RP/0/0/CPU0:xrvr-11#show isis adjacency systemid xrvr-1 detail
IS-IS 1 Level-2 adjacencies:
System Id Interface SNPA State Hold Changed NSF IPv4 IPv6
BFD BFD
xrvr-1 Gi0/0/0/0 *PtoP* Up 21 00:08:59 Yes None None
Area Address: 49.0001
Neighbor IPv4 Address: 99.1.11.1*
Adjacency SID: 24000 -> Adjacency SID for IPv4 address family. This is not protected, so no backup interface
Non-FRR Adjacency SID: 24001
Neighbor IPv6 Address: fe80::f816:3eff:fe8b:9b27*
Adjacency SID: 24002 -> Adjacency SID for IPv6 address family. This is not protected, so no backup interface
Non-FRR Adjacency SID: 24003
Topology: IPv4 Unicast
Topology: IPv6 Unicast
RP/0/0/CPU0:xrvr-11#
Verify MPLS forwarding. Most of the output is deleted for brevity
RP/0/0/CPU0:xrvr-11#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16001 Pop SR Pfx (idx 1) Gi0/0/0/0 99.1.11.1 0
16002 16002 SR Pfx (idx 2) Gi0/0/0/0 99.1.11.1 0
16003 16003 SR Pfx (idx 3) Gi0/0/0/0 99.1.11.1 0
16004 16004 SR Pfx (idx 4) Gi0/0/0/0 99.1.11.1 2553
16005 Pop SR Pfx (idx 5) Gi0/0/0/1 99.5.11.5 0
16006 16006 SR Pfx (idx 6) Gi0/0/0/0 99.1.11.1 0
16007 16007 SR Pfx (idx 7) Gi0/0/0/0 99.1.11.1 0
16012 16012 SR Pfx (idx 12) Gi0/0/0/0 99.1.11.1 18048
16013 16013 SR Pfx (idx 13) Gi0/0/0/0 99.1.11.1 0
24000 Pop SR Adj (idx 1) Gi0/0/0/0 99.1.11.1 0
24001 Pop SR Adj (idx 3) Gi0/0/0/0 99.1.11.1 0
24002 Pop SR Adj (idx 1) Gi0/0/0/0 fe80::f816:3eff:fe8b:9b27 \
0
24003 Pop SR Adj (idx 3) Gi0/0/0/0 fe80::f816:3eff:fe8b:9b27 \
0
RP/0/0/CPU0:xrvr-11#
Verify end to end path for XR-12
RP/0/0/CPU0:xrvr-11#traceroute 1.1.1.12
Tracing the route to 1.1.1.12
1 99.1.11.1 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
2 99.1.2.2 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
3 99.2.3.3 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
4 99.3.12.12 9 msec 9 msec 9 msec
Configure Ti-LFA for IPv4 address family only on XR-11:
router isis 1
!
interface GigabitEthernet0/0/0/0
point-to-point
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
metric 500
!
!
interface GigabitEthernet0/0/0/1
point-to-point
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
metric 500
!
Once configured Ti-LFA, XR-11 will consider path via XR-5 in case failure between XR-11 and XR-1 as shown in the below topology.
Verify ISIS adjacency towards XR-1
RP/0/0/CPU0:xrvr-11#show isis adjacency systemid xrvr-1 detail
IS-IS 1 Level-2 adjacencies:
System Id Interface SNPA State Hold Changed NSF IPv4 IPv6
BFD BFD
xrvr-1 Gi0/0/0/0 *PtoP* Up 26 00:16:29 Yes None None
Area Address: 49.0001
Neighbor IPv4 Address: 99.1.11.1*
Adjacency SID: 24000 (protected) -> Adjacency SID is protected
Backup label stack: [16001] -> Adjacency SID 24000 is protected with 16001 backup
Backup stack size: 1
Backup interface: Gi0/0/0/1 -> Now backup interface is showing
Backup nexthop: 99.5.11.5 -> Next hop address is XR-5
Backup node address: 1.1.1.1 -> Backup node is XR-1
Non-FRR Adjacency SID: 24001
Neighbor IPv6 Address: fe80::f816:3eff:fe8b:9b27*
Adjacency SID: 24002 -> We have configured Ti-LFA for IPv4. Still IPv6 traffic is not protected
Non-FRR Adjacency SID: 24003
Topology: IPv4 Unicast
Topology: IPv6 Unicast
RP/0/0/CPU0:xrvr-11#
Verify Ti-LFA for XR-12 (show the below config - prefix-SID index 12)
RP/0/0/CPU0:xrvr-11#show isis fast-reroute 1.1.1.12/32 detail
L2 1.1.1.12/32 [1020/115] medium priority
via 99.1.11.1, GigabitEthernet0/0/0/0, xrvr-1, SRGB Base: 16000, Weight: 0
FRR backup via 99.5.11.5, GigabitEthernet0/0/0/1, xrvr-5, SRGB Base: 16000, Weight: 0, Metric: 1030
P: No, TM: 1030, LC: No, NP: No, D: Yes, SRLG: Yes
src xrvr-12.00-00, 1.1.1.12, prefix-SID index 12, R:0 N:1 P:0 E:0 V:0 L:0
RP/0/0/CPU0:xrvr-11#
Below output is showing that Gi0/0/0/0 is protected with Gi0/0/0/1. In case of failure of Gi0/0/0/0 link, XR-11 will add 16001 as outgoing label which is prefix sid of XR-1.
RP/0/0/CPU0:xrvr-11#show mpls forwarding labels 24000
Tue May 26 17:42:12.824 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24000 Pop SR Adj (idx 1) Gi0/0/0/0 99.1.11.1 0
16001 SR Adj (idx 1) Gi0/0/0/1 99.5.11.5 0 (!)
RP/0/0/CPU0:xrvr-11#
The above output can be cross verify by running below command.
RP/0/0/CPU0:xrvr-11#show mpls forwarding labels 24000 detail
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24000 Pop SR Adj (idx 1) Gi0/0/0/0 99.1.11.1 0
Path Flags: 0x400 [ BKUP-IDX:1 (0xa18d01fc) ]
Version: 120, Priority: 1
Label Stack (Top -> Bottom): { Imp-Null }
NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 1, Weight: 500
MAC/Encaps: 14/14, MTU: 1500
Packets Switched: 0
16001 SR Adj (idx 1) Gi0/0/0/1 99.5.11.5 0 (!)
Path Flags: 0x100 [ BKUP, NoFwd ]
Version: 120, Priority: 1
Label Stack (Top -> Bottom): { 16001 } -> Backup label
NHID: 0x0, Encap-ID: N/A, Path idx: 1, Backup path idx: 0, Weight: 500
MAC/Encaps: 14/18, MTU: 1500
Packets Switched: 0
(!): FRR pure backup
RP/0/0/CPU0:xrvr-11#
Now finally verify the forwarding plane:
RP/0/0/CPU0:xrvr-11#show cef 1.1.1.12/32 detail
1.1.1.12/32, version 112, labeled SR, internal 0x1000001 0x81 (ptr 0xa12e5a7c) [2], 0x0 (0xa12ca878), 0xa28 (0xa18b607c)
Updated May 26 15:27:01.779
local adjacency 99.1.11.1
Prefix Len 32, traffic index 0, precedence n/a, priority 1
Extensions: context-label:16012 -> Check the special label
gateway array (0xa122fdb4) reference count 21, flags 0xa00068, source rib (7), 0 backups
[8 type 5 flags 0x8401 (0xa15618c0) ext 0x0 (0x0)]
LW-LDI[type=5, refc=3, ptr=0xa12ca878, sh-ldi=0xa15618c0]
gateway array update type-time 1 May 26 15:27:01.779
via 99.1.11.1/32, GigabitEthernet0/0/0/0, 9 dependencies, weight 0, class 0, protected [flags 0x400]
path-idx 0 bkup-idx 1 NHID 0x0 [0xa18d00e4 0x0]
next hop 99.1.11.1/32
local label 16012 labels imposed {16012}
via 99.5.11.5/32, GigabitEthernet0/0/0/1, 9 dependencies, weight 0, class 0, backup (Local-LFA) [flags 0x300]
path-idx 1 NHID 0x0 [0xa15fd4a8 0x0]
next hop 99.5.11.5/32
local adjacency
local label 16012 labels imposed {16012}
Hash OK Interface Address
0 Y GigabitEthernet0/0/0/0 99.1.11.1
RP/0/0/CPU0:xrvr-11#
Now shutdown the link between XR-11 and XR-1 and check the backup path
RP/0/0/CPU0:xrvr-11#traceroute 1.1.1.12
Tracing the route to 1.1.1.12
1 99.5.11.5 [MPLS: Label 16012 Exp 0] 39 msec 9 msec 9 msec
2 99.1.5.1 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
3 99.1.2.2 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
4 99.2.3.3 [MPLS: Label 16012 Exp 0] 9 msec 9 msec 9 msec
5 99.3.12.12 9 msec 9 msec 9 msec
RP/0/0/CPU0:xrvr-11#
No comments:
Post a Comment