on 05-16-2017 01:42 PM
Segment Routing (SR) leverages the source routing and tunneling paradigms. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. A segment can represent any instruction, topological or service-based. SR allows to enforce a flow through any topological path and service chain while maintaining per-flow state only at the ingress node of the SR domain. The Segment Routing architecture can be directly applied to the MPLS dataplane with a little change on the forwarding plane. It requires minor extension to the existing link-state routing protocols. Segment Routing can also be applied to IPv6 with a new type of routing extension header.
A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack. Segment-routing MPLS data-plane operations are push, swap, and pop as per the traditional MPLS forwarding.
Following segments types are defined in segment routing
Prefix Segment
A node segment (or node SID, or N-SID) is associated with a node in the SR network, and is a globally known within the network. It represents the ECMP-aware shortest path to the node. A prefix-SID (or P-SID) represents the ECMP-aware IGP shortest path to the prefix (which is attached to one or more nodes in the network).
Adjacency Segment
An adjacency segment (or Adj-SID, or A-SID) is associated with an adjacency on a router. It is locally significant. Packets with such SID are forced to be sent over that adjacency (regardless any existing IGP paths).
The job of the SR control plane is to set up the MPLS forwarding table on each router in such a way to allow this to happen.
BGP Peering Segment
The BGP segment is a local segment signaled by BGP Link State (topology information) to a SDN controller; it is used to steer traffic onto a BGP peer or over specific links.
BGP Prefix Segment
The BGP prefix segment is a global segment signaled by BGP associated to a prefix that is used to steer traffic along the ECMP-aware shortest path to the BGP prefix.
Advatanges
IGP + LDP vs IGP (ISIS & OSPF) with SR extension
–Remove one protocol: LDP
–No LDP and IGP interaction, ex. no IGP-LDP sync required
RSVP-TE traffic engineering vs SR traffic engineering (SR TE)
–Remove one protocol: RSVP
–No RSVP state on the Routers, a much simple and scalable solution
RSVP-TE FRR, IP FRR vs SR FRR
–Simpler operation, no RSVP required, no T-LDP (for LDP FRR) required
–Topology independent sub millisecond FRR
SR architecture in IOS-XR involves multiple components and interaction between them:
Routing Information Base
RIB is Routing Information Base which consolidates routing information from different routing protocols (such as static, connected, local, IGP, BGP) to resolve routing paths for network destinations.
Label Switching Database
LSD provides the following functions
Forwarding Information Base
Bulk Content Downloader
Download forwarding information from RIB/LSD to FIB
SR global block configuration (Optional)
SRGB can be different on each router but recommended that all nodes to use the same range
router isis <instance>
segment-routing global-block 48000 56000
RP/0/RSP0/CPU0:R1#sho mpls label table application isis detail | i SRGB
(Lbl-blk SRGB, vers:0, (start_label=48000, size=8001)
Notes
Enable Segment Routing
router isis <instance> address-family ipv4 unicast segment-routing mpls
address-family ipv6 unicast
segment-routing mpls
RP/0/RSP0/CPU0:R1#sh mpls interfaces
Interface LDP Tunnel Static Enabled
-------------------------- -------- -------- -------- --------
Bundle-Ether13 No No No Yes
Bundle-Ether23 No No No Yes
Bundle-Ether34 No No No Yes
TenGigE0/2/0/8 No No No Yes
What does this command do ?
SR-Capabilities sub-TLV
SR data-plane capability and label ranges are advertied using SR-Capability sub TLV
Type |
Length |
Flags |
Range |
|||||||
I |
V |
H |
||||||||
SID/Label Sub-TLV |
Type: 2
Flags:
I - MPLS IPv4 flag
V - MPLS IPv6 flag
H - SR-IPv6 flag
Range : SRGB range
SID/Label sub-TLV : Starting lable of SRGB
Adjacency-SID sub-TLV
Locally significant between neighbors
Automatically allocated for each adjacency
Different Adjacency-SID for L1 and L2 adjacencies between same neighbors
Advertised from dynamic label pool range, Always encoded as an absolute (i.e. not indexed) value
Type |
Length |
Flags |
Weight |
|||||||
F |
B |
V |
L |
S |
||||||
SID/Label |
Type : 31
Flags
F: Address-Family, unset: IPv4, set: IPv6 (0 = IPv4)
B: Backup, adjacency being protected or not
V: Value, always set, Adj-SID carries a value
L: Local, always set , Adj-SID has local significance
S: always unset, Adj-SID refers to a set of adjacencies
Weight: The value represents the weight of the Adj-SID for the purpose of load balancing.
Configure Node-SID
Local node-SID Configuration
router isis core interface Loopback0 address-family ipv4 unicast prefix-sid index/absolute <ipv4 value>
address-family ipv6 unicast
prefix-sid index/absolute <ipv6 value>
What does this command do ?
Prefix-SID Sub-TLV
Type |
Length |
Flags |
Algorithm |
|||||||
R |
N |
P |
E |
V |
L |
|||||
SID/Label |
Type : 3
Flags
R: Re-advertisement, set if the prefix is propagated from another level or from redistribution
N: Node-SID, set if the prefix-SID is a node-SID
P: no-PHP, set if the penultimate hop must NOT pop the prefix-SID before forwarding the packet
E: Explicit-Null, set if penultimate hop must replace prefix-SID with Explicit-Null label
V: Value, set if prefix-SID carries a value (not an index)
L: Local, set if prefix-SID has local significance
Algotithm : Identify the algorithm to which the prefix-SID is associated (currently "0", SPF based)
Notes
SR Mapping Server (SRMS)
Mapping Server centrally assigns prefix-SIDs for some or all of the known prefixes. A router must be able to act as a mapping server, mapping client, or both. Main functions
Mapping server
Mapping client:
SRMS restrictions
segment-routing
mapping-server
prefix-sid-map
address-family ipv4
1.0.0.0/30 1000 range 1000 --> Allocate prefix sids for 1000 prefixes starting from 1.0.0.0/30
40.0.0.0/30 2001 range 4000
100.0.0.0/24 6001 range 2000
110.0.0.0/24 8001 range 1000
!
address-family ipv6
5000:1::/120 16000 range 4000
5000:3::/120 20001 range 4000
!
!
RP/0/RSP0/CPU0:R1#sho segment-routing mapping-server prefix-sid-map ipv4
Mon May 2 22:01:57.771 PDT
Prefix SID Index Range Flags
100.0.0.0/24 6001 2000
110.0.0.0/24 8001 1000
1.0.0.0/30 1000 1000
40.0.0.0/30 2001 4000
Number of mapping entries: 4
RP/0/RSP0/CPU0:R1#sho segment-routing mapping-server prefix-sid-map ipv6
Mon May 2 22:01:58.796 PDT
Prefix SID Index Range Flags
5000:1::/120 16000 4000
5000:3::/120 20001 4000
Number of mapping entries: 2
RP/0/RSP0/CPU0:R1#
R1 Configuration
Loopback Config
interface Loopback0 ipv4 address 1.1.1.1 255.255.255.255 ipv6 address 2002:1:1:1::1/128 ! ISIS config
router isis core set-overload-bit on-startup wait-for-bgp is-type level-2-only net 39.752f.0100.0014.0000.9000.0001.0000.0000.a19d.00 segment-routing global-block 100000 132000 ---> overwrite default SRGB nsr nsf cisco log adjacency changes address-family ipv4 unicast metric-style wide redistribute connected segment-routing mpls ---> enable segment routing segment-routing prefix-sid-map advertise-local -- > mapping server advertisements ! address-family ipv6 unicast single-topology adjacency-check disable segment-routing mpls segment-routing prefix-sid-map advertise-local ! interface Bundle-Ether12 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast ! interface Bundle-Ether13 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast ! interface Bundle-Ether20 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast interface Loopback0 passive circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes address-family ipv4 unicast ---> Nodal-SID config prefix-sid index 1 ! address-family ipv6 unicast prefix-sid index 11 ! ! interface TenGigE0/0/0/0/1 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast ! Mapping server config
segment-routing global-block 48000 56000 mapping-server prefix-sid-map address-family ipv4 1.0.0.0/30 1000 range 1000 40.0.0.0/30 2001 range 4000 ! address-family ipv6 5000:1::/120 16000 range 4000 5000:3::/120 20001 range 4000 ! !
R2 Configuration
Loopback config
interface Loopback0 ipv4 address 2.2.2.2 255.255.255.255 ipv6 address 2002:2:2:2::1/128 !
ISIS config router isis core is-type level-2-only net 39.752f.0100.0014.0000.9000.0002.0000.0000.a19e.00 log adjacency changes address-family ipv4 unicast metric-style wide fast-reroute per-link use-candidate-only propagate level 2 into level 1 route-policy PASS segment-routing mpls segment-routing prefix-sid-map receive ---> Mapping server client ! address-family ipv6 unicast single-topology segment-routing mpls segment-routing prefix-sid-map receive ! interface Bundle-Ether12 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast ! ! interface Bundle-Ether23 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast ! address-family ipv6 unicast ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 2 ! address-family ipv6 unicast prefix-sid index 12 ! !
R3 Configuration
Loopback config
interface Loopback0 ipv4 address 3.3.3.3 255.255.255.255 ipv6 address 2002:3:3:3::3/128 ! ISIS config router isis core is-type level-2-only net 39.752f.0100.0014.0000.9000.0002.0000.0000.a199.00 log adjacency changes lsp-refresh-interval 3283 max-lsp-lifetime 3600 address-family ipv4 unicast metric-style wide fast-reroute per-link use-candidate-only metric 16777214 propagate level 2 into level 1 route-policy PASS segment-routing mpls
segment-routing prefix-sid-map receive ! address-family ipv6 unicast single-topology segment-routing mpls segment-routing prefix-sid-map receive ! interface Bundle-Ether23 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast metric 10 ! address-family ipv6 unicast metric 10 ! ! interface Bundle-Ether34 circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes address-family ipv4 unicast metric 10 ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 3 ! address-family ipv6 unicast prefix-sid index 13 ! !
R4 Configuration
Looback Config
interface Loopback0 ipv4 address 4.4.4.4 255.255.255.255 ipv6 address 2002:4:4:4::4/128 !
ISIS Config
router isis core is-type level-2-only net 39.752f.0100.0014.0000.9000.0002.0000.0000.a19b.00 segment-routing global-block 64000 96000 log adjacency changes address-family ipv4 unicast metric-style wide fast-reroute per-link use-candidate-only segment-routing mpls segment-routing prefix-sid-map receive ! address-family ipv6 unicast single-topology segment-routing mpls segment-routing prefix-sid-map receive ! interface Bundle-Ether34 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast metric 10 ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 4 ! address-family ipv6 unicast prefix-sid index 14 ! ! interface TenGigE0/3/0/12 circuit-type level-2-only point-to-point hello-padding sometimes address-family ipv4 unicast metric 10 ! address-family ipv6 unicast metric 10 ! !
Show Command Verification
RP/0/RSP0/CPU0:R1#show isis adjacency detail IS-IS core Level-2 adjacencies: System Id Interface SNPA State Hold Changed NSF IPv4 IPv6 BFD BFD Spirent-1 Te0/0/0/0/1 *PtoP* Up 27 22:48:57 No None None Area Address: 00.0001 Neighbor IPv4 Address: 110.0.2.2* Adjacency SID: 72040 ----> Adjacency SIDs allocated from dynamic pool Non-FRR Adjacency SID: 72041 Neighbor IPv6 Address: fe80::1:1* Adjacency SID: 24004 Non-FRR Adjacency SID: 24005 Topology: IPv4 Unicast Topology: IPv6 Unicast Chkpt ID: 0x40002bf8 R2 BE12 *PtoP* Up 4 22:38:51 Yes Init None Area Address: 39.752f.0100.0014.0000.9000.0002 Neighbor IPv4 Address: 12.0.0.1* Adjacency SID: 72036 Non-FRR Adjacency SID: 72037 Neighbor IPv6 Address: fe80::226:98ff:fe00:52d7* Adjacency SID: 24008 Non-FRR Adjacency SID: 24009 Topology: IPv4 Unicast Topology: IPv6 Unicast Chkpt ID: 0x40002e78 RP/0/RSP0/CPU0:R1# show isis database detail verbose R2 Sun May 1 18:51:27.794 PDT IS-IS core (Level-2) Link State Database LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL R2.00-00 0x00000068 0xcd50 813 0/0/0 Area Address: 39.752f.0100.0014.0000.9000.0002 NLPID: 0xcc NLPID: 0x8e Hostname: R2 IP Address: 2.2.2.2 IPv6 Address: 2002:2:2:2::1 Router Cap: 2.2.2.2, D:0, S:0 Segment Routing: I:1 V:1, SRGB Base: 100000 Range: 32001 --> Capability Sub TLV :- SRGB block and the I(IPv4) and V(IPv6) flag Metric: 10 IS-Extended R3.00 Interface IP Address: 23.0.0.1 Neighbor IP Address: 23.0.0.2 Interface IPv6 Address: 2300::1 Neighbor IPv6 Address: 2300::2 ADJ-SID: F:0 B:1 V:1 L:1 S:0 weight:0 Adjacency-sid:24002 --> Adj Sub TLV:- Weight, Label and Flags (F=AF,B=backup,V=Value,L=Local,S=Set) ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24003 ADJ-SID: F:1 B:1 V:1 L:1 S:0 weight:0 Adjacency-sid:24004 ADJ-SID: F:1 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24005
Metric: 10 IS-Extended R1.00 Interface IP Address: 12.0.0.1 Neighbor IP Address: 12.0.0.2 Interface IPv6 Address: 1000::2 Neighbor IPv6 Address: 1000::1 ADJ-SID: F:0 B:1 V:1 L:1 S:0 weight:0 Adjacency-sid:24000 ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24001 ADJ-SID: F:1 B:1 V:1 L:1 S:0 weight:0 Adjacency-sid:24006 ADJ-SID: F:1 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24007 Metric: 16777214 IP-Extended 2.2.2.2/32 Prefix-SID Index: 2, Algorithm:0, R:0 N:1 P:0 E:0 V:0 L:0 --> Prefix-SID Sub TLV:- Label, Algorithm(0=SPF) and Flags(R=Readvertisement,N=Node-SID,P=no-PHP,E=Explicit-Null,L=Local,V=Value) Metric: 10 IP-Extended 12.0.0.0/30 Metric: 10 IP-Extended 23.0.0.0/30 Metric: 10 IPv6 1000::/96 Metric: 10 IPv6 2002:2:2:2::1/128 Prefix-SID Index: 12, Algorithm:0, R:0 N:1 P:0 E:0 V:0 L:0 Metric: 10 IPv6 2300::/126 Total Level-2 LSP count: 1 Local Level-2 LSP count: 0 RP/0/RSP0/CPU0:R1#show mpls lsd forwarding application isis --> All allocated Adj SIDs In_Label, (ID), Path_Info: <Type> 24000, (SR Adj Segment IPv6, index=1, type=0, intf=Te0/0/0/0/0, nh=fe80::1), 1 Paths 1/1: IPv6, 'default':6U, Te0/0/0/0/0, nh=Link-local, lbl=Pop, flags=0x0 () 24001, (SR Adj Segment IPv6, index=3, type=0, intf=Te0/0/0/0/0, nh=fe80::1), 1 Paths 1/1: IPv6, 'default':6U, Te0/0/0/0/0, nh=Link-local, lbl=Pop, flags=0x0 () 24002, (SR Adj Segment IPv6, index=1, type=0, intf=Hu0/1/0/0, nh=fe80::6:1), 1 Paths 1/1: IPv6, 'default':6U, Hu0/1/0/0, nh=Link-local, lbl=Pop, flags=0x0 () 24003, (SR Adj Segment IPv6, index=3, type=0, intf=Hu0/1/0/0, nh=fe80::6:1), 1 Paths 1/1: IPv6, 'default':6U, Hu0/1/0/0, nh=Link-local, lbl=Pop, flags=0x0 () 24004, (SR Adj Segment IPv6, index=1, type=0, intf=Te0/0/0/0/1, nh=fe80::1:1), 1 Paths 1/1: IPv6, 'default':6U, Te0/0/0/0/1, nh=Link-local, lbl=Pop, flags=0x0 () 24005, (SR Adj Segment IPv6, index=3, type=0, intf=Te0/0/0/0/1, nh=fe80::1:1), 1 Paths 1/1: IPv6, 'default':6U, Te0/0/0/0/1, nh=Link-local, lbl=Pop, flags=0x0 () 24006, (SR Adj Segment IPv6, index=1, type=0, intf=Hu0/1/0/1, nh=fe80::7:1), 1 Paths 1/1: IPv6, 'default':6U, Hu0/1/0/1, nh=Link-local, lbl=Pop, flags=0x0 () 24007, (SR Adj Segment IPv6, index=3, type=0, intf=Hu0/1/0/1, nh=fe80::7:1), 1 Paths 1/1: IPv6, 'default':6U, Hu0/1/0/1, nh=Link-local, lbl=Pop, flags=0x0 () 24008, (SR Adj Segment IPv6, index=1, type=0, intf=BE12, nh=fe80::226:98ff:fe00:52d7), 1 Paths 1/1: IPv6, 'default':6U, BE12, nh=Link-local, lbl=Pop, flags=0x0 () 24009, (SR Adj Segment IPv6, index=3, type=0, intf=BE12, nh=fe80::226:98ff:fe00:52d7), 1 Paths 1/1: IPv6, 'default':6U, BE12, nh=Link-local, lbl=Pop, flags=0x0 () 72029, (SR Adj Segment IPv4, index=1, type=0, intf=Hu0/1/0/0, nh=110.0.7.2), 1 Paths 1/1: IPv4, 'default':4U, Hu0/1/0/0, nh=110.0.7.2, lbl=Pop, flags=0x0, ext_flags=0x0 72030, (SR Adj Segment IPv4, index=3, type=0, intf=Hu0/1/0/0, nh=110.0.7.2), 1 Paths 1/1: IPv4, 'default':4U, Hu0/1/0/0, nh=110.0.7.2, lbl=Pop, flags=0x0, ext_flags=0x0 72031, (SR Adj Segment IPv4, index=1, type=0, intf=Hu0/1/0/1, nh=110.0.8.2), 1 Paths 1/1: IPv4, 'default':4U, Hu0/1/0/1, nh=110.0.8.2, lbl=Pop, flags=0x0, ext_flags=0x0 72032, (SR Adj Segment IPv4, index=3, type=0, intf=Hu0/1/0/1, nh=110.0.8.2), 1 Paths 1/1: IPv4, 'default':4U, Hu0/1/0/1, nh=110.0.8.2, lbl=Pop, flags=0x0, ext_flags=0x0 72036, (SR Adj Segment IPv4, index=1, type=0, intf=BE12, nh=12.0.0.1), 1 Paths 1/1: IPv4, 'default':4U, BE12, nh=12.0.0.1, lbl=Pop, flags=0x0, ext_flags=0x0 72037, (SR Adj Segment IPv4, index=3, type=0, intf=BE12, nh=12.0.0.1), 1 Paths 1/1: IPv4, 'default':4U, BE12, nh=12.0.0.1, lbl=Pop, flags=0x0, ext_flags=0x0 72038, (SR Adj Segment IPv4, index=1, type=0, intf=Te0/0/0/0/0, nh=110.0.1.2), 1 Paths 1/1: IPv4, 'default':4U, Te0/0/0/0/0, nh=110.0.1.2, lbl=Pop, flags=0x0, ext_flags=0x0 72039, (SR Adj Segment IPv4, index=3, type=0, intf=Te0/0/0/0/0, nh=110.0.1.2), 1 Paths 1/1: IPv4, 'default':4U, Te0/0/0/0/0, nh=110.0.1.2, lbl=Pop, flags=0x0, ext_flags=0x0 72040, (SR Adj Segment IPv4, index=1, type=0, intf=Te0/0/0/0/1, nh=110.0.2.2), 1 Paths 1/1: IPv4, 'default':4U, Te0/0/0/0/1, nh=110.0.2.2, lbl=Pop, flags=0x0, ext_flags=0x0 72041, (SR Adj Segment IPv4, index=3, type=0, intf=Te0/0/0/0/1, nh=110.0.2.2), 1 Paths 1/1: IPv4, 'default':4U, Te0/0/0/0/1, nh=110.0.2.2, lbl=Pop, flags=0x0, ext_flags=0x0
RP/0/RSP0/CPU0:R1#sho segment-routing mapping-server prefix-sid-map ipv4 detail
Mon May 2 22:10:28.994 PDT
Prefix
100.0.0.0/24
SID Index: 6001
Range: 2000
Last Prefix: 100.7.207.0/24
Last SID Index: 8000
Flags:
110.0.0.0/24
SID Index: 8001
Range: 1000
Last Prefix: 110.3.231.0/24
Last SID Index: 9000
Flags:
1.0.0.0/30
SID Index: 1000
Range: 1000
Last Prefix: 1.0.15.156/30
Last SID Index: 1999
Flags:
40.0.0.0/30
SID Index: 2001
Range: 4000
Last Prefix: 40.0.62.124/30
Last SID Index: 6000
Flags:
Number of mapping entries: 4
RP/0/RSP0/CPU0:R1#show route 40.0.0.0/30 detail Sun May 1 18:54:09.411 PDT Routing entry for 40.0.0.0/30 Known via "isis core", distance 115, metric 41, labeled SR(SRMS), type level-2 Installed May 1 17:23:18.280 for 01:30:51 Routing Descriptor Blocks 12.0.0.1, from 110.0.3.2, via Bundle-Ether12 Route metric is 41 Label: 0x18e71 (102001) Tunnel ID: None Binding Label: None Extended communities count: 0 Path id:1 Path ref count:0 NHID:0xa(Ref:1010) Route version is 0x30 (48) Local Label: 0x18e71 (102001) IP Precedence: Not Set QoS Group ID: Not Set Flow-tag: Not Set Fwd-class: Not Set Route Priority: RIB_PRIORITY_NON_RECURSIVE_LOW (8) SVD Type RIB_SVD_TYPE_LOCAL Download Priority 2, Download Version 86491 No advertising protos.
RP/0/RSP0/CPU0:R1#show cef 40.0.0.0/30 detail Sun May 1 18:54:15.020 PDT 40.0.0.0/30, version 86491, internal 0x1000001 0x81 (ptr 0x761024c0) [1], 0x0 (0x7211a9f8), 0xa28 (0x72332430) Updated May 1 17:23:18.465 Prefix Len 30, traffic index 0, precedence n/a, priority 2 gateway array (0x71ff7ea8) reference count 3018, flags 0x68, source rib (7), 0 backups [1007 type 5 flags 0x8401 (0x7235d150) ext 0x0 (0x0)] LW-LDI[type=5, refc=3, ptr=0x7211a9f8, sh-ldi=0x7235d150] gateway array update type-time 1 May 1 17:15:47.628 LDI Update time May 1 17:15:47.628 LW-LDI-TS May 1 17:23:18.465 via 12.0.0.1/32, Bundle-Ether12, 6 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0x71a71b54 0x0] next hop 12.0.0.1/32 local adjacency local label 102001 labels imposed {102001} Load distribution: 0 (refcount 1007) Hash OK Interface Address 0 Y Bundle-Ether12 12.0.0.1
RP/0/RSP0/CPU0:R1#show mpls forwarding prefix ipv4 unicast 40.0.0.0/30 detail Sun May 1 18:54:37.213 PDT Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 102001 102001 SR Pfx (idx 2001) BE12 12.0.0.1 22325237 Updated: May 1 17:23:18.466 Version: 86491, Priority: 2 Label Stack (Top -> Bottom): { 102001 } NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0 MAC/Encaps: 14/18, MTU: 1500 Packets Switched: 28482 Traffic-Matrix Packets/Bytes Switched: 0/0
RP/0/RSP0/CPU0:R1#sho mpls forwarding labels 102001 detail Sun May 1 18:54:50.865 PDT Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 102001 102001 SR Pfx (idx 2001) BE12 12.0.0.1 22440454 Updated: May 1 17:23:18.466 Version: 86491, Priority: 2 Label Stack (Top -> Bottom): { 102001 } NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0 MAC/Encaps: 14/18, MTU: 1500 Packets Switched: 28632 Traffic-Matrix Packets/Bytes Switched: 0/0 RP/0/RSP0/CPU0:R1#show cef 40.0.0.0/30 hardware egress detail location 0/0/CPU0 Sun May 1 18:55:27.655 PDT 40.0.0.0/30, version 86491, internal 0x1000001 0x81 (ptr 0x5717fb84) [1], 0x0 (0x57ef36ac), 0xa28 (0x5b497e90) Updated May 1 17:23:18.482 local adjacency 12.0.0.1 Prefix Len 30, traffic index 0, precedence n/a, priority 2 gateway array (0x56eb0fa0) reference count 3018, flags 0x68, source rib (7), 0 backups [1007 type 5 flags 0x8401 (0x5b0747d4) ext 0x0 (0x0)] LW-LDI[type=5, refc=3, ptr=0x57ef36ac, sh-ldi=0x5b0747d4] gateway array update type-time 1 May 1 17:15:47.642 LDI Update time May 1 17:15:47.642 LW-LDI-TS May 1 17:23:18.482 via 12.0.0.1/32, Bundle-Ether12, 7 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0xa [0x5b9f6a78 0x0] next hop 12.0.0.1/32 local adjacency local label 102001 labels imposed {102001} LEAF - HAL pd context : sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0 collapse_bwalk_required:0, ecdv2_marked:0 Leaf H/W Result: Physical Result: 0x11703800 (LE) Raw Data0: 0x11830003 c33d0000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x3dc3(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 lisp_eid_sample: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0 Physical Result: 0x11703800 (LE) Raw Data0: 0x11830003 c33d0000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x3dc3(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 lisp_eid_sample: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0l2tpv3ov6_de_cookie_lo: 0x0 l2tpv3ov6_leaf_adj: 0x0 urpf_ptr: 0x0 nrLDI eng ctx: flags: 0x1, proto: 2, npaths: 0, nbuckets: 1 ldi_tbl_idx: 0x3dc3, ecd_ref_cft: 0 pbts_ldi_tbl_idx: 0x0, fastnrldi:0x0 fastpbts:0x0 NR-LDI H/W Result for path 0 [index: 0x3dc3 (BE), common to all NPs]: Raw Data0: 0x11520cff cd33008a 00000a00 0418e711 Raw Data1: 0x18e71102 000f98fe c6200000 00000000 ldi_resolve_control_byte0: bvi: 0 pbts: 0 match: 1 valid: 1 ldi_collapsed: 0 ldi_resolve_control_byte1: mldp_sr_te_ldi_mod_tbl: 0 default_action: 1 sr_te_lspa_valid: 0 te_IpFrr_adj: 0 label_1_valid: 1 sr_te_ldi_or_lspa: 0 local_label_valid: 1 ldpBkup_label_valid: 0 ldi_resolve_control_byte2: dm_stats_valid: 1 pwhe_nrldi: 0 nh_id_valid: 1 ipldp_FRR_TE: 0 bvi: 0 np_bit_map: 0xff label_stats_index: 0xc6fe98 igp_local_label: 102001 exp: 0 eos: 1 output_label: 102001 exp: 0 eos: 1 Adj (non_te): tx_adj_ptr: 0x33cd(LE) rx_adj_ptr: 0x8a(LE) nhindex: 0x4000a(LE) TX H/W Result for NP:0 (index: 0x33cd (BE)): Raw Data0: 0x11040000 9800dc05 5c97c600 00000000 Raw Data1: 0x00269800 52d70000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x98 (LE) l3_mtu : 1500 adj_stats_index : 0xc6975c dest_mac : 0x0026.9800.52d7 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339312 exp: 0 eos: 0 NHINDEX H/W Result for NP:0 (index: 0x4000a (BE)): Physical Result: 0x110800009800dc055c9bc600000000000026980052d702000f20000000000000 (LE) NHINDEX STATS: pkts 28927000, bytes 22735085186 (all NPs combined) TX H/W Result for NP:1 (index: 0x33cd (BE)): Raw Data0: 0x11040000 9800dc05 9d90c600 00000000 Raw Data1: 0x00269800 52d70000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x98 (LE) l3_mtu : 1500 adj_stats_index : 0xc6909d dest_mac : 0x0026.9800.52d7 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339312 exp: 0 eos: 0 NHINDEX H/W Result for NP:1 (index: 0x4000a (BE)): Physical Result: 0x110800009800dc051d93c600000000000026980052d702000f20000000000000 (LE) NHINDEX STATS: pkts 28927000, bytes 22735085186 (all NPs combined) TX H/W Result for NP:2 (index: 0x33cd (BE)): Raw Data0: 0x11040000 9800dc05 9d90c600 00000000 Raw Data1: 0x00269800 52d70000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x98 (LE) l3_mtu : 1500 adj_stats_index : 0xc6909d dest_mac : 0x0026.9800.52d7 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339312 exp: 0 eos: 0 NHINDEX H/W Result for NP:2 (index: 0x4000a (BE)): Physical Result: 0x110800009800dc051d93c600000000000026980052d702000f20000000000000 (LE) NHINDEX STATS: pkts 28927000, bytes 22735085186 (all NPs combined) TX H/W Result for NP:3 (index: 0x33cd (BE)): Raw Data0: 0x11040000 9800dc05 9d90c600 00000000 Raw Data1: 0x00269800 52d70000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x98 (LE) l3_mtu : 1500 adj_stats_index : 0xc6909d dest_mac : 0x0026.9800.52d7 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339312 exp: 0 eos: 0 NHINDEX H/W Result for NP:3 (index: 0x4000a (BE)): Physical Result: 0x110800009800dc051d93c600000000000026980052d702000f20000000000000 (LE) NHINDEX STATS: pkts 28927000, bytes 22735085186 (all NPs combined) RX H/W Result on NP:0 [Adj ptr:0x8a (BE)]: Raw Data0: 0x91010000 00000b00 02000f20 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000f20 RX H/W Result on NP:1 [Adj ptr:0x8a (BE)]: Raw Data0: 0x91010000 00000b00 02000f20 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000f20 RX H/W Result on NP:2 [Adj ptr:0x8a (BE)]: Raw Data0: 0x91010000 00000b00 02000f20 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000f20 RX H/W Result on NP:3 [Adj ptr:0x8a (BE)]: Raw Data0: 0x91010000 00000b00 02000f20 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000f20 Load distribution: 0 (refcount 1007) Hash OK Interface Address 0 Y Bundle-Ether12 12.0.0.1
R1 Configuration
router ospf core router-id 1.1.1.1 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls segment-routing prefix-sid-map advertise-local redistribute connected area 0 interface Bundle-Ether12 ! interface Loopback0 prefix-sid index 1 ! interface TenGigE0/0/0/0/0 ! interface TenGigE0/0/0/0/1 ! interface HundredGigE0/1/0/0 ! interface HundredGigE0/1/0/1 ! interface HundredGigE0/1/0/2
R2 Configuration
router ospf core router-id 2.2.2.2 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls redistribute connected address-family ipv4 area 0 interface Bundle-Ether12 ! interface Bundle-Ether23 ! interface Loopback0 prefix-sid index 2 !
R3 Configuration
router ospf core router-id 3.3.3.3 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls redistribute connected address-family ipv4 area 0 interface Bundle-Ether23 ! interface Bundle-Ether34 ! interface Loopback0 prefix-sid index 3 !
R4 Configuration
router ospf core router-id 4.4.4.4 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls redistribute connected address-family ipv4 area 0 interface Bundle-Ether34 ! interface Loopback0 prefix-sid index 4 ! interface TenGigE0/3/0/12 ! interface TenGigE0/3/0/13 !
Show Command Verification
Listing only OSPF specific commands
RP/0/RSP0/CPU0:R1#show ospf database opaque-area self-originate OSPF Router with ID (1.1.1.1) (Process ID core) Type-10 Opaque Link Area Link States (Area 0) LS age: 501 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 4.0.0.0 Opaque Type: 4 Opaque ID: 0 Advertising Router: 1.1.1.1 LS Seq Number: 80000006 Checksum: 0xbcfd Length: 52 Router Information TLV: Length: 4 Capabilities: Graceful Restart Helper Capable Stub Router Capable All capability bits: 0x60000000 Segment Routing Algorithm TLV: Length: 2 Algorithm: 0 Algorithm: 1 Segment Routing Range TLV: Length: 12 Range Size: 32001 SID sub-TLV: Length 3 Label: 200000 LS age: 501 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 7.0.0.1 Opaque Type: 7 Opaque ID: 1 Advertising Router: 1.1.1.1 LS Seq Number: 80000006 Checksum: 0xdbb5 Length: 44 Extended Prefix TLV: Length: 20 Route-type: 1 AF : 0 Flags : 0x40 Prefix : 1.1.1.1/32 SID sub-TLV: Length: 8 Flags : 0x0 MTID : 0 Algo : 0 SID Index : 1 LS age: 1005 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 7.0.0.2 Opaque Type: 7 Opaque ID: 2 Advertising Router: 1.1.1.1 LS Seq Number: 80000005 Checksum: 0xaaec Length: 48 Extended Prefix Range TLV: Length: 24 AF : 0 Prefix : 1.0.0.0/30 Range Size: 1000 Flags : 0x0 SID sub-TLV: Length: 8 Flags : 0x60 MTID : 0 Algo : 0 SID Index : 1000 LS age: 1005 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 7.0.0.3 Opaque Type: 7 Opaque ID: 3 Advertising Router: 1.1.1.1 LS Seq Number: 80000005 Checksum: 0x4579 Length: 48 Extended Prefix Range TLV: Length: 24 AF : 0 Prefix : 40.0.0.0/30 Range Size: 4000 Flags : 0x0 SID sub-TLV: Length: 8 Flags : 0x60 MTID : 0 Algo : 0 SID Index : 2001 LS age: 1005 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 7.0.0.4 Opaque Type: 7 Opaque ID: 4 Advertising Router: 1.1.1.1 LS Seq Number: 80000005 Checksum: 0xb8f6 Length: 48 Extended Prefix Range TLV: Length: 24 AF : 0 Prefix : 100.0.0.0/24 Range Size: 2000 Flags : 0x0 SID sub-TLV: Length: 8 Flags : 0x60 MTID : 0 Algo : 0 SID Index : 6001 LS age: 1005 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 7.0.0.5 Opaque Type: 7 Opaque ID: 5 Advertising Router: 1.1.1.1 LS Seq Number: 80000005 Checksum: 0x5563 Length: 48 Extended Prefix Range TLV: Length: 24 AF : 0 Prefix : 110.0.0.0/24 Range Size: 1000 Flags : 0x0 SID sub-TLV: Length: 8 Flags : 0x60 MTID : 0 Algo : 0 SID Index : 8001 LS age: 501 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 8.0.0.21 Opaque Type: 8 Opaque ID: 21 Advertising Router: 1.1.1.1 LS Seq Number: 80000007 Checksum: 0x33d6 Length: 60 Extended Link TLV: Length: 36 Link-type : 2 Link ID : 12.0.0.1 Link Data : 12.0.0.2 Adj sub-TLV: Length: 7 Flags : 0xe0 MTID : 0 Weight : 0 Label : 24010 Adj sub-TLV: Length: 7 Flags : 0x60 MTID : 0 Weight : 0 Label : 24011 LS age: 501 Options: (No TOS-capability, DC) LS Type: Opaque Area Link Link State ID: 8.0.3.46 Opaque Type: 8 Opaque ID: 814 Advertising Router: 1.1.1.1 LS Seq Number: 80000007 Checksum: 0x7f82 Length: 68 Extended Link TLV: Length: 44 Link-type : 2 Link ID : 110.0.2.1 Link Data : 110.0.2.1 LAN Adj sub-TLV: Length: 11 Flags : 0xe0 MTID : 0 Weight : 0 Neighbor ID: 192.0.0.55 Label : 24023 LAN Adj sub-TLV: Length: 11 Flags : 0x60 MTID : 0 Weight : 0 Neighbor ID: 192.0.0.55 Label : 24024
There are two ways to carry SR labels in BGP
In order to demostrate we are using "route-policy" way in eBGP and redustrbution method in IBGP example shown below
Note : In XR RIB complains label add error if we try to allocate different labels from different protocols for the same prefix, so be careful when we use redistribution.
R1 Configuration
sh run router bg router bgp 10 bgp router-id 1.1.1.1 mpls activate interface Bundle-Ether12 ! bgp graceful-restart bgp log neighbor changes detail bgp bestpath med always bgp bestpath compare-routerid ibgp policy out enforce-modifications bgp bestpath as-path multipath-relax address-family ipv4 unicast network 1.1.1.1/32 route-policy SET(1001) allocate-label all ! neighbor 12.0.0.1 remote-as 20 address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! route-policy SET($sid) set label-index $sid end-policy ! RP/0/RSP0/CPU0:PE1#sh run router static router static address-family ipv4 unicast 0.0.0.0/0 1.81.0.1 12.0.0.1/32 Bundle-Ether12 100.0.0.0/24 110.0.1.2 110.0.20.0/24 110.0.1.2 110.0.100.0/24 110.0.1.2 223.255.254.0/24 1.81.0.1
R2 Configuration
router bgp 20 bgp router-id 2.2.2.2 mpls activate interface Bundle-Ether12 interface Bundle-Ether23 ! bgp graceful-restart bgp log neighbor changes detail bgp bestpath med always bgp bestpath compare-routerid ibgp policy out enforce-modifications bgp bestpath as-path multipath-relax address-family ipv4 unicast allocate-label all ! neighbor 12.0.0.2 remote-as 10 address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! neighbor 23.0.0.2 remote-as 30 address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! ! RP/0/RSP1/CPU0:P2# RP/0/RSP1/CPU0:Jul 23 03:18:48.372 : ce_switch_srv[54]: %PLATFORM-VKG_SERDES-3-OPERATION_FAIL : Failed to Heart beat failed, error code Bad address RP/0/RSP1/CPU0:P2#sh run router static router static address-family ipv4 unicast 0.0.0.0/0 1.80.0.1 12.0.0.2/32 Bundle-Ether12 23.0.0.2/32 Bundle-Ether23 223.255.0.0/16 1.80.0.1 !
R3 Configuration
router bgp 30 bgp router-id 3.3.3.3 bgp graceful-restart bgp log neighbor changes detail bgp bestpath med always bgp bestpath compare-routerid ibgp policy out enforce-modifications bgp bestpath as-path multipath-relax address-family ipv4 unicast allocate-label all ! neighbor 23.0.0.1 remote-as 20 graceful-restart address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! neighbor 34.0.0.1 remote-as 40 address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! ! RP/0/RSP0/CPU0:P3# sh run router static router static address-family ipv4 unicast 23.0.0.1/32 Bundle-Ether23 34.0.0.1/32 Bundle-Ether34 223.255.0.0/16 1.80.0.1 !
R4 Configuration
router bgp 40 bgp router-id 4.4.4.4 mpls activate interface Bundle-Ether34 ! bgp graceful-restart bgp log neighbor changes detail bgp bestpath med always bgp bestpath compare-routerid ibgp policy out enforce-modifications bgp bestpath as-path multipath-relax address-family ipv4 unicast network 4.4.4.4/32 route-policy SET(1004) allocate-label all ! neighbor 34.0.0.2 remote-as 30 graceful-restart address-family ipv4 labeled-unicast route-policy PASS in route-policy PASS out ! ! ! RP/0/RSP0/CPU0:PE4# sh run router static router static address-family ipv4 unicast 0.0.0.0/0 1.80.0.1 10.1.0.0/24 4.4.4.4 34.0.0.2/32 Bundle-Ether34 ! ! RP/0/RSP0/CPU0:PE4#sh run segment-routing segment-routing global-block 200000 232000 mapping-server prefix-sid-map address-family ipv4 1.0.0.0/30 1000 range 4000 11.0.0.0/30 9001 range 4000 40.0.0.0/30 5001 range 4000 110.0.0.0/24 500 range 100 ! address-family ipv6 5000:1::/120 16000 range 4000 5000:3::/120 30000 range 8000 ! !
Verification
RP/0/RSP0/CPU0:PE1#sh bgp 1.1.1.1/32 BGP routing table entry for 1.1.1.1/32 Versions: Process bRIB/RIB SendTblVer Speaker 20 20 Local Label: 3 Last Modified: Jul 21 00:36:31.206 for 1d09h Paths: (1 available, best #1) Advertised to peers (in unique update groups): 12.0.0.1 Path #1: Received by speaker 0 Advertised to peers (in unique update groups): 12.0.0.1 Local 0.0.0.0 from 0.0.0.0 (1.1.1.1) Origin IGP, metric 0, localpref 100, weight 32768, valid, local, best, group-best Received Path ID 0, Local Path ID 0, version 20 Prefix SID Attribute Size: 10 Label Index: 1001 RP/0/RSP0/CPU0:PE1#sho cef 1.1.1.1/32 1.1.1.1/32, version 6, attached, receive Updated Jul 18 23:44:34.752 Prefix Len 32 internal 0x3006041 (ptr 0x721bd2e8) [3], 0x0 (0x7215aa90), 0x0 (0x0) RP/0/RSP0/CPU0:PE4#sh bgp 1.1.1.1/32 BGP routing table entry for 1.1.1.1/32 Versions: Process bRIB/RIB SendTblVer Speaker 31 31 Local Label: 201001 Last Modified: Jul 21 20:13:50.917 for 22:12:09 Paths: (1 available, best #1) Not advertised to any peer Path #1: Received by speaker 0 Not advertised to any peer 30 20 10 34.0.0.2 from 34.0.0.2 (3.3.3.3) Received Label 201001 Origin IGP, localpref 100, valid, external, best, group-best Received Path ID 0, Local Path ID 0, version 31 Origin-AS validity: not-found Prefix SID Attribute Size: 10 Label Index: 1001 RP/0/RSP0/CPU0:PE4# sho cef 1.1.1.1/32 1.1.1.1/32, version 185, internal 0x5000001 0x80 (ptr 0x71ece2f0) [1], 0x0 (0x71dd7e20), 0xa08 (0x722de140) Updated Jul 21 20:13:50.839 Prefix Len 32, traffic index 0, precedence n/a, priority 4 via 34.0.0.2/32, 3 dependencies, recursive, bgp-ext [flags 0x6020] path-idx 0 NHID 0x0 [0x723a66b4 0x0] recursion-via-/32 next hop 34.0.0.2/32 via 24000/0/21 local label 201001 RP/0/RSP0/CPU0:P3#sh bgp 1.1.1.1/32 BGP routing table entry for 1.1.1.1/32 Versions: Process bRIB/RIB SendTblVer Speaker 53 53 Local Label: 201001 Last Modified: Jul 22 01:36:54.987 for 22:13:28 Paths: (1 available, best #1) Advertised to update-groups (with more than one peer): 0.2 Path #1: Received by speaker 0 Advertised to update-groups (with more than one peer): 0.2 20 10 23.0.0.1 from 23.0.0.1 (2.2.2.2) Received Label 201001 Origin IGP, localpref 100, valid, external, best, group-best Received Path ID 0, Local Path ID 1, version 53 Origin-AS validity: not-found Prefix SID Attribute Size: 10 Label Index: 1001 RP/0/RSP0/CPU0:P3# RP/0/RSP0/CPU0:P3#sho cef 1.1.1.1/32 1.1.1.1/32, version 264, internal 0x5000001 0x80 (ptr 0x71e2c434) [1], 0x0 (0x71dfdad8), 0xa08 (0x722de2f8) Updated Jul 22 01:36:54.806 Prefix Len 32, traffic index 0, precedence n/a, priority 4 via 23.0.0.1/32, 3 dependencies, recursive, bgp-ext [flags 0x6020] path-idx 0 NHID 0x0 [0x723a63c0 0x0] recursion-via-/32 next hop 23.0.0.1/32 via 24000/0/21 local label 201001 next hop 23.0.0.1/32 BE23 labels imposed {ImplNull 201001} RP/0/RSP0/CPU0:P3# sho cef 1.1.1.1/32 1.1.1.1/32, version 264, internal 0x5000001 0x80 (ptr 0x71e2c434) [1], 0x0 (0x71dfdad8), 0xa08 (0x722de2f8) Updated Jul 22 01:36:54.806 Prefix Len 32, traffic index 0, precedence n/a, priority 4 via 23.0.0.1/32, 3 dependencies, recursive, bgp-ext [flags 0x6020] path-idx 0 NHID 0x0 [0x723a63c0 0x0] recursion-via-/32 next hop 23.0.0.1/32 via 24000/0/21 local label 201001 next hop 23.0.0.1/32 BE23 labels imposed {ImplNull 201001} RP/0/RSP1/CPU0:P2#sh bgp 1.1.1.1/32 BGP routing table entry for 1.1.1.1/32 Versions: Process bRIB/RIB SendTblVer Speaker 29 29 Local Label: 201001 Last Modified: Jul 21 18:23:10.837 for 1d09h Paths: (1 available, best #1) Advertised to update-groups (with more than one peer): 0.2 Path #1: Received by speaker 0 Advertised to update-groups (with more than one peer): 0.2 10 12.0.0.2 from 12.0.0.2 (1.1.1.1) Received Label 3 Origin IGP, metric 0, localpref 100, valid, external, best, group-best Received Path ID 0, Local Path ID 0, version 29 Origin-AS validity: not-found Prefix SID Attribute Size: 10 Label Index: 1001 RP/0/RSP1/CPU0:P2# sho cef 1.1.1.1/32 1.1.1.1/32, version 231, internal 0x5000001 0x80 (ptr 0x71ed65e4) [1], 0x0 (0x71e72108), 0xa00 (0x722e6320) Updated Jul 21 18:23:10.679 Prefix Len 32, traffic index 0, precedence n/a, priority 4 via 12.0.0.2/32, 3 dependencies, recursive, bgp-ext [flags 0x6020] path-idx 0 NHID 0x0 [0x71ed6728 0x723af1ac] recursion-via-/32 next hop 12.0.0.2/32 via 12.0.0.2/32 local label 201001 next hop 12.0.0.2/32 BE12 labels imposed {ImplNull ImplNull}
router bgp 100 nsr bgp router-id 100.30.3.0 bgp graceful-restart ibgp policy out enforce-modifications address-family ipv4 unicast redistribute isis ring40 route-policy ring40_loopbacks allocate-label all ! ! neighbor-group IBR remote-as 100 update-source Loopback30 address-family ipv4 labeled-unicast maximum-prefix 100000 75 next-hop-self ! ! neighbor-group RRC remote-as 100 update-source Loopback40 address-family ipv4 labeled-unicast route-reflector-client next-hop-self ! !
Enable Traffic Eng under ISIS
router isis core address-family ipv4 unicast metric-style wide fast-reroute per-link use-candidate-only mpls traffic-eng level-2-only mpls traffic-eng router-id 1.1.1.1 maximum-paths 32 propagate level 2 into level 1 route-policy PASS redistribute connected segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! ! ipv4 unnumbered mpls traffic-eng Loopback0
MPLS traffic eng config
mpls traffic-eng
interface bundle-ether 12
interface bundle-ether 13
Following options are available to setup an SRTE tunnel
RP/0/RSP0/CPU0:R3(config-if)#path-option 1 ? dynamic Setup based on dynamically allocated path explicit Setup based on preconfigured path segment-routing Setup based on destination segment
SRTE Tunnel creation based on Dynamic path
RP/0/RSP0/CPU0:R1#sh run int tunnel-te 100 interface tunnel-te100 ipv4 unnumbered Loopback0 autoroute announce ! destination 4.4.4.4 path-option 1 dynamic segment-routing ! RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 100 Name: tunnel-te100 Destination: 4.4.4.4 Ifhandle:0x2010760 Signalled-Name: R1_t100 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, (Segment-Routing) type dynamic (Basis for Setup, path weight 20) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Sun May 15 19:55:37 2016 (00:31:39 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (global) Path Selection: Tiebreaker: Min-fill (default) Protection: any (default) Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 10000 msec (default), Action: Tear (default) AutoRoute: enabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Autoroute Destinations: 0 Loadshare: 0 equal loadshares Auto-bw: disabled Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled SRLG discovery: Disabled History: Tunnel has been up for: 00:31:39 (since Sun May 15 19:55:37 PDT 2016) Current LSP: Uptime: 00:31:39 (since Sun May 15 19:55:37 PDT 2016) Segment-Routing Path Info (IS-IS core level-2) Segment0[Link]: 13.0.0.1 - 13.0.0.2, Label: 24009 Segment1[Link]: 34.0.0.2 - 34.0.0.1, Label: 24017 Displayed 1 (of 2) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
RP/0/RSP0/CPU0:R1#sho cef 40.0.0.1 detail
Sun May 15 23:36:07.778 PDT
40.0.0.0/30, version 261492807, internal 0x1000001 0x81 (ptr 0x75b54ebc) [1], 0x0 (0x74fecbe0), 0xa28 (0x7445c068)
Updated May 15 23:36:06.408
Prefix Len 30, traffic index 0, precedence n/a, priority 2
gateway array (0x7203e5dc) reference count 4002, flags 0x28, source rib (7), 0 backups
[4003 type 1 flags 0x8401 (0x7235cb10) ext 0x0 (0x0)]
LW-LDI[type=1, refc=1, ptr=0x74fecbe0, sh-ldi=0x7235cb10]
gateway array update type-time 1 May 15 23:36:06.407
LDI Update time May 15 23:36:06.408
LW-LDI-TS May 15 23:36:06.408
via 4.4.4.4/32, tunnel-te100, 7 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0x71b08038 0x0]
next hop 4.4.4.4/32
local adjacency
labels imposed {105001}
Load distribution: 0 (refcount 4003)
Hash OK Interface Address
0 Y tunnel-te100 point2point
SRTE Tunnel Creation based on Explicit Path
RP/0/RSP0/CPU0:R1#sh run int tunnel-te 300 interface tunnel-te300 ipv4 unnumbered Loopback0 autoroute announce ! destination 4.4.4.4 path-option 1 explicit name SR-Explicit segment-routing ! RP/0/RSP0/CPU0:R1#sh run explicit-path name SR-Explicit explicit-path name SR-Explicit index 1 next-address strict ipv4 unicast 12.0.0.2 index 2 next-address strict ipv4 unicast 23.0.0.2 index 3 next-address strict ipv4 unicast 34.0.0.2 ! RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 300 Name: tunnel-te300 Destination: 4.4.4.4 Ifhandle:0x20107a0 Signalled-Name: R1_t300 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, (Segment-Routing) type explicit SR-Explicit (Basis for Setup) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Sun May 15 20:24:30 2016 (00:03:01 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (global) Path Selection: Tiebreaker: Min-fill (default) Protection: any (default) Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 10000 msec (default), Action: Tear (default) AutoRoute: enabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Autoroute Destinations: 0 Loadshare: 0 equal loadshares Auto-bw: disabled Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled SRLG discovery: Disabled History: Tunnel has been up for: 00:03:01 (since Sun May 15 20:24:30 PDT 2016) Current LSP: Uptime: 00:03:01 (since Sun May 15 20:24:30 PDT 2016) Segment-Routing Path Info (IS-IS core level-2) Segment0[Link]: 12.0.0.2 - 12.0.0.1, Label: 24013 Segment1[Link]: 23.0.0.1 - 23.0.0.2, Label: 24001 Segment2[Link]: 34.0.0.2 - 34.0.0.1, Label: 24017 Displayed 1 (of 2) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
RP/0/RSP0/CPU0:R1#sho cef 40.0.0.1 detail
Sun May 15 23:35:15.193 PDT
40.0.0.0/30, version 261480798, internal 0x1000001 0x81 (ptr 0x75b54ebc) [1], 0x0 (0x74fecbe0), 0xa28 (0x744754f0)
Updated May 15 23:35:13.059
Prefix Len 30, traffic index 0, precedence n/a, priority 2
gateway array (0x72042268) reference count 4002, flags 0x28, source rib (7), 0 backups
[4003 type 1 flags 0x8401 (0x7235c990) ext 0x0 (0x0)]
LW-LDI[type=1, refc=1, ptr=0x74fecbe0, sh-ldi=0x7235c990]
gateway array update type-time 1 May 15 23:35:13.058
LDI Update time May 15 23:35:13.059
LW-LDI-TS May 15 23:35:13.059
via 4.4.4.4/32, tunnel-te300, 7 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0x71b07d98 0x0]
next hop 4.4.4.4/32
local adjacency
labels imposed {105001}
Load distribution: 0 (refcount 4003)
Hash OK Interface Address
0 Y tunnel-te300 point2point
SRTE Tunnel Creation based on Destination Segment
RP/0/RSP0/CPU0:R1#sh run int tunnel-te 200 interface tunnel-te200 ipv4 unnumbered Loopback0 autoroute announce ! destination 4.4.4.4 path-option 1 segment-routing ! RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 200 Name: tunnel-te200 Destination: 4.4.4.4 Ifhandle:0x20107e0 Signalled-Name: R1_t200 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, type segment-routing (Basis for Setup) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Sun May 15 20:36:00 2016 (00:04:45 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (global) Path Selection: Tiebreaker: Min-fill (default) Protection: any (default) Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 10000 msec (default), Action: Tear (default) AutoRoute: enabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Autoroute Destinations: 0 Loadshare: 0 equal loadshares Auto-bw: disabled Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled SRLG discovery: Disabled History: Tunnel has been up for: 00:04:45 (since Sun May 15 20:36:00 PDT 2016) Current LSP: Uptime: 00:04:45 (since Sun May 15 20:36:00 PDT 2016) Segment-Routing Path Info (IS-IS core level-2) Segment0[Node]: 4.4.4.4, Label: 100004 Displayed 1 (of 3) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
RP/0/RSP0/CPU0:R1#show cef 40.0.0.1 detail
Sun May 15 23:36:57.992 PDT
40.0.0.0/30, version 261504816, internal 0x1000001 0x81 (ptr 0x75b54ebc) [1], 0x0 (0x74fecbe0), 0xa28 (0x7232e650)
Updated May 15 23:36:56.989
Prefix Len 30, traffic index 0, precedence n/a, priority 2
gateway array (0x720421ec) reference count 3769, flags 0x28, source rib (7), 0 backups
[3770 type 1 flags 0x8401 (0x7235cb90) ext 0x0 (0x0)]
LW-LDI[type=1, refc=1, ptr=0x74fecbe0, sh-ldi=0x7235cb90]
gateway array update type-time 1 May 15 23:36:56.988
LDI Update time May 15 23:36:56.989
LW-LDI-TS May 15 23:36:56.989
via 4.4.4.4/32, tunnel-te200, 7 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0x71b080e0 0x0]
next hop 4.4.4.4/32
local adjacency
labels imposed {105001}
Load distribution: 0 (refcount 3770)
Hash OK Interface Address
0 Y tunnel-te200 point2point
RP/0/RSP0/CPU0:R1#
router ospf core router-id 1.1.1.1 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls segment-routing prefix-sid-map advertise-local redistribute connected area 0 mpls traffic-eng interface Bundle-Ether12 ! interface Bundle-Ether13 ! interface Loopback0 prefix-sid index 1 ! interface TenGigE0/0/0/0/0 network broadcast ! ! ! mpls traffic-eng router-id 1.1.1.1
Router allocates a locally significant binding SID label (static/dynamic) for each RSVP/SR TE tunnel interface, which can be used to enforce traffic engineering (TE) policy using RSVP-TE or SR-TE label switching path (LSP) tunnel. If the topmost label of an incoming packet is the binding SID, the packet is steered to the appropriate LSP tunnel. As such, a SID can be used by an upstream router to steer traffic originating from a downstream router into the appropriate TE path.
For illustration, instead of PCE we are creating a SRTE tunnel on R1 to push the binding SID label
R1 Configuration
interface tunnel-te15 ipv4 unnumbered Loopback0 autoroute announce ! destination 5.5.5.5 path-option 1 explicit name SR-R1-R5 segment-routing ! explicit-path name SR-R1-R5 index 1 next-label 100002 index 2 next-label 24005 ----> Push Binding SID of SRTE Tunnel-25 (R2--> R5) ! R2 Configuration interface tunnel-te25 ipv4 unnumbered Loopback0 destination 5.5.5.5 path-option 1 explicit name SR_R2-R5 segment-routing ! explicit-path name SR_R2-R5 index 1 next-address strict ipv4 unicast 4.4.4.4 index 2 next-address strict ipv4 unicast 5.5.5.5 ! RP/0/RSP1/CPU0:R2#sho mpls traffic-eng tunnels
Name: tunnel-te25 Destination: 5.5.5.5 Ifhandle:0x20004e0
Signalled-Name: R2_t25
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, (Segment-Routing) type explicit SR_R2-R5 (Basis for Setup)
G-PID: 0x0800 (derived from egress interface properties)
Bandwidth Requested: 0 kbps CT0
Creation Time: Mon Jun 13 08:43:18 2016 (02:47:19 ago)
<output skipped>
Segment-Routing Path Info (IS-IS core level-2)
Segment0[Node]: 4.4.4.4, Label: 100004
Segment1[Node]: 5.5.5.5, Label: 100005
Displayed 1 (of 1) heads, 0 (of 0) midpoints, 0 (of 0) tails
Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
R1 to R5 path Verification
RP/0/RSP0/CPU0:R1#traceroute 5.5.5.5
Type escape sequence to abort.
Tracing the route to 5.5.5.5
1 13.0.0.2 [MPLS: Labels 100002/24005 Exp 0] 1 msec 0 msec 0 msec
2 23.0.0.1 [MPLS: Label 24005 Exp 0] 0 msec 0 msec 0 msec
3 24.0.0.2 [MPLS: Label 100005 Exp 0] 0 msec 0 msec 0 msec (R2 replaced binding SID label (24005) with tunnel-25 (100005) label))
4 45.0.0.2 1 msec * 0 msec
RP/0/RSP0/CPU0:R1#
R1 Configuration
interface tunnel-te15 ipv4 unnumbered Loopback0 autoroute announce ! destination 5.5.5.5 path-option 1 explicit name SR-R1-R5 segment-routing ! explicit-path name SR-R1-R5 index 1 next-label 100002 index 2 next-label 4005 ---> Push binding SID of RSVP Tunnel 15 (R2--> R5) ! R2 RSVP TE configuration
interface tunnel-te25 ipv4 unnumbered Loopback0 destination 5.5.5.5 binding-sid mpls label 4005 --- > Statically configured Binding SID path-option 1 explicit name SR_R2-R5 ! RP/0/RSP1/CPU0:R2#sh run explicit-path name SR_R2-R5 explicit-path name SR_R2-R5 index 1 next-address strict ipv4 unicast 4.4.4.4 index 2 next-address strict ipv4 unicast 5.5.5.5 !
RP/0/RSP1/CPU0:R2#sho mpls traffic-eng tunnels
Name: tunnel-te25 Destination: 5.5.5.5 Ifhandle:0x20004e0
Signalled-Name: R2_t25
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit SR_R2-R5 (Basis for Setup, path weight 210)
G-PID: 0x0800 (derived from egress interface properties)
Bandwidth Requested: 0 kbps CT0
Creation Time: Mon Jun 13 08:43:18 2016 (02:45:15 ago)
<output skipped>
Path info (IS-IS core level-2):
Node hop count: 2
Hop0: 24.0.0.2
Hop1: 45.0.0.2
Hop2: 5.5.5.5
Displayed 1 (of 1) heads, 0 (of 0) midpoints, 0 (of 0) tails
Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
R1 to R5 path Verification
RP/0/RSP0/CPU0:R1#traceroute 5.5.5.5
Type escape sequence to abort.
Tracing the route to 5.5.5.5
1 13.0.0.2 [MPLS: Labels 100002/4005 Exp 0] 1 msec 0 msec 0 msec
2 23.0.0.1 [MPLS: Label 4005 Exp 0] 0 msec 0 msec 0 msec
3 24.0.0.2 [MPLS: Label 24000 Exp 0] 0 msec 0 msec 0 msec
4 45.0.0.2 0 msec * 0 msec
RP/0/RSP0/CPU0:R1#
LFA (Loop-free-alternative) FRR pre-compute a loop free alternate path and installs into the forwarding plane LFA’s are calculated based on route inequalities specified in RFC 5286.
Terminologies
Following ineqality conditions are considered while computing LFA path.
Loop Free Alternative
Inequality 1: D(N,D) < D(N,S) + D(S,D)
“Path is loop-free because N’s best path is not through local router.” Traffic sent to backup next hop is not sent back to S
Downstream path
Inequality 2: D(N,D) < D(S,D)
“Neighbor router is closer to the destination than local router.” Loop-free is guaranteed even with multiple failures (if all repair-paths are downstream path)
Node Protection
Inequality 3: D(N,D) < D(N,E) + D(E,D)“N's path to D must not go through E.”
“The distance from the node N to the prefix via the primary next-hop is strictly greater than the optimum distance from the node N to the prefix.“
Loop free link protecting for broadcast Link
Inequality 4: D(N,D) < D(N,PN) + D(PN,D)
The link from S to N should not be the same as the protected link
The link from N to D should not be the same as the protected link
Refer https://clnv.s3.amazonaws.com/2015/usa/pdf/BRKRST-3020.pdf for more details
Per Link
Per-link LFA provides link protection by installing a backup path for a given primary/protected link, backup path is calculated based on the inequality condition #1.
Per Prefix
Per Prefix determines the backup path for each prefix and allow us to have have different backup paths for different prefixes.
Remote LFA
Directly conneted LFA does not cover all topologies, notably ring based topologies are not well protected by LFAs alone because there is no neighbor of the point of local repair (PLR) that has a cost to the destination without traversing the failure that is cheaper than the cost to the destination via the failure.
Remote LFA addresses this problem by creating a MPLS based tunnel, it tunnel the packets to a router which can deliver the packets without going across the failed Link
How to find the drop-off router
Advantages
Simplified configuration
Link and node protection
Link and path protection
LFA (loop-free alternate) paths
Support for both IP and Label Distribution Protocol (LDP) core
LFA FRR is supported with equal cost multipath (ECMP).
Disadvantages
Topology Independent LFA (TI-LFA)
TI-LFA is a segment routing based LFA FRR, which brings
Configuring TI-LFA under ISIS
router isis core
interface Bundle-Ether12
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
Configuring TI-LFA under OSPF
router ospf core area 0 interface Bundle-Ether12 fast-reroute per-prefix fast-reroute per-prefix ti-lfa enable
RP/0/RSP0/CPU0:R1#sh run router isis core int bundle-ether 12
router isis core
interface Bundle-Ether12
circuit-type level-2-only
bfd minimum-interval 100
bfd multiplier 3
bfd fast-detect ipv4
point-to-point
csnp-interval 65535
hello-padding sometimes
hello-interval 1
hello-multiplier 5
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa
metric 10
!
address-family ipv6 unicast
metric 10
!
RP/0/RSP0/CPU0:R1#sh isis fast-reroute 210.0.0.0/30 detail L2 210.0.0.0/30 [21/115] low priority via 13.0.0.2, Bundle-Ether13, R3, SRGB Base: 100000, Weight: 0 --> Primary FRR backup via 12.0.0.1, Bundle-Ether12, R2, SRGB Base: 100000, Weight: 0, Metric: 141 --> Backup P: No, TM: 141, LC: No, NP: No, D: No, SRLG: Yes src Spirent-1.00-00, 110.0.6.2, prefix-SID index 700, R:0 N:0 P:0 E:0 V:0 L:0
RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1 210.0.0.0/30, version 189961, internal 0x1000001 0x83 (ptr 0x735c9330) [1], 0x0 (0x72145720), 0xa28 (0x73541390) Updated Jun 2 09:58:33.711 Prefix Len 30, traffic index 0, precedence n/a, priority 2 via 12.0.0.1/32, Bundle-Ether12, 10 dependencies, weight 0, class 0, backup [flags 0x300] path-idx 0 NHID 0x0 [0x71a379b0 0x0] next hop 12.0.0.1/32 local adjacency local label 100700 labels imposed {100700} via 13.0.0.2/32, Bundle-Ether13, 10 dependencies, weight 0, class 0, protected [flags 0x400] path-idx 1 bkup-idx 0 NHID 0x0 [0x7153068c 0x0] next hop 13.0.0.2/32 local label 100700 labels imposed {100700}
RP/0/RSP0/CPU0:R1#sho route 210.0.0.1 Routing entry for 210.0.0.0/30 Known via "isis core", distance 115, metric 21, labeled SR(SRMS), type level-2 Installed Jun 2 09:58:33.705 for 00:00:32 Routing Descriptor Blocks 12.0.0.1, from 110.0.6.2, via Bundle-Ether12, Backup Route metric is 141 13.0.0.2, from 110.0.6.2, via Bundle-Ether13, Protected Route metric is 21 No advertising protos.
RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1 hardware egress location 0/0/CPU0 Thu Jun 2 09:59:17.570 PDT 210.0.0.0/30, version 189961, internal 0x1000001 0x83 (ptr 0x57a0115c) [1], 0x0 (0x592a23c0), 0xa28 (0x5951c344) Updated Jun 2 09:58:33.713 local adjacency 13.0.0.2 Prefix Len 30, traffic index 0, precedence n/a, priority 2 via 12.0.0.1/32, Bundle-Ether12, 11 dependencies, weight 0, class 0, backup [flags 0x300] path-idx 0 NHID 0x6 [0x58bac3b8 0x0] next hop 12.0.0.1/32 local adjacency local label 100700 labels imposed {100700} via 13.0.0.2/32, Bundle-Ether13, 11 dependencies, weight 0, class 0, protected [flags 0x400] path-idx 1 bkup-idx 0 NHID 0x2 [0x57e3fb10 0x0] next hop 13.0.0.2/32 local label 100700 labels imposed {100700} LEAF - HAL pd context : sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0 collapse_bwalk_required:0, ecdv2_marked:0 Leaf H/W Result: Physical Result: 0x11525600 (LE) Raw Data0: 0x11830003 39540000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0 Physical Result: 0x11525600 (LE) Raw Data0: 0x11830003 39540000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0l2tpv3ov6_de_cookie_lo: 0x0 l2tpv3ov6_leaf_adj: 0x0 urpf_ptr: 0x0 nrLDI eng ctx: flags: 0x1, proto: 2, npaths: 0, nbuckets: 1 ldi_tbl_idx: 0x5439, ecd_ref_cft: 0 pbts_ldi_tbl_idx: 0x0, fastnrldi:0x0 fastpbts:0x0 NR-LDI H/W Result for path 0 [index: 0x5439 (BE), common to all NPs]: Raw Data0: 0x11da0aff 1a000300 00001895 c11895c1 Raw Data1: 0x1895c102 000b944f c9000000 000000e0 ldi_resolve_control_byte0: bvi: 0 pbts: 0 match: 1 valid: 1 ldi_collapsed: 0 ldi_resolve_control_byte1: mldp_sr_te_ldi_mod_tbl: 0 default_action: 1 sr_te_lspa_valid: 0 te_IpFrr_adj: 1 label_1_valid: 1 sr_te_ldi_or_lspa: 0 local_label_valid: 1 ldpBkup_label_valid: 1 ldi_resolve_control_byte2: dm_stats_valid: 1 pwhe_nrldi: 0 nh_id_valid: 0 ipldp_FRR_TE: 1 bvi: 0 np_bit_map: 0xff label_stats_index: 0xc94f94 igp_local_label: 100700 exp: 0 eos: 1 output_label: 100700 exp: 0 eos: 1 Adj (te_nh): te_nh_adj_ptr: 0x1a (LE) te_nh_control: reserved: 0 doNotIncStatsIng: 1 isMPinNR_LDI: 0 uturn_check: 1 SR_bkup_label: 0 exp: 0 eos: 0 backup_LDP_label: 100700 exp: 0 eos: 1 PQ_label: 0 exp: 0 eos: 0 Primary TE-NH H/W Result for NP:0 (index: 0x1a (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00001900 0000c533 009f0000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE) Primary RX H/W Result for NP:0 (index: 0x9f (BE)): Raw Data0: 0x91010000 00000c00 02000be0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xc if_handle : 0x2000be0 Primary TX H/W Result for NP:0 (index: 0x33c5 (BE)): Raw Data0: 0x11040000 3600dc05 228dc600 00000000 Raw Data1: 0x002651cc 76730000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x36 (LE) l3_mtu : 1500 adj_stats_index : 0xc68d22 dest_mac : 0x0026.51cc.7673 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 156956 exp: 6 eos: 0 local_label: 485168 exp: 0 eos: 0 Primary TE-NH H/W Result for NP:1 (index: 0x1a (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00001900 0000c533 009f0000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE) Primary RX H/W Result for NP:1 (index: 0x9f (BE)): Raw Data0: 0x91010000 00000c00 02000be0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xc if_handle : 0x2000be0 Primary TX H/W Result for NP:1 (index: 0x33c5 (BE)): Raw Data0: 0x11040000 3600dc05 c78bc600 00000000 Raw Data1: 0x002651cc 76730000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x36 (LE) l3_mtu : 1500 adj_stats_index : 0xc68bc7 dest_mac : 0x0026.51cc.7673 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 156956 exp: 6 eos: 0 local_label: 485168 exp: 0 eos: 0 Primary TE-NH H/W Result for NP:2 (index: 0x1a (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00001900 0000c533 009f0000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE) Primary RX H/W Result for NP:2 (index: 0x9f (BE)): Raw Data0: 0x91010000 00000c00 02000be0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xc if_handle : 0x2000be0 Primary TX H/W Result for NP:2 (index: 0x33c5 (BE)): Raw Data0: 0x11040000 3600dc05 c78bc600 00000000 Raw Data1: 0x002651cc 76730000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x36 (LE) l3_mtu : 1500 adj_stats_index : 0xc68bc7 dest_mac : 0x0026.51cc.7673 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 156956 exp: 6 eos: 0 local_label: 485168 exp: 0 eos: 0 Primary TE-NH H/W Result for NP:3 (index: 0x1a (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00001900 0000c533 009f0000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE) Primary RX H/W Result for NP:3 (index: 0x9f (BE)): Raw Data0: 0x91010000 00000c00 02000be0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xc if_handle : 0x2000be0 Primary TX H/W Result for NP:3 (index: 0x33c5 (BE)): Raw Data0: 0x11040000 3600dc05 c78bc600 00000000 Raw Data1: 0x002651cc 76730000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x36 (LE) l3_mtu : 1500 adj_stats_index : 0xc68bc7 dest_mac : 0x0026.51cc.7673 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 156956 exp: 6 eos: 0 local_label: 485168 exp: 0 eos: 0 Backup TE-NH H/W Result for NP:0 (index: 0x19 (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00000000 0000c733 00520000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c7(LE) bu_te_nh_ptr: 0x0(LE) rx_adj_ptr: 0x52(LE) Backup RX H/W Result for NP:0 (index: 0x52 (BE)): Raw Data0: 0x91010000 00000b00 02000ba0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000ba0 Backup TX H/W Result for NP:0 (index: 0x33c7 (BE)): Raw Data0: 0x11040000 3500dc05 238dc600 00000000 Raw Data1: 0x00269800 52d30000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x35 (LE) l3_mtu : 1500 adj_stats_index : 0xc68d23 dest_mac : 0x0026.9800.52d3 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339248 exp: 0 eos: 0
RP/0/RSP0/CPU0:R1#sh isis fast-reroute 210.0.0.0/30 detail L2 210.0.0.0/30 [21/115] low priority via 13.0.0.2, Bundle-Ether13, R3, SRGB Base: 100000, Weight: 0 Backup path: TI-LFA (link), via 12.0.0.1, Bundle-Ether12 R2, SRGB Base: 100000, Weight: 0 P node: R4.00 [4.4.4.4], Label: 100004 Prefix label: 100700 P: No, TM: 50, LC: No, NP: No, D: No, SRLG: No src Spirent-1.00-00, 110.0.6.2, prefix-SID index 700, R:0 N:0 P:0 E:0 V:0 L:0
RP/0/RSP0/CPU0:R1#sho route 210.0.0.1 Routing entry for 210.0.0.0/30 Known via "isis core", distance 115, metric 21, labeled SR(SRMS), type level-2 Installed Jun 2 09:55:58.143 for 00:00:21 Routing Descriptor Blocks 12.0.0.1, from 110.0.6.2, via Bundle-Ether12, Backup (remote) Remote LFA is 4.4.4.4 Route metric is 0 13.0.0.2, from 110.0.6.2, via Bundle-Ether13, Protected
RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1 210.0.0.0/30, version 165896, internal 0x1000001 0x83 (ptr 0x735c9330) [1], 0x0 (0x72145720), 0xa28 (0x7355444c) Updated Jun 2 09:55:58.151 Prefix Len 30, traffic index 0, precedence n/a, priority 2 via 12.0.0.1/32, Bundle-Ether12, 10 dependencies, weight 0, class 0, backup (remote) [flags 0x8300] path-idx 0 NHID 0x0 [0x71a379b0 0x0] next hop 12.0.0.1/32, PQ-node 4.4.4.4 local adjacency local label 100700 labels imposed {100004 100700} via 13.0.0.2/32, Bundle-Ether13, 10 dependencies, weight 0, class 0, protected [flags 0x400] path-idx 1 bkup-idx 0 NHID 0x0 [0x7153068c 0x0] next hop 13.0.0.2/32 local label 100700 labels imposed {100700} Route metric is 21 No advertising protos. RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1 hardware egress location 0/0/CPU0 210.0.0.0/30, version 165896, internal 0x1000001 0x83 (ptr 0x57a0115c) [1], 0x0 (0x592a23c0), 0xa28 (0x5869ac90) Updated Jun 2 09:55:58.152 local adjacency 13.0.0.2 Prefix Len 30, traffic index 0, precedence n/a, priority 2 via 12.0.0.1/32, Bundle-Ether12, 11 dependencies, weight 0, class 0, backup (remote) [flags 0x8300] path-idx 0 NHID 0x6 [0x58bac3b8 0x0] next hop 12.0.0.1/32, PQ-node 4.4.4.4 local adjacency local label 100700 labels imposed {100004 100700} via 13.0.0.2/32, Bundle-Ether13, 11 dependencies, weight 0, class 0, protected [flags 0x400] path-idx 1 bkup-idx 0 NHID 0x2 [0x57e3fb10 0x0] next hop 13.0.0.2/32 local label 100700 labels imposed {100700} LEAF - HAL pd context : sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0 collapse_bwalk_required:0, ecdv2_marked:0 Leaf H/W Result: Physical Result: 0x11525600 (LE) Raw Data0: 0x11830003 39540000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0 Physical Result: 0x11525600 (LE) Raw Data0: 0x11830003 39540000 00000000 00000000 Raw Data1: 0x00000000 00000000 001e0000 00000000 leaf_resolve_control_byte0 valid: 1 match: 1 rec_fs: 0 recursive: 0 leaf_resolve_control_byte1 fwd: 1 default_rte: 0 dc_rte: 0 ifib_lookup: 0 fast_switch: 0 feature_lkup: 0 non_recursive: 1 leaf_resolve_control_byte2 vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0 fast_switch: 0 nh_id_valid: 0 exception: 0 more_features: 0 valid_bit: 0 ecmp_size: 3 non_recursive_fwd_entry nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30 l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0 QPPB QOS Group: 0 QPPB QOS Group_valid: 0 QPPB Prec_valid: 0 QPPB Prec: 0 l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes) l2tpv3ov6_de_cookie_hi: 0x0l2tpv3ov6_de_cookie_lo: 0x0 l2tpv3ov6_leaf_adj: 0x0 urpf_ptr: 0x0 nrLDI eng ctx: flags: 0x1, proto: 2, npaths: 0, nbuckets: 1 ldi_tbl_idx: 0x5439, ecd_ref_cft: 0 pbts_ldi_tbl_idx: 0x0, fastnrldi:0x0 fastpbts:0x0 NR-LDI H/W Result for path 0 [index: 0x5439 (BE), common to all NPs]: Raw Data0: 0x11da0aff 1a000118 95c1186a 411895c1 Raw Data1: 0x1895c102 000b8593 c8000000 000000e0 ldi_resolve_control_byte0: bvi: 0 pbts: 0 match: 1 valid: 1 ldi_collapsed: 0 ldi_resolve_control_byte1: mldp_sr_te_ldi_mod_tbl: 0 default_action: 1 sr_te_lspa_valid: 0 te_IpFrr_adj: 1 label_1_valid: 1 sr_te_ldi_or_lspa: 0 local_label_valid: 1 ldpBkup_label_valid: 1 ldi_resolve_control_byte2: dm_stats_valid: 1 pwhe_nrldi: 0 nh_id_valid: 0 ipldp_FRR_TE: 1 bvi: 0 np_bit_map: 0xff label_stats_index: 0xc89385 igp_local_label: 100700 exp: 0 eos: 1 output_label: 100700 exp: 0 eos: 1 Adj (te_nh): te_nh_adj_ptr: 0x1a (LE) te_nh_control: reserved: 0 doNotIncStatsIng: 1 isMPinNR_LDI: 0 uturn_check: 0 SR_bkup_label: 0 exp: 0 eos: 0 backup_LDP_label: 100004 exp: 0 eos: 1 PQ_label: 100700 exp: 0 eos: 1 Primary TE-NH H/W Result for NP:0 (index: 0x1a (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00001900 0000c533 009f0000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE) Primary RX H/W Result for NP:0 (index: 0x9f (BE)): Raw Data0: 0x91010000 00000c00 02000be0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xc if_handle : 0x2000be0 Primary TX H/W Result for NP:0 (index: 0x33c5 (BE)): Raw Data0: 0x11040000 3600dc05 228dc600 00000000 Raw Data1: 0x002651cc 76730000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x36 (LE) l3_mtu : 1500 adj_stats_index : 0xc68d22 dest_mac : 0x0026.51cc.7673 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 156956 exp: 6 eos: 0 local_label: 485168 exp: 0 eos: 0 Backup TE-NH H/W Result for NP:0 (index: 0x19 (BE)): Raw Data0: 0x31000000 00000000 00688bc6 00000000 Raw Data1: 0x00000000 0000c733 00520000 00000000 cb0 sr_te_head: 0 default_action: 1 backup_indication: 0 match: 1 valid: 1 cb1 te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0 cb2 te_nh_incomplete: 0 TE_local_label: 0 exp: 0 eos: 0 TE_tunnel_label: 0 exp: 0 eos: 0 merge_point_label: 0 exp: 0 eos: 0 te_nh_stats_ptr: 0xc68b68 tx_adj_ptr: 0x33c7(LE) bu_te_nh_ptr: 0x0(LE) rx_adj_ptr: 0x52(LE) Backup RX H/W Result for NP:0 (index: 0x52 (BE)): Raw Data0: 0x91010000 00000b00 02000ba0 00000000 adj_resolve_control_byte0 match: 1 valid: 1 iptunl_adj: 0 default_action: 1 remote_rack: 0 adj_resolve_control_byte1 adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0 rx_lag_adj: 1 pwhe: 0 ipsec: 0 cgn_enabled: 0 adj_resolve_control_byte2 nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0 rx_adj_null0: 0 rp_destined: 0 rx_punt: 0 rx_drop: 0 FLAGS gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0 lag_id : 0xb if_handle : 0x2000ba0 Backup TX H/W Result for NP:0 (index: 0x33c7 (BE)): Raw Data0: 0x11040000 3500dc05 238dc600 00000000 Raw Data1: 0x00269800 52d30000 00000000 00000000 adj_resolve_control_byte0 pppoe_adj: 0 match: 1 valid: 1 iptunl_adj: 0 adj_resolve_control_byte1 tx_adj_null0: 0 tx_punt: 0 pwhe: 0 tx_drop: 0 golf_bvi: 0 default_action: 1 adj_resolve_control_byte2 gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0 pwhe: 0 FLAGS gre_adj: 0 lisp_adj: 0 pwhe_cw: 0 ipinip_adj: 0 df: 0 tos_reflect: 0 uidb_index : 0x35 (LE) l3_mtu : 1500 adj_stats_index : 0xc68d23 dest_mac : 0x0026.9800.52d3 collapsed_bkup lag: 0 drop: 0 nh_id_valid: 0 out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0 nhindex: 0x0 ifhandle: 0x0 output_label: 158080 exp: 0 eos: 0 local_label: 339248 exp: 0 eos: 0
RP/0/RSP0/CPU0:R1#sh isis fast-reroute 210.0.0.0/30 detail
L2 210.0.0.0/30 [21/115] low priority
via 13.0.0.2, Bundle-Ether13, R3, SRGB Base: 100000, Weight: 0
Backup path: TI-LFA (link), via 12.0.0.1, Bundle-Ether12 R2, SRGB Base: 100000, Weight: 0
P node: R5.00 [5.5.5.5], Label: 100005
Q node: R4.00 [4.4.4.4], Label: 24004
Prefix label: 100700
P: No, TM: 140, LC: No, NP: No, D: No, SRLG: No
src Spirent-1.00-00, 110.0.6.2, prefix-SID index 700, R:0 N:0 P:0 E:0 V:0
L:0
RP/0/RSP0/CPU0:R1#sho route 210.0.0.1
Routing entry for 210.0.0.0/30
Known via "isis core", distance 115, metric 21, labeled SR(SRMS), type level-2
Installed Jun 2 09:53:01.998 for 00:00:39
Routing Descriptor Blocks
12.0.0.1, from 110.0.6.2, via Bundle-Ether12, Backup (remote)
Remote LFA is 5.5.5.5, 4.4.4.4
Route metric is 0
13.0.0.2, from 110.0.6.2, via Bundle-Ether13, Protected
Route metric is 21
No advertising protos.
RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1
210.0.0.0/30, version 153855, internal 0x1000001 0x83 (ptr 0x735c9330) [1], 0x0 (0x72145720), 0xa28 (0x73ba7c40)
Updated Jun 2 09:53:02.011
Prefix Len 30, traffic index 0, precedence n/a, priority 2
via 12.0.0.1/32, Bundle-Ether12, 9 dependencies, weight 0, class 0, backup (remote) [flags 0x8300]
path-idx 0 NHID 0x0 [0x71a379b0 0x0]
next hop 12.0.0.1/32, P-node 5.5.5.5, Q-node 4.4.4.4
local adjacency
local label 100700 labels imposed {100005 24004 100700}
via 13.0.0.2/32, Bundle-Ether13, 9 dependencies, weight 0, class 0, protected [flags 0x400]
path-idx 1 bkup-idx 0 NHID 0x0 [0x7153068c 0x0]
next hop 13.0.0.2/32
local label 100700 labels imposed {100700}
RP/0/RSP0/CPU0:R1#sho cef 210.0.0.1 hardware egress location 0/0/CPU0
Thu Jun 2 09:54:13.598 PDT
210.0.0.0/30, version 153855, internal 0x1000001 0x83 (ptr 0x57a0115c) [1], 0x0 (0x592a23c0), 0xa28 (0x59533b74)
Updated Jun 2 09:53:02.011
local adjacency 13.0.0.2
Prefix Len 30, traffic index 0, precedence n/a, priority 2
via 12.0.0.1/32, Bundle-Ether12, 10 dependencies, weight 0, class 0, backup (remote) [flags 0x8300]
path-idx 0 NHID 0x6 [0x58bac3b8 0x0]
next hop 12.0.0.1/32, P-node 5.5.5.5, Q-node 4.4.4.4
local adjacency
local label 100700 labels imposed {100005 24004 100700}
via 13.0.0.2/32, Bundle-Ether13, 10 dependencies, weight 0, class 0, protected [flags 0x400]
path-idx 1 bkup-idx 0 NHID 0x2 [0x57e3fb10 0x0]
next hop 13.0.0.2/32
local label 100700 labels imposed {100700}
LEAF - HAL pd context :
sub-type : IPV4, ecd_marked:0, has_collapsed_ldi:0
collapse_bwalk_required:0, ecdv2_marked:0
Leaf H/W Result:
Physical Result: 0x11525600 (LE)
Raw Data0: 0x11830003 39540000 00000000 00000000
Raw Data1: 0x00000000 00000000 001e0000 00000000
leaf_resolve_control_byte0
valid: 1 match: 1 rec_fs: 0
recursive: 0
leaf_resolve_control_byte1
fwd: 1 default_rte: 0 dc_rte: 0
ifib_lookup: 0 fast_switch: 0 feature_lkup: 0
non_recursive: 1
leaf_resolve_control_byte2
vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0
fast_switch: 0 nh_id_valid: 0 exception: 0
more_features: 0 valid_bit: 0
ecmp_size: 3
non_recursive_fwd_entry
nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30
l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0
QPPB QOS Group: 0
QPPB QOS Group_valid: 0
QPPB Prec_valid: 0
QPPB Prec: 0
l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes)
l2tpv3ov6_de_cookie_hi: 0x0
Physical Result: 0x11525600 (LE)
Raw Data0: 0x11830003 39540000 00000000 00000000
Raw Data1: 0x00000000 00000000 001e0000 00000000
leaf_resolve_control_byte0
valid: 1 match: 1 rec_fs: 0
recursive: 0
leaf_resolve_control_byte1
fwd: 1 default_rte: 0 dc_rte: 0
ifib_lookup: 0 fast_switch: 0 feature_lkup: 0
non_recursive: 1
leaf_resolve_control_byte2
vrf_fallback: 0 any_label_valid: 0 bgp_pa_valid: 0
fast_switch: 0 nh_id_valid: 0 exception: 0
more_features: 0 valid_bit: 0
ecmp_size: 3
non_recursive_fwd_entry
nrldi_ptr: 0x5439(LE) fallback_vrfid: 0x0 prefix_length: 30
l2tpv3ov6_xid: 0x0 subscriber_hash: 0x0
QPPB QOS Group: 0
QPPB QOS Group_valid: 0
QPPB Prec_valid: 0
QPPB Prec: 0
l2tpv3ov6_xid: 0x0, cookie bits Hi: 0 Lo: 0 (size 0 bytes)
l2tpv3ov6_de_cookie_hi: 0x0l2tpv3ov6_de_cookie_lo: 0x0
l2tpv3ov6_leaf_adj: 0x0 urpf_ptr: 0x0
nrLDI eng ctx:
flags: 0x1, proto: 2, npaths: 0, nbuckets: 1
ldi_tbl_idx: 0x5439, ecd_ref_cft: 0
pbts_ldi_tbl_idx: 0x0, fastnrldi:0x0 fastpbts:0x0
NR-LDI H/W Result for path 0 [index: 0x5439 (BE), common to all NPs]:
Raw Data0: 0x11da0aff 1a000118 95c105dc 411895c1
Raw Data1: 0x1895c102 000b8593 c8186a51 000000e0
ldi_resolve_control_byte0:
bvi: 0 pbts: 0 match: 1
valid: 1 ldi_collapsed: 0
ldi_resolve_control_byte1:
mldp_sr_te_ldi_mod_tbl: 0 default_action: 1 sr_te_lspa_valid: 0
te_IpFrr_adj: 1 label_1_valid: 1 sr_te_ldi_or_lspa: 0
local_label_valid: 1 ldpBkup_label_valid: 1
ldi_resolve_control_byte2:
dm_stats_valid: 1 pwhe_nrldi: 0 nh_id_valid: 0
ipldp_FRR_TE: 1 bvi: 0
np_bit_map: 0xff
label_stats_index: 0xc89385
igp_local_label: 100700 exp: 0 eos: 1
output_label: 100700 exp: 0 eos: 1
Adj (te_nh):
te_nh_adj_ptr: 0x1a (LE)
te_nh_control:
reserved: 0 doNotIncStatsIng: 1
isMPinNR_LDI: 0 uturn_check: 0
SR_bkup_label: 100005 exp: 0 eos: 1
backup_LDP_label: 24004 exp: 0 eos: 1
PQ_label: 100700 exp: 0 eos: 1
Primary TE-NH H/W Result for NP:0 (index: 0x1a (BE)):
Raw Data0: 0x31000000 00000000 00688bc6 00000000
Raw Data1: 0x00001900 0000c533 009f0000 00000000
cb0
sr_te_head: 0 default_action: 1 backup_indication: 0
match: 1 valid: 1
cb1
te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0
cb2
te_nh_incomplete: 0
TE_local_label: 0 exp: 0 eos: 0
TE_tunnel_label: 0 exp: 0 eos: 0
merge_point_label: 0 exp: 0 eos: 0
te_nh_stats_ptr: 0xc68b68
tx_adj_ptr: 0x33c5(LE) bu_te_nh_ptr: 0x19(LE) rx_adj_ptr: 0x9f(LE)
Primary RX H/W Result for NP:0 (index: 0x9f (BE)):
Raw Data0: 0x91010000 00000c00 02000be0 00000000
adj_resolve_control_byte0
match: 1 valid: 1 iptunl_adj: 0
default_action: 1 remote_rack: 0
adj_resolve_control_byte1
adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0
rx_lag_adj: 1 pwhe: 0 ipsec: 0
cgn_enabled: 0
adj_resolve_control_byte2
nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0
rx_adj_null0: 0 rp_destined: 0 rx_punt: 0
rx_drop: 0
FLAGS
gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0
lag_id : 0xc
if_handle : 0x2000be0
Primary TX H/W Result for NP:0 (index: 0x33c5 (BE)):
Raw Data0: 0x11040000 3600dc05 228dc600 00000000
Raw Data1: 0x002651cc 76730000 00000000 00000000
adj_resolve_control_byte0
pppoe_adj: 0 match: 1 valid: 1
iptunl_adj: 0
adj_resolve_control_byte1
tx_adj_null0: 0 tx_punt: 0 pwhe: 0
tx_drop: 0 golf_bvi: 0 default_action: 1
adj_resolve_control_byte2
gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0
pwhe: 0
FLAGS
gre_adj: 0 lisp_adj: 0 pwhe_cw: 0
ipinip_adj: 0 df: 0 tos_reflect: 0
uidb_index : 0x36 (LE)
l3_mtu : 1500
adj_stats_index : 0xc68d22
dest_mac : 0x0026.51cc.7673
collapsed_bkup
lag: 0 drop: 0 nh_id_valid: 0
out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0
nhindex: 0x0 ifhandle: 0x0
output_label: 156956 exp: 6 eos: 0
local_label: 485168 exp: 0 eos: 0
Backup TE-NH H/W Result for NP:0 (index: 0x19 (BE)):
Raw Data0: 0x31000000 00000000 00688bc6 00000000
Raw Data1: 0x00000000 0000c733 00520000 00000000
cb0
sr_te_head: 0 default_action: 1 backup_indication: 0
match: 1 valid: 1
cb1
te_nh_incomplete: 0 tp_path_ss: 0 tunl_over_tunl: 0
cb2
te_nh_incomplete: 0
TE_local_label: 0 exp: 0 eos: 0
TE_tunnel_label: 0 exp: 0 eos: 0
merge_point_label: 0 exp: 0 eos: 0
te_nh_stats_ptr: 0xc68b68
tx_adj_ptr: 0x33c7(LE) bu_te_nh_ptr: 0x0(LE) rx_adj_ptr: 0x52(LE)
Backup RX H/W Result for NP:0 (index: 0x52 (BE)):
Raw Data0: 0x91010000 00000b00 02000ba0 00000000
adj_resolve_control_byte0
match: 1 valid: 1 iptunl_adj: 0
default_action: 1 remote_rack: 0
adj_resolve_control_byte1
adj_down: 0 mgscp_en: 0 rx_lag_hash_en: 0
rx_lag_adj: 1 pwhe: 0 ipsec: 0
cgn_enabled: 0
adj_resolve_control_byte2
nh_id_cap: 0 rx_lag_adj: 0 mid_fs_leaf: 0
rx_adj_null0: 0 rp_destined: 0 rx_punt: 0
rx_drop: 0
FLAGS
gre_adj: 0 pwhe_adj: 0 gre_ipv6_transp: 0
lag_id : 0xb
if_handle : 0x2000ba0
Backup TX H/W Result for NP:0 (index: 0x33c7 (BE)):
Raw Data0: 0x11040000 3500dc05 238dc600 00000000
Raw Data1: 0x00269800 52d30000 00000000 00000000
adj_resolve_control_byte0
pppoe_adj: 0 match: 1 valid: 1
iptunl_adj: 0
adj_resolve_control_byte1
tx_adj_null0: 0 tx_punt: 0 pwhe: 0
tx_drop: 0 golf_bvi: 0 default_action: 1
adj_resolve_control_byte2
gre_ipv6_transp: 0 pwhe_vc11: 0 routed_sub_adj: 0
pwhe: 0
FLAGS
gre_adj: 0 lisp_adj: 0 pwhe_cw: 0
ipinip_adj: 0 df: 0 tos_reflect: 0
uidb_index : 0x35 (LE)
l3_mtu : 1500
adj_stats_index : 0xc68d23
dest_mac : 0x0026.9800.52d3
collapsed_bkup
lag: 0 drop: 0 nh_id_valid: 0
out_lbl_invalid: 0 match: 0 vqi/lag-id: 0x0
nhindex: 0x0 ifhandle: 0x0
output_label: 158080 exp: 0 eos: 0
local_label: 339248 exp: 0 eos: 0
router isis core interface Bundle-Ether12 circuit-type level-2-only bfd minimum-interval 100 bfd multiplier 3 bfd fast-detect ipv4 point-to-point address-family ipv4 unicast fast-reroute per-prefix fast-reroute per-prefix tiebreaker node-protecting index 10 fast-reroute per-prefix ti-lfa metric 10 ! address-family ipv6 unicast metric 10
RP/0/RSP0/CPU0:R1#sh cef 4.4.4.4/32 detail
4.4.4.4/32, version 554934, internal 0x1000001 0x83 (ptr 0x73221b2c) [1], 0x0 (0x73363e40), 0xa28 (0x734aa394)
Updated Jun 5 13:15:21.297
Prefix Len 32, traffic index 0, precedence n/a, priority 1
gateway array (0x71ff9300) reference count 12012, flags 0x1400068, source rib (7), 0 backups
[4005 type 5 flags 0x8401 (0x7235d150) ext 0x0 (0x0)]
LW-LDI[type=5, refc=3, ptr=0x73363e40, sh-ldi=0x7235d150]
gateway array update type-time 1 Jun 5 13:09:38.107
LDI Update time Jun 5 13:09:38.110
LW-LDI-TS Jun 5 13:15:21.298
via 12.0.0.1/32, Bundle-Ether12, 9 dependencies, weight 0, class 0, protected [flags 0x400]
path-idx 0 bkup-idx 1 NHID 0x0 [0x715302ec 0x0]
next hop 12.0.0.1/32
local label 100004 labels imposed {100004}
via 13.0.0.2/32, Bundle-Ether13, 9 dependencies, weight 0, class 0, backup (remote) [flags 0x8300]
path-idx 1 NHID 0x0 [0x71a36600 0x0]
next hop 13.0.0.2/32, PQ-node 4.4.4.4
local adjacency
local label 100004 labels imposed {24001}
Load distribution: 0 (refcount 4005)
Hash OK Interface Address
0 Y Bundle-Ether12 12.0.0.1
Notes:
Currently only local SRLG configurations are considered while calculating the backup path
ISIS Configuration
router isis core
set-overload-bit on-startup wait-for-bgp
is-type level-2-only
net 49.001.001.001.001.001.00
segment-routing global-block 100000 132000
nsr
distribute bgp-ls
nsf cisco
address-family ipv4 unicast
metric-style wide
microloop avoidance protected
microloop avoidance rib-update-delay 1000
maximum-paths 32
redistribute connected
segment-routing mpls sr-prefer
segment-routing prefix-sid-map receive
segment-routing prefix-sid-map advertise-local
!
address-family ipv6 unicast
single-topology
adjacency-check disable
segment-routing mpls
segment-routing prefix-sid-map receive
segment-routing prefix-sid-map advertise-local
!
interface Bundle-Ether13
circuit-type level-2-only
bfd minimum-interval 100
bfd multiplier 3
bfd fast-detect ipv4
point-to-point
csnp-interval 65535
hello-padding sometimes
hello-interval 1
hello-multiplier 5
address-family ipv4 unicast
fast-reroute per-prefix
fast-reroute per-prefix tiebreaker srlg-disjoint index 100
fast-reroute per-prefix ti-lfa
metric 10
!
address-family ipv6 unicast
metric 10
!
!
RP/0/RSP0/CPU0:PE1#show isis fast-reroute 4.4.4.4/32
L2 4.4.4.4/32 [30/115]
via 13.0.0.2, Bundle-Ether13, P3, SRGB Base: 100000, Weight: 0
Backup path: TI-LFA (srlg), via 12.0.0.1, Bundle-Ether12 P2, SRGB Base: 100000, Weight: 0
Prefix label: 100004
RP/0/RSP0/CPU0:PE1# sho cef 4.4.4.4/32
4.4.4.4/32, version 1205, internal 0x1000001 0x83 (ptr 0x720db43c) [1], 0x0 (0x720aead0), 0xa28 (0x732cf5a4)
Updated Jun 20 01:06:39.300
Prefix Len 32, traffic index 0, precedence n/a, priority 1
via 12.0.0.1/32, Bundle-Ether12, 8 dependencies, weight 0, class 0, backup [flags 0x300]
path-idx 0 NHID 0x0 [0x71a69e9c 0x0]
next hop 12.0.0.1/32
local adjacency
local label 100004 labels imposed {100004}
via 13.0.0.2/32, Bundle-Ether13, 8 dependencies, weight 0, class 0, protected [flags 0x400]
path-idx 1 bkup-idx 0 NHID 0x0 [0x715948d0 0x0]
next hop 13.0.0.2/32
local label 100004 labels imposed {100004}
OSPF Configuration
router ospf core router-id 1.1.1.1 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls fast-reroute per-link segment-routing prefix-sid-map advertise-local redistribute connected address-family ipv4 area 0 mpls traffic-eng interface Bundle-Ether12 fast-reroute per-prefix fast-reroute per-prefix ti-lfa enable fast-reroute per-prefix tiebreaker srlg-disjoint index 100 ! interface Bundle-Ether13 ! interface Loopback0 prefix-sid index 1 ! interface TenGigE0/0/0/0/0 network broadcast ! interface TenGigE0/0/0/0/1 ! interface HundredGigE0/1/0/0 ! interface HundredGigE0/1/0/1 ! interface HundredGigE0/1/0/2 ! ! mpls traffic-eng router-id 1.1.1.1 !
ISIS Configuration
router isis core set-overload-bit on-startup wait-for-bgp is-type level-2-only net 49.001.001.001.001.001.00 segment-routing global-block 100000 132000 nsr distribute bgp-ls nsf cisco log adjacency changes lsp-refresh-interval 3283 max-lsp-lifetime 3600 address-family ipv4 unicast metric-style wide microloop avoidance protected microloop avoidance rib-update-delay 1000 maximum-paths 32 redistribute connected segment-routing mpls sr-prefer segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local !
OSPF Configuration
router ospf core
router-id 1.1.1.1
segment-routing global-block 200000 232000
segment-routing mpls
segment-routing forwarding mpls
fast-reroute per-link
segment-routing prefix-sid-map advertise-local
microloop avoidance rib-update-delay 100
microloop avoidance
redistribute connected
address-family ipv4
area 0
mpls traffic-eng
interface Bundle-Ether12
fast-reroute per-prefix
fast-reroute per-prefix ti-lfa enable
fast-reroute per-prefix tiebreaker srlg-disjoint index 100
!
interface Bundle-Ether13
!
interface Loopback0
prefix-sid index 1
!
interface TenGigE0/0/0/0/0
network broadcast
!
interface TenGigE0/0/0/0/1
!
interface HundredGigE0/1/0/0
!
interface HundredGigE0/1/0/1
!
interface HundredGigE0/1/0/2
!
!
Segment Routing LDP can coexist together and by default LDP is preferred over SR. To override the default preference “segment-routing mpls sr-prefer” needs to be configured under router isis address family ipv4 hierarchy.
Notes
router isis core set-overload-bit on-startup wait-for-bgp is-type level-2-only net 49.001.001.001.001.001.00 segment-routing global-block 100000 132000 nsr distribute bgp-ls nsf cisco address-family ipv4 unicast metric-style wide microloop avoidance protected microloop avoidance rib-update-delay 1000 mpls traffic-eng level-2-only mpls traffic-eng router-id 1.1.1.1 maximum-paths 32 redistribute connected segment-routing mpls sr-prefer segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! address-family ipv6 unicast single-topology adjacency-check disable
segment-routing mpls sr-prefer segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local !
LDP to SR Migration
Step 1: All routers running LDP
RP/0/RSP0/CPU0:R1#show cef 4.4.4.4/32 4.4.4.4/32, version 2022, internal 0x1000001 0x1 (ptr 0x7320502c) [1], 0x0 (0x737aba50), 0xa28 (0x7234e478) Updated Jun 12 19:25:28.531 Prefix Len 32, traffic index 0, precedence n/a, priority 3 via 13.0.0.2/32, Bundle-Ether13, 12 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0x71a36600 0x0] next hop 13.0.0.2/32 local adjacency local label 24037 labels imposed {24024} RP/0/RSP0/CPU0:R1#traceroute 4.4.4.4 Sun Jun 12 19:27:02.310 PDT Type escape sequence to abort. Tracing the route to 4.4.4.4 1 13.0.0.2 [MPLS: Label 24024 Exp 0] 1 msec 0 msec 0 msec 2 34.0.0.1 0 msec * 0 msec RP/0/RSP0/CPU0:R1#
Step 2: Enable Segment routing on all nodes
router isis core
segment-routing global-block 100000 132000
address-family ipv4 unicast
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map receive
segment-routing prefix-sid-map advertise-local
!
address-family ipv6 unicast
segment-routing mpls
segment-routing prefix-sid-map receive
segment-routing prefix-sid-map advertise-local
interface Loopback0
address-family ipv4 unicast
prefix-sid index 1
!
address-family ipv6 unicast
prefix-sid index 11
!
!
Step 3: On R1 migrate services to SR by configuring SR preference over LDP
RP/0/RSP0/CPU0:R1# conf Sun Jun 12 19:26:22.827 PDT RP/0/RSP0/CPU0:R1(config)#router isis core RP/0/RSP0/CPU0:R1(config-isis)# address-family ipv4 unicast RP/0/RSP0/CPU0:R1(config-isis-af)# segment-routing mpls sr-prefer RP/0/RSP0/CPU0:R1(config-isis-af)# RP/0/RSP0/CPU0:R1(config-isis-af)#commi RP/0/RSP0/CPU0:R1#sho cef 4.4.4.4/32 Sun Jun 12 19:26:39.062 PDT 4.4.4.4/32, version 17635858, internal 0x1000001 0x83 (ptr 0x7320502c) [1], 0x0 (0x737abe88), 0xa28 (0x7233d678) Updated Apr 5 05:56:57.079 Prefix Len 32, traffic index 0, precedence n/a, priority 1 via 13.0.0.2/32, Bundle-Ether13, 14 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0x71a36600 0x0] next hop 13.0.0.2/32 local adjacency local label 100004 labels imposed {100004} RP/0/RSP0/CPU0:R1#traceroute 4.4.4.4 Sun Jun 12 19:26:44.047 PDT Type escape sequence to abort. Tracing the route to 4.4.4.4 1 13.0.0.2 [MPLS: Label 100004 Exp 0] 1 msec 0 msec 0 msec 2 34.0.0.1 1 msec * 0 msec
RSVP TE to SRTE Migration
Step 1 : Exisiting RSVP Tunnel from R1 to R4
RP/0/RSP0/CPU0:R1#sh run int tunnel-te 14 interface tunnel-te14 ipv4 unnumbered Loopback0 autoroute announce ! destination 4.4.4.4 path-option 1 explicit name P2-P5-PE4 ! explicit-path name P2-P5-PE4 index 1 next-address strict ipv4 unicast 2.2.2.2 index 2 next-address strict ipv4 unicast 5.5.5.5 index 3 next-address strict ipv4 unicast 4.4.4.4 !
RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 14
Name: tunnel-te14 Destination: 4.4.4.4 Ifhandle:0x20089a0
Signalled-Name: R1_t14
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit P2-P5-PE4 (Basis for Setup, path weight 220)
G-PID: 0x0800 (derived from egress interface properties)
Bandwidth Requested: 0 kbps CT0
Creation Time: Sun Jun 12 19:35:58 2016 (00:11:30 ago)
Config Parameters:
Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff
Metric Type: TE (global)
Path Selection:
Tiebreaker: Min-fill (default)
Hop-limit: disabled
Cost-limit: disabled
Path-invalidation timeout: 10000 msec (default), Action: Tear (default)
AutoRoute: enabled LockDown: disabled Policy class: not set
Forward class: 0 (default)
Forwarding-Adjacency: disabled
Autoroute Destinations: 0
Loadshare: 0 equal loadshares
Auto-bw: disabled
Fast Reroute: Disabled, Protection Desired: None
Path Protection: Not Enabled
BFD Fast Detection: Disabled
Reoptimization after affinity failure: Enabled
Soft Preemption: Disabled
History:
Tunnel has been up for: 00:09:13 (since Sun Jun 12 19:38:15 PDT 2016)
Current LSP:
Uptime: 00:00:25 (since Sun Jun 12 19:47:03 PDT 2016)
Reopt. LSP:
Last Failure:
LSP not signalled, has no S2Ls
Date/Time: Sun Jun 12 19:46:45 PDT 2016 [00:00:43 ago]
Prior LSP:
ID: 3 Path Option: 1
Removal Trigger: reoptimization completed
Path info (IS-IS core level-2):
Node hop count: 3
Hop0: 12.0.0.1
Hop1: 25.0.0.2
Hop2: 45.0.0.1
Hop3: 4.4.4.4
Displayed 1 (of 5) heads, 0 (of 0) midpoints, 0 (of 0) tails
Displayed 1 up, 0 down, 0 recovering, 0 recovered he
RP/0/RSP0/CPU0:R1#sh cef 4.4.4.4 detail 4.4.4.4/32, version 2058, internal 0x1000001 0x1 (ptr 0x7320502c) [1], 0x0 (0x737abca8), 0xa20 (0x7232c8f0) Updated Jun 12 19:39:15.336 Prefix Len 32, traffic index 0, precedence n/a, priority 3 gateway array (0x720044c4) reference count 3, flags 0x68, source lsd (5), 1 backups [3 type 4 flags 0x8401 (0x7235dfd0) ext 0x0 (0x0)] LW-LDI[type=1, refc=1, ptr=0x737abca8, sh-ldi=0x7235dfd0] gateway array update type-time 1 Jun 12 19:38:46.935 LDI Update time Jun 12 19:38:46.936 LW-LDI-TS Jun 12 19:38:46.936 via 4.4.4.4/32, tunnel-te14, 7 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0x71a38820 0x71a366a8] next hop 4.4.4.4/32 local adjacency local label 24037 labels imposed {ImplNull} Load distribution: 0 (refcount 3) Hash OK Interface Address 0 Y tunnel-te14 point2point RP/0/RSP0/CPU0:R1# traceroute 4.4.4.4 Type escape sequence to abort. Tracing the route to 4.4.4.4 1 12.0.0.1 [MPLS: Label 24009 Exp 0] 0 msec 0 msec 0 msec 2 25.0.0.2 [MPLS: Label 24002 Exp 0] 0 msec 0 msec 0 msec 3 45.0.0.1 0 msec * 0 msec RP/0/RSP0/CPU0:R1#
Step2 : Add a second option in tunnel interface for Segment routing path
RP/0/RSP0/CPU0:R1(config)#int tunnel-te 14
RP/0/RSP0/CPU0:R1(config-if)#path-option 2 explicit name P2-P5-PE4 segment-routing
RP/0/RSP0/CPU0:R1(config-if)#commi
RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 14
Name: tunnel-te14 Destination: 4.4.4.4 Ifhandle:0x20089a0
Signalled-Name: R1_t14
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit P2-P5-PE4 (Basis for Setup, path weight 220)
path option 2, (Segment-Routing) type explicit P2-P5-PE4
<output skipped>
Path info (IS-IS core level-2):
Node hop count: 3
Hop0: 12.0.0.1
Hop1: 25.0.0.2
Hop2: 45.0.0.1
Hop3: 4.4.4.4
Displayed 1 (of 5) heads, 0 (of 0) midpoints, 0 (of 0) tails
Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
RP/0/RSP0/CPU0:R1#
Step3: Switchover to Segment routing path option
RP/0/RSP0/CPU0:R1# mpls traffic-eng switchover tunnel-te 14 path-option 2
RP/0/RSP0/CPU0:R1#sh mpls traffic-eng tunnels 14
Name: tunnel-te14 Destination: 4.4.4.4 Ifhandle:0x20089e0
Signalled-Name: R1_t14
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 2, (Segment-Routing) type explicit P2-P5-PE4 (Basis for Setup)
path option 1, type explicit P2-P5-PE4
G-PID: 0x0800 (derived from egress interface properties)
Bandwidth Requested: 0 kbps CT0
Creation Time: Sun Jun 12 19:59:40 2016 (00:04:13 ago)
Config Parameters:
Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff
Metric Type: TE (global)
Path Selection:
Tiebreaker: Min-fill (default)
Protection: any (default)
Hop-limit: disabled
Cost-limit: disabled
Path-invalidation timeout: 10000 msec (default), Action: Tear (default)
AutoRoute: enabled LockDown: disabled Policy class: not set
Forward class: 0 (default)
Forwarding-Adjacency: disabled
Autoroute Destinations: 0
Loadshare: 0 equal loadshares
Auto-bw: disabled
Path Protection: Not Enabled
BFD Fast Detection: Disabled
Reoptimization after affinity failure: Enabled
SRLG discovery: Disabled
History:
Tunnel has been up for: 00:00:32 (since Sun Jun 12 20:03:21 PDT 2016)
Current LSP:
Uptime: 00:00:07 (since Sun Jun 12 20:03:46 PDT 2016)
Reopt. LSP:
Last Failure:
LSP not signalled, has no S2Ls
Date/Time: Sun Jun 12 20:01:15 PDT 2016 [00:02:38 ago]
Prior LSP:
ID: 9 Path Option: 1
Removal Trigger: reoptimization completed
Segment-Routing Path Info (IS-IS core level-2)
Segment0[Node]: 2.2.2.2, Label: 100002
Segment1[Node]: 5.5.5.5, Label: 100005
Segment2[Node]: 4.4.4.4, Label: 100004
Displayed 1 (of 5) heads, 0 (of 0) midpoints, 0 (of 0) tails
Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
RP/0/RSP0/CPU0:R1#sh cef 4.4.4.4 detail
4.4.4.4/32, version 2386, internal 0x1000001 0x1 (ptr 0x73205b24) [1], 0x0 (0x737ac950), 0xa20 (0x72336878)
Updated Jun 12 20:03:47.240
Prefix Len 32, traffic index 0, precedence n/a, priority 3
gateway array (0x720039a0) reference count 3, flags 0x68, source lsd (5), 1 backups
[3 type 4 flags 0x8401 (0x7235d650) ext 0x0 (0x0)]
LW-LDI[type=1, refc=1, ptr=0x737ac950, sh-ldi=0x7235d650]
gateway array update type-time 1 Jun 12 20:03:22.175
LDI Update time Jun 12 20:03:22.176
LW-LDI-TS Jun 12 20:03:22.176
via 4.4.4.4/32, tunnel-te14, 7 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0x71a36600 0x71a383dc]
next hop 4.4.4.4/32
local adjacency
local label 24037 labels imposed {ImplNull}
Load distribution: 0 (refcount 3)
Hash OK Interface Address
0 Y tunnel-te14 point2point
RP/0/RSP0/CPU0:R1#traceroute 4.4.4.4
Type escape sequence to abort.
Tracing the route to 4.4.4.4
1 12.0.0.1 [MPLS: Labels 100005/100004 Exp 0] 1 msec 0 msec 0 msec
2 25.0.0.2 [MPLS: Label 100004 Exp 0] 0 msec 0 msec 0 msec
3 45.0.0.1 0 msec * 0 msec
RP/0/RSP0/CPU0:R1#
Since LDP labels are propaged in SR domain, SRMS is used to distribute the labels for LDP prefixes in SR domain.
SRMS Configuration
segment-routing mapping-server prefix-sid-map address-family ipv4 4.4.4.4/32 100 range 1
R1 to R4 Traceroute
RP/0/RSP0/CPU0:R1#traceroute 4.4.4.4
Type escape sequence to abort.
Tracing the route to 4.4.4.4
1 13.0.0.2 [MPLS: Label 100100 Exp 0] 1 msec 0 msec 0 msec --> SR label
2 23.0.0.1 [MPLS: Label 100100 Exp 0] 0 msec 0 msec 0 msec --> SR label
3 25.0.0.2 [MPLS: Label 24021 Exp 0] 2 msec 0 msec 0 msec --> LDP label
4 45.0.0.1 0 msec * 0 msec
RP/0/RSP0/CPU0:R1#sh mpls forwarding prefix 4.4.4.4/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 100100 100100 SR Pfx (idx 100) BE13 13.0.0.2 1923 RP/0/RSP0/CPU0:R3#sh mpls forwarding prefix 4.4.4.4/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 100100 100100 SR Pfx (idx 100) BE23 23.0.0.1 1925 RP/0/RSP1/CPU0:R2#sh mpls forwarding labels 100100 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 100100 24021 SR Pfx (idx 100) BE25 25.0.0.2 2794 RP/0/RSP0/CPU0:R5#sh mpls forwarding prefix 4.4.4.4/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 24021 Pop 4.4.4.4/32 BE45 45.0.0.1 55574 RP/0/RSP0/CPU0:R5# R4 to R1 Traceroute
RP/0/RSP0/CPU0:R4#traceroute 1.1.1.1
Type escape sequence to abort.
Tracing the route to 1.1.1.1
1 45.0.0.2 [MPLS: Label 31033 Exp 0] 1 msec 0 msec 0 msec --> LDP label
2 25.0.0.1 [MPLS: Label 28026 Exp 0] 0 msec 1 msec 0 msec --> LDP label
3 23.0.0.2 [MPLS: Label 100001 Exp 0] 0 msec 0 msec 0 msec --> SR label
4 13.0.0.1 0 msec * 0 msec
RP/0/RSP0/CPU0:R4#
RP/0/RSP0/CPU0:R4#sh mpls forwarding prefix 1.1.1.1/32
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24055 31033 1.1.1.1/32 BE45 45.0.0.2 38428
RP/0/RSP0/CPU0:R5#sh mpls forwarding prefix 1.1.1.1/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 31033 28026 1.1.1.1/32 BE25 25.0.0.1 29840 RP/0/RSP1/CPU0:R2#sh mpls forwarding prefix 1.1.1.1/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 28026 100001 1.1.1.1/32 BE23 23.0.0.2 181088 RP/0/RSP1/CPU0:R2# RP/0/RSP0/CPU0:R3# sh mpls forwarding prefix 1.1.1.1/32 Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 100001 Pop SR Pfx (idx 1) BE13 13.0.0.1 201799
L2VPN and L3VPN services over SR+LDP transport
RP/0/RSP0/CPU0:R1#show cef vrf VRF0 44.44.44.44
44.44.44.44/32, version 90, internal 0x5000001 0x0 (ptr 0x72263d64) [1], 0x0 (0x0), 0x208 (0x7398c7c0)
Updated Jun 6 00:55:13.582
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 4.4.4.4/32, 8 dependencies, recursive [flags 0x6000]
path-idx 0 NHID 0x0 [0x736bcd84 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 4.4.4.4/32 via 100100/0/21
next hop 13.0.0.2/32 BE13 labels imposed {100100 24008} --> [SR label, VPN label]
RP/0/RSP0/CPU0:R1#traceroute vrf VRF0 44.44.44.44
Mon Jun 6 00:57:22.300 PDT
Type escape sequence to abort.
Tracing the route to 44.44.44.44
1 13.0.0.2 [MPLS: Labels 100100/24008 Exp 0] 1 msec 0 msec 0 msec
2 23.0.0.1 [MPLS: Labels 100100/24008 Exp 0] 0 msec 0 msec 0 msec
3 25.0.0.2 [MPLS: Labels 24021/24008 Exp 0] 0 msec 0 msec 0 msec
4 45.0.0.1 1 msec * 1 msec
RP/0/RSP0/CPU0:R1#
RP/0/RSP0/CPU0:R4#sho cef vrf VRF0 11.11.11.11
11.11.11.11/32, version 89, internal 0x5000001 0x0 (ptr 0x72049584) [1], 0x0 (0x0), 0x208 (0x722e9d68)
Updated Jun 6 19:41:49.217
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 1.1.1.1/32, 8 dependencies, recursive [flags 0x6000]
path-idx 0 NHID 0x0 [0x72c366fc 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 1.1.1.1/32 via 24055/0/21
next hop 45.0.0.2/32 BE45 labels imposed {31033 24000} --> [LDP label, VPN label]
RP/0/RSP0/CPU0:R4# traceroute vrf VRF0 11.11.11.11
Type escape sequence to abort.
Tracing the route to 11.11.11.11
1 45.0.0.2 [MPLS: Labels 31033/24000 Exp 0] 1 msec 0 msec 0 msec
2 25.0.0.1 [MPLS: Labels 28026/24000 Exp 0] 0 msec 0 msec 0 msec
3 23.0.0.2 [MPLS: Labels 100001/24000 Exp 0] 0 msec 0 msec 0 msec
4 13.0.0.1 1 msec * 0 msec
RP/0/RSP0/CPU0:R4#
PE1 Configuration
There is no change in services configuration, change is only in the core configuration, SR is replaced with LDP in the core. Only PE1 configuration is shown here.
BGP Configuration
router bgp 100 nsr bgp router-id 1.1.1.1 bgp graceful-restart bgp log neighbor changes detail bgp bestpath med always bgp bestpath compare-routerid ibgp policy out enforce-modifications bgp bestpath as-path multipath-relax address-family vpnv4 unicast ! address-family vpnv6 unicast ! address-family l2vpn vpls-vpws ! neighbor-group IBGP remote-as 100 update-source Loopback0 graceful-restart address-family ipv4 unicast route-policy PASS in route-policy PASS out soft-reconfiguration inbound always ! address-family vpnv4 unicast ! address-family vpnv6 unicast ! address-family l2vpn vpls-vpws ! ! neighbor 4.4.4.4 use neighbor-group IBGP ! vrf VRF1 rd 100:1 address-family ipv4 unicast redistribute connected ! address-family ipv6 unicast redistribute connected !
ISIS Configuration
router isis core set-overload-bit on-startup wait-for-bgp is-type level-2-only net 49.001.001.001.001.001.00 segment-routing global-block 100000 132000 nsr nsf cisco log adjacency changes address-family ipv4 unicast metric-style wide microloop avoidance protected microloop avoidance rib-update-delay 1000 redistribute connected segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! address-family ipv6 unicast single-topology adjacency-check disable segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! interface Bundle-Ether12 circuit-type level-2-only bfd minimum-interval 100 bfd multiplier 3 bfd fast-detect ipv4 point-to-point hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast fast-reroute per-prefix fast-reroute per-prefix ti-lfa metric 10 ! address-family ipv6 unicast metric 10 ! ! interface Bundle-Ether13 circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast fast-reroute per-prefix tiebreaker srlg-disjoint index 100 fast-reroute per-prefix ti-lfa ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 passive circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast prefix-sid index 1 ! address-family ipv6 unicast metric 10 prefix-sid index 11 ! ! VRF Configuration
vrf VRF1 description Profile-1 vpn id 100:1 address-family ipv4 unicast import route-target 100:1 ! export route-target 100:1 ! ! address-family ipv6 unicast import route-target 100:1 ! export route-target 100:1 ! ! !
RP/0/RSP0/CPU0:PE1#sh run mpls ldp ---> No LDP configuration % No such configuration item(s)
L2VPN Service
L2VPN Configuration
l2vpn
logging
pseudowire
!
pw-class VPLS
encapsulation mpls
transport-mode ethernet
load-balancing
flow-label both
!
!
!
bridge group L2VPN
bridge-domain VPLS -----> MPLS Based VPLS Service
mac
secure
action none
logging
!
!
igmp snooping profile vpls_profile
interface TenGigE0/0/0/0/0.300
!
interface TenGigE0/0/0/0/1.300
!
interface HundredGigE0/1/0/0.300
!
interface HundredGigE0/1/0/1.300
!
vfi PE
neighbor 4.4.4.4 pw-id 10
pw-class VPLS
!
!
!
bridge-domain VPLS-BGP-AD -----> BGP AD Based VPLS Service
igmp snooping profile vpls_profile
interface TenGigE0/0/0/0/0.400
!
interface TenGigE0/0/0/0/1.400
!
interface HundredGigE0/1/0/0.400
!
interface HundredGigE0/1/0/1.400
!
vfi BGP-AD
vpn-id 100
autodiscovery bgp
rd auto
route-target 100:400
signaling-protocol bgp
ve-id 1
!
!
!
!
!
RP/0/RSP0/CPU0:PE1#sho l2v bridge-domain
Legend: pp = Partially Programmed.
Bridge group: L2VPN, bridge-domain: VPLS, id: 0, state: up, ShgId: 0, MSTi: 0
Aging: 300 s, MAC limit: 4000, Action: none, Notification: syslog
Filter MAC addresses: 0
ACs: 6 (4 up), VFIs: 1, PWs: 2 (2 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
List of ACs:
Hu0/1/0/0.300, state: up, Static MAC addresses: 0
Hu0/1/0/1.300, state: up, Static MAC addresses: 0
Te0/0/0/0/0.300, state: up, Static MAC addresses: 0
Te0/0/0/0/1.300, state: up, Static MAC addresses: 0
List of Access PWs:
List of VFIs:
VFI PE (up)
Neighbor 3.3.3.3 pw-id 10, state: up, Static MAC addresses: 0
Neighbor 4.4.4.4 pw-id 10, state: up, Static MAC addresses: 0
Bridge group: L2VPN, bridge-domain: VPLS-BGP-AD, id: 1, state: up, ShgId: 0, MSTi: 0
Aging: 300 s, MAC limit: 4000, Action: none, Notification: syslog
Filter MAC addresses: 0
ACs: 6 (4 up), VFIs: 1, PWs: 1 (1 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
List of ACs:
Hu0/1/0/0.400, state: up, Static MAC addresses: 0
Hu0/1/0/1.400, state: up, Static MAC addresses: 0
Te0/0/0/0/0.400, state: up, Static MAC addresses: 0
Te0/0/0/0/1.400, state: up, Static MAC addresses: 0
List of Access PWs:
List of VFIs:
VFI BGP-AD (up)
Neighbor 4.4.4.4 pw-id 100, state: up, Static MAC addresses: 0
RP/0/RSP0/CPU0:PE1# sho l2v bridge-domain neighbor 4.4.4.4 pw-id 10 detail
Legend: pp = Partially Programmed.
Bridge group: L2VPN, bridge-domain: VPLS, id: 0, state: up, ShgId: 0, MSTi: 0
Coupled state: disabled
VINE state: Default
MAC learning: enabled
MAC withdraw: enabled
MAC withdraw for Access PW: enabled
MAC withdraw sent on: bridge port up
MAC withdraw relaying (access to access): disabled
Flooding:
Broadcast & Multicast: enabled
Unknown unicast: enabled
MAC aging time: 300 s, Type: inactivity
MAC limit: 4000, Action: none, Notification: syslog
MAC limit reached: no
MAC port down flush: enabled
MAC Secure: enabled, Logging: enabled, Action: none
Split Horizon Group: none
Dynamic ARP Inspection: disabled, Logging: disabled
IP Source Guard: disabled, Logging: disabled
DHCPv4 snooping: disabled
IGMP Snooping: enabled
IGMP Snooping profile: vpls_profile
MLD Snooping profile: none
Storm Control: disabled
Bridge MTU: 1500
MIB cvplsConfigIndex: 1
Filter MAC addresses:
P2MP PW: disabled
Create time: 17/06/2016 11:43:14 (23:30:00 ago)
No status change since creation
ACs: 6 (4 up), VFIs: 1, PWs: 2 (2 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
List of Access PWs:
List of VFIs:
VFI PE (up)
PW: neighbor 4.4.4.4, PW ID 10, state is up ( established )
PW class VPLS, XC ID 0xc0000009
Encapsulation MPLS, protocol LDP
Source address 1.1.1.1
PW type Ethernet, control word disabled, interworking none
Sequencing not set
Flow Label flags configured (Tx=1,Rx=1), negotiated (Tx=1,Rx=1)
PW Status TLV in use
MPLS Local Remote
------------ ------------------------------ -------------------------
Label 24066 24041
Group ID 0x0 0x0
Interface PE Access PW
MTU 1500 1500
Control word disabled disabled
PW type Ethernet Ethernet
VCCV CV type 0x2 0x2
(LSP ping verification) (LSP ping verification)
VCCV CC type 0x6 0x6
(router alert label) (router alert label)
(TTL expiry) (TTL expiry)
------------ ------------------------------ -------------------------
Incoming Status (PW Status TLV):
Status code: 0x0 (Up) in Notification message
MIB cpwVcIndex: 3221225481
Create time: 17/06/2016 11:55:19 (23:17:54 ago)
Last time status changed: 18/06/2016 11:11:56 (00:01:17 ago)
Last time PW went down: 18/06/2016 11:11:56 (00:01:17 ago)
MAC withdraw messages: sent 9, received 12
Forward-class: 0
Static MAC addresses:
Statistics:
packets: received 1274 (unicast 0), sent 16
bytes: received 68796 (unicast 0), sent 800
MAC move: 0
Storm control drop counters:
packets: broadcast 0, multicast 0, unknown unicast 0
bytes: broadcast 0, multicast 0, unknown unicast 0
DHCPv4 snooping: disabled
IGMP Snooping profile: none
MLD Snooping profile: none
VFI Statistics:
drops: illegal VLAN 0, illegal length 0
RP/0/RSP0/CPU0:PE1# sho l2v bridge-domain neighbor 4.4.4.4 pw-id 100 detail
Legend: pp = Partially Programmed.
Bridge group: L2VPN, bridge-domain: VPLS-BGP-AD, id: 1, state: up, ShgId: 0, MSTi: 0
Coupled state: disabled
VINE state: Default
MAC learning: enabled
MAC withdraw: enabled
MAC withdraw for Access PW: enabled
MAC withdraw sent on: bridge port up
MAC withdraw relaying (access to access): disabled
Flooding:
Broadcast & Multicast: enabled
Unknown unicast: enabled
MAC aging time: 300 s, Type: inactivity
MAC limit: 4000, Action: none, Notification: syslog
MAC limit reached: no
MAC port down flush: enabled
MAC Secure: disabled, Logging: disabled
Split Horizon Group: none
Dynamic ARP Inspection: disabled, Logging: disabled
IP Source Guard: disabled, Logging: disabled
DHCPv4 snooping: disabled
IGMP Snooping: enabled
IGMP Snooping profile: vpls_profile
MLD Snooping profile: none
Storm Control: disabled
Bridge MTU: 1500
MIB cvplsConfigIndex: 2
Filter MAC addresses:
P2MP PW: disabled
Create time: 17/06/2016 11:43:14 (23:30:35 ago)
No status change since creation
ACs: 6 (4 up), VFIs: 1, PWs: 1 (1 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
List of Access PWs:
List of VFIs:
VFI BGP-AD (up)
VPN-ID: 100, Auto Discovery: BGP, state is Provisioned (Service Connected
Route Distinguisher: (auto) 1.1.1.1:65535
Import Route Targets:
100:400
Export Route Targets:
100:400
Signaling protocol: BGP
Local VE-ID: 1 , Advertised Local VE-ID : 1
VE-Range: 10
PW: neighbor 4.4.4.4, PW ID 100, state is up ( established )
PW class not set, XC ID 0xc0000008
Encapsulation MPLS, Auto-discovered (BGP), protocol BGP
Source address 1.1.1.1
PW type VPLS, control word disabled, interworking none
Sequencing not set
MPLS Local Remote
------------ ------------------------------ -------------------------
Label 99961 99960
MTU 1500 1500
Control word disabled disabled
PW type VPLS VPLS
VE-ID 1 2
------------ ------------------------------ -------------------------
MIB cpwVcIndex: 3221225480
Create time: 17/06/2016 11:49:06 (23:24:43 ago)
Last time status changed: 17/06/2016 11:49:06 (23:24:43 ago)
MAC withdraw messages: sent 0, received 0
Forward-class: 0
Static MAC addresses:
Statistics:
packets: received 0 (unicast 0), sent 0
bytes: received 0 (unicast 0), sent 0
MAC move: 0
Storm control drop counters:
packets: broadcast 0, multicast 0, unknown unicast 0
bytes: broadcast 0, multicast 0, unknown unicast 0
DHCPv4 snooping: disabled
IGMP Snooping profile: none
MLD Snooping profile: none
VFI Statistics:
drops: illegal VLAN 0, illegal length 0
RP/0/RSP0/CPU0:PE1# show mpls forwarding labels 99961
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
99961 Pop PW(4.4.4.4:100) BD=1 point2point 0
PE1 Configuration
Loopback Configuration
interface Loopback0 ipv4 address 1.1.1.1 255.255.255.255 ipv6 address 2002:1:1:1::1/128 ! ISIS Configuration
router isis core is-type level-2-only net 49.001.001.001.001.001.00 segment-routing global-block 100000 132000 nsr nsf cisco log adjacency changes address-family ipv4 unicast metric-style wide microloop avoidance protected microloop avoidance rib-update-delay 1000 maximum-paths 32 segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! address-family ipv6 unicast single-topology adjacency-check disable segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! interface Bundle-Ether13 circuit-type level-2-only bfd minimum-interval 100 bfd multiplier 3 bfd fast-detect ipv4 point-to-point hello-padding sometimes address-family ipv4 unicast fast-reroute per-prefix fast-reroute per-prefix ti-lfa metric 10 ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 1 ! address-family ipv6 unicast prefix-sid index 11 ! ! !
BGP Configuration
router bgp 100 nsr bgp router-id 1.1.1.1 bgp graceful-restart address-family vpnv4 unicast ! address-family vpnv6 unicast ! neighbor-group IBGP remote-as 100 update-source Loopback0 graceful-restart address-family vpnv4 unicast ! address-family vpnv6 unicast ! ! neighbor 2.2.2.2 use neighbor-group IBGP ! vrf VRF0 rd 100:0 address-family ipv4 unicast redistribute connected ! address-family ipv6 unicast redistribute connected ! ! vrf VRF1 rd 100:1 address-family ipv4 unicast redistribute connected ! address-family ipv6 unicast redistribute connected !
VRF Interface Configuration
interface TenGigE0/0/0/0/0.201 vrf VRF1 ipv4 address 200.0.0.1 255.255.255.0 ipv6 address 2000::1/96 encapsulation dot1q 201 ! VRF Configuration
vrf VRF1 description Profile-1 vpn id 100:1 address-family ipv4 unicast import route-target 100:1 ! export route-target 100:1 ! ! address-family ipv6 unicast import route-target 100:1 ! export route-target 100:1 !
P Configuration
Loopback Configuration
interface Loopback0 ipv4 address 3.3.3.3 255.255.255.255 ipv6 address 2002:3:3:3::3/128
ISIS Configuration
router isis core is-type level-2-only net 49.001.001.003.003.003.00 segment-routing global-block 100000 132000 log adjacency changes address-family ipv4 unicast metric-style wide segment-routing mpls
segment-routing prefix-sid-map receive
! address-family ipv6 unicast single-topology segment-routing mpls segment-routing prefix-sid-map receive ! interface Bundle-Ether13 circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast fast-reroute per-prefix fast-reroute per-prefix ti-lfa metric 100 ! address-family ipv6 unicast metric 10 ! ! interface Bundle-Ether23 circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast metric 200 ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 3 ! address-family ipv6 unicast prefix-sid index 13 !
ASBR1 Configuration
Loopback Configuration
interface Loopback0 ipv4 address 2.2.2.2 255.255.255.255 ipv6 address 2002:2:2:2::1/128 !
ISIS configuration
router isis core is-type level-2-only net 49.001.001.002.002.002.00 segment-routing global-block 100000 132000 distribute bgp-ls log adjacency changes address-family ipv4 unicast metric-style wide metric 10 segment-routing mpls sr-prefer segment-routing prefix-sid-map receive ! address-family ipv6 unicast single-topology segment-routing mpls segment-routing prefix-sid-map receive ! interface Bundle-Ether23 circuit-type level-2-only point-to-point csnp-interval 65535 hello-padding sometimes hello-interval 1 hello-multiplier 5 address-family ipv4 unicast metric 200 ! address-family ipv6 unicast metric 10 ! ! interface Loopback0 address-family ipv4 unicast prefix-sid index 2 ! address-family ipv6 unicast prefix-sid index 12 ! !
BGP Configuration
router bgp 100 bgp router-id 2.2.2.2 bgp graceful-restart address-family vpnv4 unicast retain route-target all ! address-family vpnv6 unicast retain route-target all ! neighbor-group ASBR remote-as 200 address-family vpnv4 unicast route-policy PASS in route-policy PASS out ! address-family vpnv6 unicast route-policy PASS in route-policy PASS out ! ! neighbor-group IBGP remote-as 100 update-source Loopback0 graceful-restart address-family vpnv4 unicast next-hop-self ! address-family vpnv6 unicast next-hop-self ! ! neighbor 1.1.1.1 use neighbor-group IBGP ! neighbor 25.0.0.2 use neighbor-group ASBR ! !
Inter-AS Link
interface Bundle-Ether25 ipv4 address 25.0.0.1 255.255.255.252 ipv6 address 2000:25::2/120 ! Static route towards ASBR2, needed in inter-as Option B to allocate label for /32 nexhop prefix.
router static address-family ipv4 unicast 25.0.0.2/32 Bundle-Ether25 ! !
ASBR2 Configuration
Loopback Configuration
interface Loopback0 ipv4 address 5.5.5.5 255.255.255.255 ! OSPF Configuration
router ospf core router-id 5.5.5.5 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls area 0 interface Bundle-Ether45 ! interface Loopback0 prefix-sid index 5 !
BGP Configuration
router bgp 200 bgp router-id 5.5.5.5 bgp graceful-restart address-family vpnv4 unicast retain route-target all ! address-family vpnv6 unicast retain route-target all ! neighbor-group ASBR remote-as 100 address-family vpnv4 unicast route-policy PASS in route-policy PASS out ! address-family vpnv6 unicast route-policy PASS in route-policy PASS out ! ! neighbor-group IBGP remote-as 200 update-source Loopback0 graceful-restart address-family vpnv4 unicast next-hop-self ! address-family vpnv6 unicast next-hop-self ! ! neighbor 4.4.4.4 use neighbor-group IBGP ! neighbor 25.0.0.1 use neighbor-group ASBR !
Inter-AS Link
interface Bundle-Ether25 ipv4 address 25.0.0.2 255.255.255.252 ! Static route towards ASBR1
router static address-family ipv4 unicast 25.0.0.1/32 Bundle-Ether25 !
PE2 Configuration
Loopback Configuration
interface Loopback0 ipv4 address 4.4.4.4 255.255.255.255 ipv6 address 2002:4:4:4::4/128
OSPF Configuration
router ospf core router-id 4.4.4.4 segment-routing global-block 200000 232000 segment-routing mpls segment-routing forwarding mpls area 0 interface Bundle-Ether45 ! interface Loopback0 prefix-sid index 4 ! ! !
BGP Configuration
router bgp 200 bgp router-id 4.4.4.4 bgp graceful-restart address-family vpnv4 unicast ! address-family vpnv6 unicast ! neighbor-group IBGP remote-as 200 update-source Loopback0 graceful-restart address-family vpnv4 unicast ! address-family vpnv6 unicast ! ! neighbor 5.5.5.5 use neighbor-group IBGP ! vrf VRF0 rd 100:0 address-family ipv4 unicast redistribute connected ! ! vrf VRF1 rd 100:1 address-family ipv4 unicast redistribute connected ! address-family ipv6 unicast redistribute connected ! ! !
VRF Configuration vrf VRF1 description Profile-1 vpn id 100:1 address-family ipv4 unicast import route-target 100:1 ! export route-target 100:1 ! ! address-family ipv6 unicast import route-target 100:1 ! export route-target 100:1 ! !
VRF Interface
interface TenGigE0/3/0/12.201 vrf VRF1 ipv4 address 200.0.8.1 255.255.255.0 ipv6 address 2000:8::1/96 encapsulation dot1q 201 !
Verification
Here remote prefix 200.0.8.0/24 and 2000:8::1/96 are learned on PE1 via Inter-AS Option B
Connectivity check using ping
RP/0/RSP0/CPU0:PE1#ping vrf VRF1 200.0.8.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 200.0.8.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms RP/0/RSP0/CPU0:PE1#ping vrf VRF1 2000:8::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2000:8::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Path verification using traceroute
RP/0/RSP0/CPU0:PE1#traceroute vrf VRF1 200.0.8.1 Type escape sequence to abort. Tracing the route to 200.0.8.1 1 13.0.0.2 [MPLS: Labels 100002/24037 Exp 0] 1 msec 0 msec 0 msec 2 23.0.0.1 [MPLS: Label 24037 Exp 0] 0 msec 0 msec 0 msec 3 25.0.0.2 [MPLS: Label 24014 Exp 0] 0 msec 0 msec 0 msec 4 45.0.0.1 1 msec * 1 msec RP/0/RSP0/CPU0:PE1#traceroute vrf VRF1 2000:8::1 Type escape sequence to abort. Tracing the route to 2000:8::1 1 1300::2 [MPLS: Labels 100002/24027 Exp 0] 1 msec 0 msec 0 msec 2 2300::1 [MPLS: Label 24027 Exp 0] 0 msec 0 msec 0 msec 3 2000:45::2 [MPLS: Label 24028 Exp 0] 0 msec 0 msec 0 msec 4 2000:8::1 1 msec 1 msec 2 msec
Lets trace the VRF packet path from PE1 to PE4 for prefix 200.0.8.1
Check VPNv4 label for prefix 200.0.8.1
RP/0/RSP0/CPU0:PE1#show bgp vpnv4 unicast labels BGP router identifier 1.1.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 990 BGP NSR Initial initsync version 14 (Reached) BGP NSR/ISSU Sync-Group versions 990/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Rcvd Label Route Distinguisher: 100:1 (default for vrf VRF1) *> 11.11.11.11/32 0.0.0.0 nolabel 24005 *>i14.14.14.14/32 2.2.2.2 24019 nolabel *>i33.33.33.33/32 2.2.2.2 24020 nolabel *> 100.0.0.0/24 0.0.0.0 nolabel 24005 *>i100.0.2.0/24 2.2.2.2 24021 nolabel *> 200.0.0.0/24 0.0.0.0 nolabel 24005 *> 200.0.1.0/24 0.0.0.0 nolabel 24005 *> 200.0.2.0/24 0.0.0.0 nolabel 24005 *> 200.0.3.0/24 0.0.0.0 nolabel 24005 *>i200.0.8.0/24 2.2.2.2 24037 nolabel *>i200.0.9.0/24 2.2.2.2 24038 nolabel
CEF entry for prefix 200.0.8.1
RP/0/RSP0/CPU0:PE1#show cef vrf VRF1 200.0.8.1
200.0.8.0/24, version 86, internal 0x5000001 0x0 (ptr 0x7225b394) [1], 0x0 (0x0), 0x208 (0x7232e8e8)
Updated Jun 19 16:10:32.623
Prefix Len 24, traffic index 0, precedence n/a, priority 3
via 2.2.2.2/32, 5 dependencies, recursive [flags 0x6000]
path-idx 0 NHID 0x0 [0x723f7d10 0x0]
recursion-via-/32
next hop VRF - 'default', table - 0xe0000000
next hop 2.2.2.2/32 via 100002/0/21
next hop 13.0.0.2/32 BE13 labels imposed {100002 24037}
Next-hop 2.2.2.2 is rechable via node-sid/label : 100002
VPNv4 label for prefix 200.0.8.1 : 24037
RP/0/RSP0/CPU0:PE1#sho mpls forwarding prefix 2.2.2.2/32
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
100002 100002 SR Pfx (idx 2) BE13 13.0.0.2 19114
RP/0/RSP0/CPU0:PE1#
ASBR1 entry for VPNv4 label 24037
RP/0/RSP1/CPU0:ASBR1#show mpls forwarding labels 24037
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24037 24014 100:1:200.0.8.0/24 BE25 25.0.0.2 1308
RP/0/RSP1/CPU0:ASBR1#sho bgp vpnv4 unicast labels
BGP router identifier 2.2.2.2, local AS number 100
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0 RD version: 0
BGP main routing table version 53
BGP NSR Initial initsync version 12 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Rcvd Label Local Label
Route Distinguisher: 100:1
*>i11.11.11.11/32 1.1.1.1 24005 24009
*> 14.14.14.14/32 25.0.0.2 24011 24019
*> 33.33.33.33/32 25.0.0.2 24012 24020
*>i100.0.0.0/24 1.1.1.1 24005 24010
*> 100.0.2.0/24 25.0.0.2 24013 24021
*>i200.0.0.0/24 1.1.1.1 24005 24011
*>i200.0.1.0/24 1.1.1.1 24005 24012
*>i200.0.2.0/24 1.1.1.1 24005 24013
*>i200.0.3.0/24 1.1.1.1 24005 24014
*> 200.0.8.0/24 25.0.0.2 24014 24037
*> 200.0.9.0/24 25.0.0.2 24015 24038
ASBR2 entry for VPNv4 incoming label 24014
RP/0/RSP0/CPU0:ASBR2#show mpls forwarding labels 24014
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24014 24008 100:1:200.0.8.0/24 4.4.4.4 1308
RP/0/RSP0/CPU0:ASBR5#sho bgp vpnv4 unicast labels
Thu Jun 19 17:22:44.951 UTC
BGP router identifier 5.5.5.5, local AS number 200
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0 RD version: 0
BGP main routing table version 42
BGP NSR Initial initsync version 12 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Rcvd Label Local Label
Route Distinguisher: 100:1
*> 11.11.11.11/32 25.0.0.1 24009 24021
*>i14.14.14.14/32 4.4.4.4 24008 24011
*>i33.33.33.33/32 4.4.4.4 24008 24012
*> 100.0.0.0/24 25.0.0.1 24010 24022
*>i100.0.2.0/24 4.4.4.4 24008 24013
*> 200.0.0.0/24 25.0.0.1 24011 24023
*> 200.0.1.0/24 25.0.0.1 24012 24025
*> 200.0.2.0/24 25.0.0.1 24013 24026
*> 200.0.3.0/24 25.0.0.1 24014 24027
*>i200.0.8.0/24 4.4.4.4 24008 24014
*>i200.0.9.0/24 4.4.4.4 24008 24015
RP/0/RSP0/CPU0:ASBR2#show mpls forwarding prefix 4.4.4.4/32
Thu Jun 19 17:14:32.659 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
200004 Pop No ID BE45 45.0.0.1 19073
Acknowledgements: Written by Anoop Veetil, EPN Team
Hello Xthuijs,
Thank you for such good examples which are much helpful to understand SR knowledge, based on that I'm trying to configure multiple VPNs via SRTE between same SR endpoints , unfortunately I can't make it. As there're two VPN instances over the PE1 and PE3 (remote point),
explicit-path name vrf-test **** explicit-path applied by tunnel100 index 1 next-address strict ipv4 unicast 10.1.23.2 index 5 next-address strict ipv4 unicast 10.1.12.1 ! explicit-path name vrf-test02 *** explicit-path applied by tunnel 101 index 1 next-address strict ipv4 unicast 10.1.32.2 index 5 next-address strict ipv4 unicast 10.1.21.1
I configured two TE tunnels applied different explicit paths policy, and take both tunnels auto announced in ISIS.
interface tunnel-te100 ipv4 unnumbered Loopback100 autoroute metric absolute 50 autoroute announce ! destination 10.100.1.1 ***same remote endpoint PE3 path-option 1 explicit name vrf-test segment-routing !
interface tunnel-te101 ipv4 unnumbered Loopback100 autoroute metric absolute 66 autoroute announce ! destination 10.100.1.1 *** same remote endpoint PE3
path-option 1 explicit name vrf-test02 segment-routing
by the static VRF configuration to steer each VPN traffic to respective Tunnel interface,
router static vrf test01 *** steer vpn test01 via tunnel 100 address-family ipv4 unicast 10.255.1.0/24 tunnel-te100 10.255.11.0/24 tunnel-te100 ! ! vrf test02 *** steer vpn test02 via tunnel 101 address-family ipv4 unicast 10.255.12.0/24 tunnel-te101
but failed as the route to PE3 loopback via one of this Tunnel interface , seems can't distinguish different Tunnel interface to the same remote PE3.
RP/0/0/CPU0:R3#sh mpls forwarding prefix 10.100.1.1/32 *** destinaion PE3 loopback via Tunnel100 Sun Feb 18 14:31:28.363 UTC Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 24010 Pop 10.100.1.1/32 tt100 10.100.1.1 0
Could you give some idea how to steer VPN to destined tunnel ? On my understanding for the route to PE3 shouldnt' go via Tunnel but via common ISIS routing , then very VPN instance steer via respecrtive Tunnel interface. but if I disable the "autoroute announce"within Tunnel interface, seems VPN static policy didn't work properly , same result as before.
@xthuijs could you share with me versions(IOS,IOS-XE,IOS-XR) supported segment routing
Thank you for this content. I'm really interested to build SR a scenario on AWS using XRv9000 routers, but the images are not shown. Could you please update the links?
Nice post, thanks!
@xthuijs Could you please re-upload the images in this post. Obviously, the images have been deleted.
Thank you!
Hey Xander,
I've got a couple of real quick questions in respect to SR on an ASR9K platform (XR32 6.5.3) with a single core (L2 only) ISIS process running uniformly....no Inter-AS.
1) Any benefit to using a prefix-sid vs. an absolute sid for setting the local node under the routing process loopback inf. I get the relationship with the SRGB but was just curious if there was a situation where one would prefer one vs another.
2) What's the best practice around specifying the Global SRGB for use...specifically setting a default SRGB range w/ no routing process overrides vs. overriding the default SRGB at the routing process level vs. both non-default SRGB plus a custom SRGB at the routing process level? I've been using the KISS principle with a single non-default SRGB range and that is it. Again...just want to make sure I'm not missing a use case requiring an IGP override.
Thanks in Advance! :-)
Jim
WARNING: some of the configuration examples are not copy pastable anymore due to SR having evolved over the releases since this was written with new config sections. will update as soon as possible.
it is a little tricky since i can't edit this article as in the new forums engine this article is too big.. sigh
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: