LDP Configuration
This chapter contains LDP (Label Distribution Protocol) configuration examples.
Label Distribution Protocol Overview
The Label Distribution Protocol (LDP) is a routing protocol used in MPLS technology. The LDP daemon (ldpd) uses NSM services to obtain routing information. Routers send Hello packets to establish Hello Adjacencies with other nearby routers. This opens the way for sessions between routers to be established during which routers exchange labels in preparation for forwarding packets.
LDP generates labels for and exchanges labels between peer routers. It works in with other routing protocols (RIP, OSPF and BGP) to create label-switched paths (LSP) used when forwarding packets. A label-switched path is the path taken by all packets that belong to the Forwarding Equivalence Class (FEC) corresponding to that LSP. This is analogous to establishing a virtual circuit in ATM (Asynchronous Transfer Mechanism). In this way, OcNOS LDP assigns labels to every destination address and destination prefix provided by OcNOS. The LDP interface to the MPLS forwarder adds labels to, and deletes labels from, the forwarding tables.
LDP Adjacencies
LDP defines a mechanism for discovering adjacent, LDP capable Label Switching Routers (LSR) that participate in label switching (adjacencies). Whenever a new router comes up it sends out a hello packet to a specified, multicast address announcing itself to the network. Every router directly connected to the network receives the packet. Receipt of a hello packet from another LSR creates a Hello Adjacency with that LSR. To create a Hello Adjacency with an LSR that cannot send/receive multicast packets, LDP allows a router to be manually configured to send unicast Hello packets to non-multicast LSRs . This non-multicast LSR is a targeted peer. Adjacencies are maintained by sending out periodic Hello packets to the multicast group and to all targeted peers. Hello packets are sent using UDP.
LDP Session
LDP capable LSRs establish a session before exchanging label information. All the session messages are sent using TCP to ensure reliable delivery. After the LSRs establish a session and negotiate options, a given pair of routers may exchange label information. The labels exchanged over a session are valid only during the lifetime of the session and routers release them when session is closed.
Forwarding Equivalence Class
A Forwarding Equivalence Class (FEC) section defines a set of packets that are forwarded on the same path by the MPLS network. Two common methods to define FEC are by advertising the IPv4 routes using:
• Host Address The LSR uses the address of the destination host to create this FEC. This means that all the packets going to this destination will take the same LSP.
• Prefix The LSR uses destination prefix to create this FEC. This means that all the packets take the LSP corresponding to the longest matching prefix.
Label Generation
An LDP Label is a 20-bit number the LSR uses to forward a packet to its destination. When an LSR creates a new FEC, the router generates new labels and distributes them to its peers. A router keeps both incoming and outgoing labels in its database.
Label Distribution Modes
The OcNOS LDP implementation supports two label distribution modes:
• Downstream Unsolicited In this mode, next hop LSRs distribute labels to peers without waiting for a label request.
• Downstream on Demand In this mode, a LSR distributes a label to a peer only if there is a pending label request from the peer.
Label Retention Mode
The OcNOS LDP implementation supports two label retention modes:
• Liberal Retention Mode In this mode, the LSR retains all labels received from all sources. This mode helps in fast LSP setup in case of a change in next hop.
• Conservative Retention Mode In this mode, the LSR retains only those labels received from peers that are the next hop for a given FEC. This mode is used by LSRs that have a constraint on the number of labels that it can retain at any given time.
LSP Control
LSPs can be set up in the following two ways:
• Ordered Control In this mode, an LSR distributes a label for a FEC to its peer only if it has a corresponding label from its next hop or it is the egress node.
• Independent Control In this mode, an LSR may distribute a label to its peers without waiting for a corresponding label from its next hop.
Loop Detection
Loop detection can be enabled to detect routing loops in LSPs. There are two methods supported for the loop detection mechanism:
• Hop Count During setup of an LSP, the LSP passes hop count with the LSP setup messages. This hop count is incriminated by each node router participating in LSP establishment. If the hop count exceeds the maximum configured value, the LSP setup process is stopped and a notification message is passed back to the message originator.
• Path Vector A path vector contains a list of LSR identifiers. This is passed as a part of LSP setup messages. Each LSR participating in the LSP establishment adds its own LSR identifier to the path vector. If an LSR finds its own identifier in the path vector, it drops the message and sends a message back to the originator.
The use of these messages ensures that a loop is detected while establishing a label switched path and before any data is passed over that LSP.
Configure LDP
The enable-ldp ipv4 command is used to enable LDP for IPv4 on a specified interface, as follows:
• enable-ldp ipv4 enables only IPv4 on the interface
For the examples covered in this section, the command enable-ldp ipv4 is used.
Enable Label Switching
Running LDP on a system requires the following tasks:
1. Enabling label-switching on the interface on NSM.
2. Enabling LDP on an interface in the LDP daemon.
3. Running an IGP (Internal Gateway Protocol), for example, OSPF, to distribute reachability information within the MPLS cloud.
4. Configuring the transport address.
Basic LDP Topology
R1 - NSM
#configure terminal | Enter configure mode. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.1/24 | Assign IP address to interface. |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#exit | Exit interface mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 192.168.0.1/32 secondary | Set the IP address of the loopback interface to 192.168.0.1/32. |
(config-if)#commit | Commit the transaction. |
R1 - LDP
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#router-id 192.168.0.1 | Set the router ID to IP address 192.168.0.1. |
(config-router)#transport-address ipv4 192.168.0.1 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter “ipv6” if you are configuring an IPv6 interface. |
(config-router)#targeted-peer ipv4 192.168.0.3 | Configure targeted peer. |
(config-router-targeted-peer)#exit | Exit-targeted-peer-mode. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe1 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe1. |
(config-if)#commit | Commit the transaction. |
R1 - OSPF
(config)#router ospf 100 | Configure the routing process and specify the Process ID (100). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#network 10.10.10.0/24 area 0 (config-router)#network 192.168.0.1/32 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#commit | Commit the transaction. |
R2 - NSM
#configure terminal | Enter configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 192.168.0.2/32 secondary | Set the IP address of the loopback interface to 192.168.0.2/32. |
(config-if)#exit | Exit interface mode. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.2/24 | Assign IP address to interface |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#exit | Exit interface mode. |
(config)#interface xe2 | Specify the interface (xe2) to be configured. |
(config-if)#ip address 10.10.11.1/24 | Assign IP address to interface. |
(config-if)#label-switching | Enable label switching on interface xe2. |
(config-if)#commit | Commit the transaction. |
R2 - LDP
(config)#router ldp | Enter Router mode. |
(config-router)#router-id 192.168.0.2 | Set the router ID to IP address 192.168.0.2. |
(config-router)#transport-address ipv4 192.168.0.2 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter “ipv6” if you are configuring an IPv6 interface. |
(config-router)#exit | Exit Router mode and return to Configure mode. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#enable-ldp ipv4 | Enable LDP on a specified interface (xe1). |
(config-if)#exit | Exit interface mode. |
(config)#interface xe2 | Specify the interface (xe2) to be configured. |
(config-if)#enable-ldp ipv4 | Enable LDP on a specified interface (xe. |
(config-if)#commit | Commit the transaction. |
R2 - OSPF
(config)#router ospf 100 | Configure the routing process and specify the Process ID (100). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#network 10.10.10.0/24 area 0 (config-router)#network 10.10.11.0/24 area 0 (config-router)#network 192.168.0.2/32 area 0 | Define the interfaces on which OSPF runs and associate the area ID (0) with them. |
(config-router)#commit | Commit the transaction. |
R3 - NSM
#configure terminal | Enter configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 192.168.0.3/32 secondary | Set the IP address of the loopback interface to 192.168.0.3/32. |
(config-if)#exit | Exit interface mode. |
(config)#interface xe2 | Specify the interface (xe2) to be configured. |
(config-if)#ip address 10.10.11.1/24 | Set the IP address of the interface to 10.10.11.1/24. |
(config-if)#label-switching | Enable label switching on interface xe2. |
(config-if)#commit | Commit the transaction. |
R3 - LDP
(config)#router ldp | Enter Router mode. |
(config-router)#router-id 192.168.0.3 | Set the router ID for IP address 192.168.0.3. |
(config-router)#transport-address ipv4 192.168.0.3 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter “ipv6” if you are configuring an IPv6 interface. |
(config-router)#targeted-peer ipv4 192.168.0.1 | Configure targeted peer. |
(config-router-targeted-peer)#exit | Exit-targeted-peer-mode. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe2 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe2. |
(config-if)#commit | Commit the transaction. |
R3 - OSPF
(config)#router ospf 100 | Configure the routing process and specify the Process ID (100). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#network 10.10.11.0/24 area 0 (config-router)#network 192.168.0.3/32 area 0 | Define the interfaces on which OSPF runs and associate the area ID (0) with them. |
(config-router)#commit | Commit the transaction. |
Validation
PE1
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
192.168.0.2 xe1 Passive OPERATIONAL 30 00:18:59
192.168.0.3 xe1 Passive OPERATIONAL 30 00:02:07
PE1#show ldp targeted-peer count
Num Targeted Peers: 1 [UP: 1]
PE1#show ldp session count
Multicast Peers : 2 [UP: 1]
Targeted Peers : 1 [UP: 0]
Total Sessions : 2 [UP: 1]
PE1#show ldp routes
Prefix Addr Nexthop Addr Intf Owner
10.10.10.0/24 0.0.0.0 xe1
10.10.11.0/24 10.10.10.2 xe1
192.168.0.1/32 0.0.0.0 lo
192.168.0.2/32 10.10.10.2 xe1
192.168.0.3/32 10.10.10.2 xe1
PE1#show ldp fec-ipv4 count
Num. IPv4 FEC(s): 5
P
P#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
192.168.0.1 xe1 Active OPERATIONAL 30 00:23:52
192.168.0.3 xe2 Passive OPERATIONAL 30 00:23:49
P#show ldp session count
Multicast Peers : 3 [UP: 2]
Targeted Peers : 0 [UP: 0]
Total Sessions : 2 [UP: 2]
P#show ldp routes
Prefix Addr Nexthop Addr Intf Owner
10.10.10.0/24 0.0.0.0 xe1 connected
10.10.11.0/24 0.0.0.0 xe2 connected
192.168.0.1/32 10.10.10.1 xe1 ospf
192.168.0.2/32 0.0.0.0 lo connected
192.168.0.3/32 10.10.11.2 xe2 ospf
PE2
PE2#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
192.168.0.2 xe2 Active OPERATIONAL 30 00:27:47
192.168.0.1 xe2 Active OPERATIONAL 30 00:10:58
PE2#show ldp session count
Multicast Peers : 2 [UP: 1] Targeted Peers : 1 [UP: 1]
Total Sessions : 2 [UP: 2]
OcNOS#show ldp targeted-peer count
Num Targeted Peers: 1 [UP: 1]
OcNOS#show ldp routes
Prefix Addr Nexthop Addr Intf Owner
10.10.10.0/24 10.10.11.1 xe2 ospf
10.10.11.0/24 0.0.0.0 xe2 connected
192.168.0.1/32 10.10.11.1 xe17 ospf
192.168.0.2/32 10.10.11.1 xe2 ospf
192.168.0.3/32 0.0.0.0 lo connected
PE2#show ldp fec
fec fec-ipv4
PE2#show ldp fec-ipv4 count
------------------------
Num. IPv4 FEC(s): 5
------------------------
LDP MD5 Authentication
LDP MD5 configuration enables LDP MD5 password authentication on a per-peer basis.
Direct LDP Session
In this example, MD5 authentication is configured for a direct LDP session.
Topology for Direct Session MD5
R1
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config)#router-id 1.1.1.1 | Configure the router id. |
(config-router)#transport-address ipv4 1.1.1.1 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. |
(config-router)#neighbor 10.10.10.2 auth md5 password 0 pwd1 | Configure the MD5 authentication and password, pwd1, for the neighbor, 10.10.10.2. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 1.1.1.1/32 secondary | Set the IP address of the loopback interface to 1.1.1.1/32. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.1/24 | Set the IP address of the interface to 10.10.10.1/24.. |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe1. |
(config-if)#commit | Commit the transaction. |
R2
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config)#router-id 2.2.2.2 | Configure the router id. |
(config-router)#transport-address ipv4 2.2.2.2 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. |
(config-router)#neighbor 10.10.10.1 auth md5 password 0 pwd1 | Configure the MD5 authentication and password, pwd1, for the neighbor, 10.10.10.1. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 2.2.2.2/32 secondary | Set the IP address of the loopback interface to 2.2.2.2/32. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.2/24 | Set the IP address of the interface to 10.10.10.2/24. |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe1. |
(config-if)#commit | Commit the transaction. |
Validation
PE1
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
2.2.2.2 xe1 Passive OPERATIONAL 30 00:14:53
PE1#show ldp session count
--------------------------------------------
Multicast Peers : 1 [UP: 1]
Targeted Peers : 1 [UP: 1]
Total Sessions : 1 [UP: 1]
PE2
PE2#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
1.1.1.1 xe1 Active OPERATIONAL 30 00:15:05
PE2#sh ldp session count
--------------------------------------------
Multicast Peers : 1 [UP: 1]
Targeted Peers : 1 [UP: 1]
Total Sessions : 1 [UP: 1]
--------------------------------------------
Configure LDP MD5 for Targeted LDP Session
In this example, MD5 authentication is configured for the targeted LDP session established between R1 and R3.
Topology for Targeted Session MD5
PE1
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config-router)#neighbor 10.10.10.2 auth md5 password 0 pwd1 | Configure the MD5 authentication and password, pwd1, for the neighbor, 10.10.10.2. |
(config-router)#targeted-peer ipv4 3.3.3.3 | Configure the targeted peer IP address (R3 loopback address). |
(config-router-targeted-peer)#exit | Exit targeted peer mode. |
(config-router)#neighbor 3.3.3.3 auth md5 password 0 pwd2 | Configure the MD5 authentication and password, pwd2, for the targeted peer, 3.3.3.3. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface lo | Specify the loopback interface (lo) to be configured. |
(config-if)#ip address 1.1.1.1/32 secondary | Set the IP address of the loopback interface to 1.1.1.1/ 32. |
(config-if)#commit | Commit the transaction. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.1/24 | Set the IP address of the interface to 10.10.10.1/24. |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe1. |
P
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode to enable LDP. |
(config)#router-id 2.2.2.2 | Configure the router ID. |
(config-router)#transport-address ipv4 2.2.2.2 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 2.2.2.2/32 secondary | Set the IP address of the loopback interface to 2.2.2.2/32 |
(config-if)#exit | Exit interface mode. |
(config)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe1. |
(config-if)#exit | Exit interface mode. |
(config)#interface xe2 | Specify the interface (xe2) to be configured. |
(config-if)#label-switching | Enable label switching on interface xe2. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe2. |
(config-if)#commit | Commit the transaction. |
PE2
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config-router)#router-id 3.3.3.3 | Configure the router-id |
(config-router)#transport-address ipv4 3.3.3.3 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4. |
(config-router)#targeted-peer ipv4 1.1.1.1 | Configure the targeted peer IP address (R1 loopback address). |
(config-router-targeted-peer)#exit | Exit targeted peer mode. |
(config-router)#neighbor 1.1.1.1 auth md5 password 0 pwd2 | Configure the MD5 authentication and password, pwd2, for the targeted peer, 1.1.1.1. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface lo | Specify the loopback (lo) interface to be config. |
(config-if)#ip address 3.3.3.3/32 secondary | Set the IP address of the loopback interface to 3.3.3.3/32 |
(config-if)#exit | Exit interface mode. |
(config)#interface xe2 | Specify the interface (xe2) to be configured. |
(config-if)#label-switching | Enable label switching on interface xe2. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe2. |
(config-if)#commit | Commit the transaction. |
Removing MD5 Authentication for LDP Session
This example shows removing the MD5 authentication configuration from an LDP session.
LDP Session Topology
PE1
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config-router)#no neighbor 10.10.10.2 auth md5 password | Remove MD5 authentication for the neighbor, 10.10.10.2. |
(config-router)#commit | Commit the transaction. |
PE2
#configure terminal | Enter configure mode. |
(config)#router ldp | Enter Router mode. |
(config-router)#no neighbor 10.10.10.1 auth md5 password | Remove MD5 authentication for the neighbor, 10.10.10.1. |
(config-router)#commit | Commit the transaction. |
(config)#interface lo | Specify the loopback (lo) interface to be config |
(config-if)#ip address 2.2.2.2/32 secondary | Set the IP address of the loopback interface to 2.2.2.2/32 |
(config-if)#exit | Exit lo interface |
(config-if)#interface xe1 | Specify the interface (xe1) to be configured. |
(config-if)#ip address 10.10.10.2/24 | Set the IP address of the interface to 10.10.10.2/24 |
(config-if)#label-switching | Enable label switching on interface xe1. |
(config-if)#enable-ldp ipv4 | Enable LDP on interface xe1. |
(config-if)#commit | Commit the transaction. |
Validation for LDP Session Count
This example shows the number of configured LDP basic neighbors and targeted neighbors count.
#show ldp session count
--------------------------------------------
Basic sessions : 100 [UP: 100]
Targeted sessions : 500 [UP: 500]
Total Sessions : 600 [UP: 600]
--------------------------------------------
#show ldp targeted-peer count
-------------------------------------------------
Num Targeted Peers: 500 [UP: 500]
-------------------------------------------------
Validation for FTN, SWAP, and POP Entries
This example shows forwarding table entries, SWAP entries and POP entries for IPV4 and IPV6 prefixes.
#show mpls forwarding-table count
---------------------------------------------
Num FTNs : 300000 [UP: 3, INSTALLED: 300000]
Primary FTNs : 300000 [UP: 3, INSTALLED: 300000]
Secondary FTNs : 0 [UP: 0, INSTALLED: 0]
---------------------------------------------
---------------------------------------------
Num IPV6 FTNs : 300000 [UP: 300000, INSTALLED: 300000]
Primary IPV6 FTNs : 300000 [UP: 300000, INSTALLED: 300000]
Secondary IPV6 FTNs : 0 [UP: 0, INSTALLED: 0]
---------------------------------------------
#show mpls ilm-table count
------------------------------------------------
Num ILMs : 300000 [UP: 0, INSTALL: 300000]
Swap Entries : 300000 [UP: 0, INSTALL: 300000]
Pop Entries : 0 [UP: 0, INSTALL: 0]
VC Pop Entries : 0 [UP: 0]
------------------------------------------------
MPLS LDP PING and TRACEROUTE
This example shows MPLS ping and trace route for LDP
#show ip ospf neighbor
Total number of full neighbors: 1
OSPF process 0 VRF(default):
Neighbor ID Pri State Dead Time Address Interface Instance ID
2.2.2.2 1 Full/DR 00:00:33 10.10.10.2 xe1 0
#show ldp session
Peer IP Address IF Name My Role State KeepAlive
2.2.2.2 xe1 Passive OPERATIONAL 30
#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 2.2.2.2/32 1 1 - - LSP_DEFAULT 3 xe1 No 10.10.10.2
#ping mpls ldp 2.2.2.2/32 detail
Sending 5 MPLS Echos to 2.2.2.2, timeout is 5 seconds
Codes:
'!' - Success, 'Q' - request not sent, '.' - timeout,
'x' - Retcode 0, 'M' - Malformed Request, 'm' - Errored TLV,
'N' - LBL Mapping Err, 'D' - DS Mismatch,
'U' - Unknown Interface, 'R' - Transit (LBL Switched),
'B' - IP Forwarded, 'F' No FEC Found, 'f' - FEC Mismatch,
'P' - Protocol Error, 'X' - Unknown code,
'Z' - Reverse FEC Validation Failed
Type 'Ctrl+C' to abort
! seq_num = 1 2.2.2.2 1.73 ms
! seq_num = 2 2.2.2.2 1.46 ms
! seq_num = 3 2.2.2.2 0.64 ms
! seq_num = 4 2.2.2.20.65 ms
! seq_num = 5 2.2.2.20.62 ms
Success Rate is 100.00 percent (5/5)
round-trip min/avg/max = 0.62/1.18/1.73
#trace mpls ldp 2.2.2.2/32 detail
Tracing MPLS Label Switched Path to 2.2.2.2, timeout is 5 seconds
Codes:
'!' - Success, 'Q' - request not sent, '.' - timeout,
'x' - Retcode 0, 'M' - Malformed Request, 'm' - Errored TLV,
'N' - LBL Mapping Err, 'D' - DS Mismatch,
'U' - Unknown Interface, 'R' - Transit (LBL Switched),
'B' - IP Forwarded, 'F' No FEC Found, 'f' - FEC Mismatch,
'P' - Protocol Error, 'X' - Unknown code,
'Z' - Reverse FEC Validation Failed
Type 'Ctrl+C' to abort
0 10.10.10.2 [Labels: 0]
! 1 2.2.2.2 0.69 ms
#ping mpls ldp 2.2.2.2/32 detail interval 5000 rep
reply-mode repeat
#ping mpls ldp 2.2.2.2/32 detail interval 5000 repeat 50
Sending 50 MPLS Echos to 2.2.2.2, timeout is 5 seconds
Codes:
'!' - Success, 'Q' - request not sent, '.' - timeout,
'x' - Retcode 0, 'M' - Malformed Request, 'm' - Errored TLV,
'N' - LBL Mapping Err, 'D' - DS Mismatch,
'U' - Unknown Interface, 'R' - Transit (LBL Switched),
'B' - IP Forwarded, 'F' No FEC Found, 'f' - FEC Mismatch,
'P' - Protocol Error, 'X' - Unknown code,
'Z' - Reverse FEC Validation Failed
Type 'Ctrl+C' to abort
! seq_num = 1 2.2.2.2 0.70 ms
! seq_num = 2 2.2.2.2 0.73 ms
! seq_num = 3 2.2.2.2 0.71 ms
Success Rate is 100.00 percent (3/3)
round-trip min/avg/max = 0.70/0.71/0.73
LDP Session Protection
LDP Session Protection is an optimization feature. It is used when directly connected LDP peer sessions (via multicast) become unavailable but still have IP reachability over a different path. LDP bindings are kept in the LIB to save time from full synchronization when the direct connections comes back up.
There are two types of LDP connections:
• Direct LDP Session - directly connected LSR, one hop away.
• Targeted LDP Session - not directly connected LSR, multiple hops away.
By default if the directly connected LDP session loses connectivity to its peer, all bindings are flushed from the LIB. When interfaces come up and LDP sessions are re-established, LDP has to synchronize its label bindings.
Enable session protection for indirect link failures to protect the labels until the session is active when multicast adjacency gets deleted. When multicast and TLDP connection exists between the same peer, the interface down notification is received only on the router with the link failure but not in the peer. When the interface goes down the multicast adjacency and the labels get deleted without notifying the peer device. When the interface comes up before the adjacency hold timer expires in the peer node, multicast adjacency is added and advertises the labels to the peer but does not receive any labels from the peer as there is no change in the adjacency.
LDP Session Protection is an optimization, when enabled, will not flush the LIB when direct LDP sessions go down. As long as there exists another path to the LDP Peer, it will maintain the LIB synchronized using Targeted LDP Session. IGP will cause a reroute, but the label bindings will still be present from the old peer. When interfaces come back up, LDP will not need to synchronize since it maintains the state using the targeted sessions.
1. Running LDP Session Protection on a system requires the following tasks:
2. Enabling label-switching on the interface on NSM.
3. Enabling LDP on an interface in the LDP daemon.
4. Running an IGP (Internal Gateway Protocol), for example, OSPF, to distribute reachability information within the MPLS cloud.
5. Configuring the transport address.
6. Configuring LDP Session Protection.
Basic LDP Topology
PE1 - NSM
#configure terminal | Enter configure mode. |
(config)#interface xe6 | Specify the interface (xe6) to be configured. |
(config-if)#ip address 10.10.10.1/24 | Configure IPv4 address for xe6 |
(config-if)#label-switching | Enable label switching on interface xe6. |
(config)#interface xe12 | Specify the interface (xe12) to be configured. |
(config-if)#ip address 30.30.30.1/24 | Configure IPv4 address for xe12 |
(config-if)#label-switching | Enable label switching on interface xe12. |
(config-if)#exit | Exit interface mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 1.1.1.1/32 | Set the IP address of the loopback interface to 1.1.1.1/32. |
(config-if)#commit | Commit the transaction. |
PE1 - LDP
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#router-id 1.1.1.1 | Set the router ID to IP address 1.1.1.1 |
(config-router)#transport-address ipv4 1.1.1.1 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter "ipv6" if you are configuring an IPv6 interface. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe6 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe6. |
(config)#interface xe12 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe12. |
(config-if)#commit | Commit the transaction. |
PE1 - OSPF
(config)#router ospf 1 | Configure the routing process and specify the Process ID (1). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#ospf router-id 1.1.1.1 | Configure Router ID |
(config-router)#network 1.1.1.1/32 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 10.10.10.1/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 30.30.30.1/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#commit | Commit the transaction. |
P1 - NSM
#configure terminal | Enter configure mode. |
(config)#interface xe47 | Specify the interface (xe47) to be configured. |
(config-if)#ip address 10.10.10.2/24 | Configure IPv4 address for xe47 |
(config-if)#label-switching | Enable label switching on interface xe47. |
(config)#interface xe48 | Specify the interface (xe48) to be configured. |
(config-if)#ip address 20.20.20.1/24 | Configure IPv4 address for xe48 |
(config-if)#label-switching | Enable label switching on interface xe48. |
(config-if)#exit | Exit interface mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 2.2.2.2/32 secondary | Set the IP address of the loopback interface to 2.2.2.2/32. |
(config-if)#commit | Commit the transaction. |
P1 - LDP
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#router-id 2.2.2.2 | Set the router ID to IP address 2.2.2.2 |
(config-router)#transport-address ipv4 2.2.2.2 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter "ipv6" if you are configuring an IPv6 interface. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe47 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe47. |
(config)#interface xe48 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe48. |
(config-if)#commit | Commit the transaction. |
P1 - OSPF
(config)#router ospf 1 | Configure the routing process and specify the Process ID (1). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#ospf router-id 2.2.2.2 | Configure Router ID |
(config-router)#network 2.2.2.2/32 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 10.10.10.2/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 20.20.20.1/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#commit | Commit the transaction. |
P2 - NSM
#configure terminal | Enter configure mode. |
(config)#interface xe48 | Specify the interface (xe48) to be configured. |
(config-if)#ip address 30.30.30.2/24 | Configure IPv4 address for xe48 |
(config-if)#label-switching | Enable label switching on interface xe48. |
(config)#interface xe5 | Specify the interface (xe5) to be configured. |
(config-if)#ip address 40.40.40.1/24 | Configure IPv4 address for xe5 |
(config-if)#label-switching | Enable label switching on interface xe5. |
(config-if)#exit | Exit interface mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 4.4.4.4/32 secondary | Set the IP address of the loopback interface to 4.4.4.4/32. |
(config-if)#commit | Commit the transaction. |
P2 - LDP
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#router-id 4.4.4.4 | Set the router ID to IP address 4.4.4.4 |
(config-router)#transport-address ipv4 4.4.4.4 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter "ipv6" if you are configuring an IPv6 interface. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe48 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe48. |
(config)#interface xe5 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe5. |
(config-if)#commit | Commit the transaction. |
P2 - OSPF
(config)#router ospf 1 | Configure the routing process and specify the Process ID (1). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#ospf router-id 4.4.4.4 | Configure Router ID |
(config-router)#network 4.4.4.4/32 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 20.20.20.2/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 30.30.30.1/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#commit | Commit the transaction. |
PE2 - NSM
#configure terminal | Enter configure mode. |
(config)#interface xe10 | Specify the interface (xe10) to be configured. |
(config-if)#ip address 20.20.20.2/24 | Configure IPv4 address for xe10 |
(config-if)#label-switching | Enable label switching on interface xe10. |
(config)#interface xe5 | Specify the interface (xe5) to be configured. |
(config-if)#ip address 40.40.40.2/24 | Configure IPv4 address for xe5 |
(config-if)#label-switching | Enable label switching on interface xe5. |
(config-if)#exit | Exit interface mode. |
(config)#interface lo | Specify the loopback (lo) interface to be configured. |
(config-if)#ip address 3.3.3.3/32 secondary | Set the IP address of the loopback interface to 3.3.3.3/32. |
(config-if)#commit | Commit the transaction. |
PE2 - LDP
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#router-id 3.3.3.3 | Set the router ID to IP address 3.3.3.3 |
(config-router)#transport-address ipv4 3.3.3.3 | Configure the transport address to be used for a TCP session over which LDP will run on an IPv4 interface. Note: It is preferable to use the loopback address as transport address. In addition, use the parameter "ipv6" if you are configuring an IPv6 interface. |
(config-router)#exit | Exit the Router mode and return to the Configure mode. |
(config)#interface xe10 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe10. |
(config)#interface xe5 | Enter interface mode. |
(config-if)#enable-ldp ipv4 | Enable LDP on xe5. |
(config-if)#commit | Commit the transaction. |
PE2 - OSPF
(config)#router ospf 1 | Configure the routing process and specify the Process ID (1). The Process ID should be a unique positive integer identifying the routing process. |
(config-router)#ospf router-id 3.3.3.3 | Configure Router ID |
(config-router)#network 3.3.3.3/32 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 20.20.20.2/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#network 40.40.40.2/24 area 0 | Define the interface on which OSPF runs and associate the area ID (0) with the interface. |
(config-router)#commit | Commit the transaction. |
Validation
Without session protection enabled
Verify that session protection status is not shown when session protection not enabled.
PE1#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, E - EVPN,
v - vrf leaked
* - candidate default
IP Route Table for VRF "default"
C 1.1.1.1/32 is directly connected, lo, 00:04:22
O 2.2.2.2/32 [110/2] via 10.10.10.2, xe12, 00:03:03
O 3.3.3.3/32 [110/3] via 10.10.10.2, xe12, 00:02:49
O 4.4.4.4/32 [110/31] via 30.30.30.2, xe6, 00:02:17
C 10.10.10.0/24 is directly connected, xe12, 00:03:48
O 20.20.20.0/24 [110/2] via 10.10.10.2, xe12, 00:03:03
C 30.30.30.0/24 is directly connected, xe6, 00:03:02
O 40.40.40.0/24 [110/31] via 30.30.30.2, xe6, 00:02:17
C 127.0.0.0/8 is directly connected, lo, 00:04:22
Gateway of last resort is not set
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
4.4.4.4 xe6 Passive OPERATIONAL 30 00:02:25
2.2.2.2 xe12 Passive OPERATIONAL 30 00:03:11
PE1#show ldp targeted-peers
PE1#show ldp session 2.2.2.2
Session state : OPERATIONAL
Session role : Passive
TCP Connection : Established
IP Address for TCP : 2.2.2.2
Interface being used : xe12
Peer LDP ID : 2.2.2.2:0
Peer LDP Password : Not Set
Adjacencies : 10.10.10.2
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Address List received : 2.2.2.2
10.10.10.2
20.20.20.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 24963
IPV4:20.20.20.0/24 impl-null 24964
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null 24962
Sent Labels : Fec Label Maps To
IPV4:40.40.40.0/24 24961 impl-null
IPV4:4.4.4.4/32 24960 impl-null
IPV4:30.30.30.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null none
PE1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
(m) - FTN mapped over multipath transport
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 2.2.2.2/32 1 2 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 3.3.3.3/32 3 5 - Yes LSP_DEFAULT 52480 xe12 No 10.10.10.2
L> 4.4.4.4/32 4 7 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
L> 20.20.20.0/24 2 3 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 40.40.40.0/24 5 8 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
PE1#show mpls ftn-table
Primary FTN entry with FEC: 2.2.2.2/32, id: 1, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 3, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 2, in intf: - in label: 0 out-segment ix: 4
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 4, owner: LDP, Stale: NO, out intf: xe12, out label: 52480
Nexthop addr: 10.10.10.2 cross connect ix: 2, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 4, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
Primary FTN entry with FEC: 20.20.20.0/24, id: 2, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 5, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
PE1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
O - OSPF/OSPF6 SR, i - ISIS SR, k - SR CLI
P - SR Policy, U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 3.3.3.3/32 4 24963 52480 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 40.40.40.0/24 2 24961 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 4.4.4.4/32 1 24960 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 2.2.2.2/32 3 24962 3 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 20.20.20.0/24 5 24964 3 N/A xe12 10.10.10.2 LSP_DEFAULT
PE1#show ldp fec
LSR codes : E/N - LSR is egress/non-egress for this FEC,
L - LSR received a label for this FEC,
> - LSR will use this route for the FEC
FEC Code Session Out Label ELC Nexthop Addr
1.1.1.1/32 E > non-existent none No connected
2.2.2.2/32 NL> 2.2.2.2 impl-null No 10.10.10.2
3.3.3.3/32 NL 4.4.4.4 24325 No no nexthop
NL> 2.2.2.2 52480 No 10.10.10.2
4.4.4.4/32 NL> 4.4.4.4 impl-null No 30.30.30.2
10.10.10.0/24 NL 2.2.2.2 impl-null No connected
E > non-existent none No connected
20.20.20.0/24 NL 4.4.4.4 24326 No no nexthop
NL> 2.2.2.2 impl-null No 10.10.10.2
30.30.30.0/24 NL 4.4.4.4 impl-null No connected
E > non-existent none No connected
40.40.40.0/24 NL> 4.4.4.4 impl-null No 30.30.30.2
Configure Session Protection:
Note: Recommended to configure both ends.
Configure session protection under LDP in both nodes.
PE1
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#session-protection | Session-protection protect label indefinitely if no timer mentioned. |
(config-router)#commit | Commit and exit |
P1
(config)#router ldp | Enter Router mode for LDP. |
(config-router)#session-protection | Session-protection protect label indefinitely if no timer mentioned. |
(config-router)#commit | Commit and exit |
Validation
With session protection command enabled
Verify that session protection status shown once session protection enabled in both peer nodes.
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
4.4.4.4 xe6 Passive OPERATIONAL 30 00:05:46
2.2.2.2 xe12 Passive OPERATIONAL 30 00:06:32
PE1#show ldp targeted-peers
IP Address Interface
2.2.2.2 xe12
4.4.4.4 xe6
PE1#show ldp session 2.2.2.2
Session state : OPERATIONAL
Session role : Passive
TCP Connection : Established
IP Address for TCP : 2.2.2.2
Interface being used : xe12
Peer LDP ID : 2.2.2.2:0
Peer LDP Password : Not Set
Adjacencies : 10.10.10.2
2.2.2.2
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Ready
Address List received : 2.2.2.2
10.10.10.2
20.20.20.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 24963
IPV4:20.20.20.0/24 impl-null 24964
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null 24962
Sent Labels : Fec Label Maps To
IPV4:40.40.40.0/24 24961 impl-null
IPV4:4.4.4.4/32 24960 impl-null
IPV4:30.30.30.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null none
PE1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
(m) - FTN mapped over multipath transport
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 2.2.2.2/32 1 2 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 3.3.3.3/32 3 5 - Yes LSP_DEFAULT 52480 xe12 No 10.10.10.2
L> 4.4.4.4/32 4 7 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
L> 20.20.20.0/24 2 3 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 40.40.40.0/24 5 8 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
PE1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
O - OSPF/OSPF6 SR, i - ISIS SR, k - SR CLI
P - SR Policy, U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 3.3.3.3/32 4 24963 52480 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 40.40.40.0/24 2 24961 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 4.4.4.4/32 1 24960 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 2.2.2.2/32 3 24962 3 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 20.20.20.0/24 5 24964 3 N/A xe12 10.10.10.2 LSP_DEFAULT
PE1#show mpls ftn-table
Primary FTN entry with FEC: 2.2.2.2/32, id: 1, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 3, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 2, in intf: - in label: 0 out-segment ix: 4
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 4, owner: LDP, Stale: NO, out intf: xe12, out label: 52480
Nexthop addr: 10.10.10.2 cross connect ix: 2, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 4, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
Primary FTN entry with FEC: 20.20.20.0/24, id: 2, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 5, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
PE1#show ldp fec
LSR codes : E/N - LSR is egress/non-egress for this FEC,
L - LSR received a label for this FEC,
> - LSR will use this route for the FEC
FEC Code Session Out Label ELC Nexthop Addr
1.1.1.1/32 E > non-existent none No connected
2.2.2.2/32 NL> 2.2.2.2 impl-null No 10.10.10.2
3.3.3.3/32 NL 4.4.4.4 24325 No no nexthop
NL> 2.2.2.2 52480 No 10.10.10.2
4.4.4.4/32 NL> 4.4.4.4 impl-null No 30.30.30.2
10.10.10.0/24 NL 2.2.2.2 impl-null No connected
E > non-existent none No connected
20.20.20.0/24 NL 4.4.4.4 24326 No no nexthop
NL> 2.2.2.2 impl-null No 10.10.10.2
30.30.30.0/24 NL 4.4.4.4 impl-null No connected
E > non-existent none No connected
40.40.40.0/24 NL> 4.4.4.4 impl-null No 30.30.30.2
P1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
3.3.3.3 xe5 Passive OPERATIONAL 30 00:05:40
1.1.1.1 xe48 Active OPERATIONAL 30 00:06:43
P1#show ldp targeted-peers
IP Address Interface
1.1.1.1 xe48
3.3.3.3 xe5
P1#show ldp session 1.1.1.1
Session state : OPERATIONAL
Session role : Active
TCP Connection : Established
IP Address for TCP : 1.1.1.1
Interface being used : xe48
Peer LDP ID : 1.1.1.1:0
Peer LDP Password : Not Set
Adjacencies : 10.10.10.1
1.1.1.1
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Ready
Address List received : 1.1.1.1
10.10.10.1
30.30.30.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:4.4.4.4/32 24960 52482
IPV4:40.40.40.0/24 24961 52484
IPV4:30.30.30.0/24 impl-null 52483
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null 52481
Sent Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 impl-null
IPV4:20.20.20.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null none
P1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 1.1.1.1/32 1 2 - Yes LSP_DEFAULT 3 xe48 No 10.10.10.1
L> 3.3.3.3/32 5 9 - Yes LSP_DEFAULT 3 xe5 No 20.20.20.2
L> 4.4.4.4/32 3 5 - Yes LSP_DEFAULT 24960 xe48 No 10.10.10.1
L> 30.30.30.0/24 2 3 - Yes LSP_DEFAULT 3 xe48 No 10.10.10.1
L> 40.40.40.0/24 4 7 - Yes LSP_DEFAULT 24961 xe48 No 10.10.10.1
P1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 30.30.30.0/24 4 52483 3 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 1.1.1.1/32 2 52481 3 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 3.3.3.3/32 1 52480 3 N/A xe5 20.20.20.2 LSP_DEFAULT
L> 4.4.4.4/32 3 52482 24960 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 40.40.40.0/24 5 52484 24961 N/A xe48 10.10.10.1 LSP_DEFAULT
P1#show mpls ftn-table
Primary FTN entry with FEC: 1.1.1.1/32, id: 1, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe48, out label: 3
Nexthop addr: 10.10.10.1 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 5, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 8
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 8, owner: N/A, Stale: NO, out intf: xe5, out label: 3
Nexthop addr: 20.20.20.2 cross connect ix: 5, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 3, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 3, in intf: - in label: 0 out-segment ix: 4
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 4, owner: LDP, Stale: NO, out intf: xe48, out label: 24960
Nexthop addr: 10.10.10.1 cross connect ix: 3, op code: Push
Primary FTN entry with FEC: 30.30.30.0/24, id: 2, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: N/A, Stale: NO, out intf: xe48, out label: 3
Nexthop addr: 10.10.10.1 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 4, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: LDP, Stale: NO, out intf: xe48, out label: 24961
Nexthop addr: 10.10.10.1 cross connect ix: 4, op code: Push
P1#show ldp fec
LSR codes : E/N - LSR is egress/non-egress for this FEC,
L - LSR received a label for this FEC,
> - LSR will use this route for the FEC
FEC Code Session Out Label ELC Nexthop Addr
1.1.1.1/32 NL> 1.1.1.1 impl-null No 10.10.10.1
2.2.2.2/32 E > non-existent none No connected
3.3.3.3/32 NL> 3.3.3.3 impl-null No 20.20.20.2
4.4.4.4/32 NL> 1.1.1.1 24960 No 10.10.10.1
10.10.10.0/24 NL 1.1.1.1 impl-null No connected
E > non-existent none No connected
20.20.20.0/24 NL 3.3.3.3 impl-null No connected
E > non-existent none No connected
30.30.30.0/24 NL> 1.1.1.1 impl-null No 10.10.10.1
40.40.40.0/24 NL 3.3.3.3 impl-null No no nexthop
NL> 1.1.1.1 24961 No 10.10.10.1
Perform Link failure and check labels are retained until peer is reachable through alternate path.
(config)#interface xe12 | Enter interface mode. |
(config-if)#shutdown | Shutdown the link. |
(config)#commit | commit. |
Validation
After link down
PE1#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, E - EVPN,
v - vrf leaked
* - candidate default
IP Route Table for VRF "default"
C 1.1.1.1/32 is directly connected, lo, 00:14:17
O 2.2.2.2/32 [110/33] via 30.30.30.2, xe6, 00:03:38
O 3.3.3.3/32 [110/32] via 30.30.30.2, xe6, 00:03:38
O 4.4.4.4/32 [110/31] via 30.30.30.2, xe6, 00:12:12
O 20.20.20.0/24 [110/32] via 30.30.30.2, xe6, 00:03:38
C 30.30.30.0/24 is directly connected, xe6, 00:12:57
O 40.40.40.0/24 [110/31] via 30.30.30.2, xe6, 00:12:12
C 127.0.0.0/8 is directly connected, lo, 00:14:17
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
4.4.4.4 xe6 Passive OPERATIONAL 30 00:10:10
2.2.2.2 xe6 Passive OPERATIONAL 30 00:10:56
PE1#show ldp targeted-peers
IP Address Interface
2.2.2.2 xe6
4.4.4.4 xe6/
PE1#show ldp session 2.2.2.2
Session state : OPERATIONAL
Session role : Passive
TCP Connection : Established
IP Address for TCP : 2.2.2.2
Interface being used : xe6
Peer LDP ID : 2.2.2.2:0
Peer LDP Password : Not Set
Adjacencies : 2.2.2.2
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Protecting
Address List received : 2.2.2.2
20.20.20.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 none
IPV4:20.20.20.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null none
Sent Labels : Fec Label Maps To
IPV4:40.40.40.0/24 24961 impl-null
IPV4:4.4.4.4/32 24960 impl-null
IPV4:30.30.30.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null none
PE1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
(m) - FTN mapped over multipath transport
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 2.2.2.2/32 3 9 - Yes LSP_DEFAULT 24321 xe6 No 30.30.30.2
L> 3.3.3.3/32 1 2 - Yes LSP_DEFAULT 24325 xe6 No 30.30.30.2
L> 4.4.4.4/32 4 7 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
L> 20.20.20.0/24 2 4 - Yes LSP_DEFAULT 24326 xe6 No 30.30.30.2
L> 40.40.40.0/24 5 8 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
PE1#show mpls ftn-table
Primary FTN entry with FEC: 2.2.2.2/32, id: 3, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 3, in intf: - in label: 0 out-segment ix: 5
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 5, owner: LDP, Stale: NO, out intf: xe6, out label: 24321
Nexthop addr: 30.30.30.2 cross connect ix: 3, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 1, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 1
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 1, owner: LDP, Stale: NO, out intf: xe6, out label: 24325
Nexthop addr: 30.30.30.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 4, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
Primary FTN entry with FEC: 20.20.20.0/24, id: 2, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 2, in intf: - in label: 0 out-segment ix: 3
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 3, owner: LDP, Stale: NO, out intf: xe6, out label: 24326
Nexthop addr: 30.30.30.2 cross connect ix: 2, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 5, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
PE1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
O - OSPF/OSPF6 SR, i - ISIS SR, k - SR CLI
P - SR Policy, U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 40.40.40.0/24 2 24961 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 4.4.4.4/32 1 24960 3 N/A xe6 30.30.30.2 LSP_DEFAULT
P1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
3.3.3.3 xe5 Passive OPERATIONAL 30 00:11:12
1.1.1.1 xe5 Active OPERATIONAL 30 00:12:15
P1#show ldp targeted-peers
IP Address Interface
1.1.1.1 xe5
3.3.3.3 xe5
P1#show ldp session 1.1.1.1
Session state : OPERATIONAL
Session role : Active
TCP Connection : Established
IP Address for TCP : 1.1.1.1
Interface being used : xe5
Peer LDP ID : 1.1.1.1:0
Peer LDP Password : Not Set
Adjacencies : 1.1.1.1
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Protecting
Address List received : 1.1.1.1
30.30.30.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:4.4.4.4/32 24960 52482
IPV4:40.40.40.0/24 24961 52484
IPV4:30.30.30.0/24 impl-null 52483
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null 52481
Sent Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 impl-null
IPV4:20.20.20.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null none
P1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 1.1.1.1/32 2 3 - Yes LSP_DEFAULT 24965 xe5 No 20.20.20.2
L> 3.3.3.3/32 5 9 - Yes LSP_DEFAULT 3 xe5 No 20.20.20.2
L> 4.4.4.4/32 3 5 - Yes LSP_DEFAULT 24966 xe5 No 20.20.20.2
L> 30.30.30.0/24 4 7 - Yes LSP_DEFAULT 24967 xe5 No 20.20.20.2
L> 40.40.40.0/24 1 1 - Yes LSP_DEFAULT 3 xe5 No 20.20.20.2
P1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 4.4.4.4/32 3 52482 Nolabel N/A N/A 127.0.0.1 LSP_DEFAULT
L> 3.3.3.3/32 1 52480 3 N/A xe5 20.20.20.2 LSP_DEFAULT
L> 1.1.1.1/32 2 52481 Nolabel N/A N/A 127.0.0.1 LSP_DEFAULT
L> 30.30.30.0/24 4 52483 Nolabel N/A N/A 127.0.0.1 LSP_DEFAULT
L> 40.40.40.0/24 5 52484 Nolabel N/A N/A 127.0.0.1 LSP_DEFAULT
P1#
P1#show mpls ftn-table
Primary FTN entry with FEC: 1.1.1.1/32, id: 2, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 1, in intf: - in label: 0 out-segment ix: 2
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 2, owner: LDP, Stale: NO, out intf: xe5, out label: 24965
Nexthop addr: 20.20.20.2 cross connect ix: 1, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 5, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 8
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 8, owner: N/A, Stale: NO, out intf: xe5, out label: 3
Nexthop addr: 20.20.20.2 cross connect ix: 5, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 3, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 3, in intf: - in label: 0 out-segment ix: 4
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 4, owner: LDP, Stale: NO, out intf: xe5, out label: 24966
Nexthop addr: 20.20.20.2 cross connect ix: 3, op code: Push
Primary FTN entry with FEC: 30.30.30.0/24, id: 4, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: LDP, Stale: NO, out intf: xe5, out label: 24967
Nexthop addr: 20.20.20.2 cross connect ix: 4, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 1, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 8
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 8, owner: N/A, Stale: NO, out intf: xe5, out label: 3
Nexthop addr: 20.20.20.2 cross connect ix: 5, op code: Push
P1#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, E - EVPN,
v - vrf leaked
* - candidate default
IP Route Table for VRF "default"
O 1.1.1.1/32 [110/53] via 20.20.20.2, xe5, 00:03:44
C 2.2.2.2/32 is directly connected, lo, 00:14:13
O 3.3.3.3/32 [110/2] via 20.20.20.2, xe5, 00:12:51
O 4.4.4.4/32 [110/52] via 20.20.20.2, xe5, 00:03:44
C 20.20.20.0/24 is directly connected, xe5, 00:13:46
O 30.30.30.0/24 [110/52] via 20.20.20.2, xe5, 00:03:44
O 40.40.40.0/24 [110/51] via 20.20.20.2, xe5, 00:03:44
C 127.0.0.0/8 is directly connected, lo, 00:14:13
Bring up the link and check same labels reused.
(config)#interface xe12 | Enter interface mode. |
(config-if)#no shutdown | Shutdown the link. |
(config)#commit | Commit. |
Validation
PE1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
4.4.4.4 xe6 Passive OPERATIONAL 30 00:14:55
2.2.2.2 xe12 Passive OPERATIONAL 30 00:15:41
PE1#show ldp targeted-peers
IP Address Interface
2.2.2.2 xe12
4.4.4.4 xe6
PE1#show ldp session 2.2.2.2
Session state : OPERATIONAL
Session role : Passive
TCP Connection : Established
IP Address for TCP : 2.2.2.2
Interface being used : xe12
Peer LDP ID : 2.2.2.2:0
Peer LDP Password : Not Set
Adjacencies : 10.10.10.2
2.2.2.2
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Ready
Address List received : 2.2.2.2
10.10.10.2
20.20.20.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 24966
IPV4:20.20.20.0/24 impl-null 24967
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null 24965
Sent Labels : Fec Label Maps To
IPV4:40.40.40.0/24 24961 impl-null
IPV4:4.4.4.4/32 24960 impl-null
IPV4:30.30.30.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null none
PE1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel, P - SR Policy FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN, O - SR-OSPF FTN, i - SR-ISIS FTN, k - SR-CLI FTN
(m) - FTN mapped over multipath transport
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 2.2.2.2/32 3 9 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 3.3.3.3/32 1 2 - Yes LSP_DEFAULT 52480 xe12 No 10.10.10.2
L> 4.4.4.4/32 4 7 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
L> 20.20.20.0/24 2 4 - Yes LSP_DEFAULT 3 xe12 No 10.10.10.2
L> 40.40.40.0/24 5 8 - Yes LSP_DEFAULT 3 xe6 No 30.30.30.2
PE1#
PE1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
O - OSPF/OSPF6 SR, i - ISIS SR, k - SR CLI
P - SR Policy, U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 2.2.2.2/32 9 24965 3 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 40.40.40.0/24 2 24961 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 4.4.4.4/32 1 24960 3 N/A xe6 30.30.30.2 LSP_DEFAULT
L> 3.3.3.3/32 10 24966 52480 N/A xe12 10.10.10.2 LSP_DEFAULT
L> 20.20.20.0/24 11 24967 3 N/A xe12 10.10.10.2 LSP_DEFAULT
PE1#show mpls ftn-table
Primary FTN entry with FEC: 2.2.2.2/32, id: 3, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 10
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 10, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 5, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 1, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 6, in intf: - in label: 0 out-segment ix: 11
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 11, owner: LDP, Stale: NO, out intf: xe12, out label: 52480
Nexthop addr: 10.10.10.2 cross connect ix: 6, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 4, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
Primary FTN entry with FEC: 20.20.20.0/24, id: 2, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 10
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 10, owner: N/A, Stale: NO, out intf: xe12, out label: 3
Nexthop addr: 10.10.10.2 cross connect ix: 5, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 5, row status: Active, Tunnel-Policy: N/A
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A, Color: 0
Cross connect ix: 4, in intf: - in label: 0 out-segment ix: 6
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 6, owner: N/A, Stale: NO, out intf: xe6, out label: 3
Nexthop addr: 30.30.30.2 cross connect ix: 4, op code: Push
P1#show ldp session
Peer IP Address IF Name My Role State KeepAlive UpTime
3.3.3.3 xe5 Passive OPERATIONAL 30 00:15:30
1.1.1.1 xe48 Active OPERATIONAL 30 00:16:33
P1#show ldp targeted-peers
IP Address Interface
1.1.1.1 xe48
3.3.3.3 xe5
P1#show ldp session 1.1.1.1
Session state : OPERATIONAL
Session role : Active
TCP Connection : Established
IP Address for TCP : 1.1.1.1
Interface being used : xe48
Peer LDP ID : 1.1.1.1:0
Peer LDP Password : Not Set
Adjacencies : 10.10.10.1
1.1.1.1
Advertisement mode : Downstream Unsolicited
Label retention mode : Liberal
Graceful Restart : Not Capable
Keepalive Timeout : 30
Reconnect Interval : 15
Session protection : Ready
Address List received : 1.1.1.1
10.10.10.1
30.30.30.1
254.128.0.0
Received Labels : Fec Label Maps To
IPV4:4.4.4.4/32 24960 52482
IPV4:40.40.40.0/24 24961 52484
IPV4:30.30.30.0/24 impl-null 52483
IPV4:10.10.10.0/24 impl-null none
IPV4:1.1.1.1/32 impl-null 52481
Sent Labels : Fec Label Maps To
IPV4:3.3.3.3/32 52480 impl-null
IPV4:20.20.20.0/24 impl-null none
IPV4:10.10.10.0/24 impl-null none
IPV4:2.2.2.2/32 impl-null none
P1#show mpls forwarding-table
Codes: > - installed FTN, * - selected FTN, p - stale FTN,
B - BGP FTN, K - CLI FTN, t - tunnel,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN
Code FEC FTN-ID Nhlfe-ID Tunnel-id Pri LSP-Type Out-Label Out-Intf ELC Nexthop
L> 1.1.1.1/32 2 3 - Yes LSP_DEFAULT 3 xe48 No 10.10.10.1
L> 3.3.3.3/32 5 9 - Yes LSP_DEFAULT 3 xe5 No 20.20.20.2
L> 4.4.4.4/32 3 5 - Yes LSP_DEFAULT 24960 xe48 No 10.10.10.1
L> 30.30.30.0/24 4 7 - Yes LSP_DEFAULT 3 xe48 No 10.10.10.1
L> 40.40.40.0/24 1 1 - Yes LSP_DEFAULT 24961 xe48 No 10.10.10.1
P1#show mpls ilm-table
Codes: > - installed ILM, * - selected ILM, p - stale ILM
K - CLI ILM, T - MPLS-TP, s - Stitched ILM
S - SNMP, L - LDP, R - RSVP, C - CRLDP
B - BGP , K - CLI , V - LDP_VC, I - IGP_SHORTCUT
U - unknown
Code FEC/VRF/L2CKT ILM-ID In-Label Out-Label In-Intf Out-Intf/VRF Nexthop LSP-Type
L> 4.4.4.4/32 3 52482 24960 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 1.1.1.1/32 2 52481 3 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 3.3.3.3/32 1 52480 3 N/A xe5 20.20.20.2 LSP_DEFAULT
L> 40.40.40.0/24 5 52484 24961 N/A xe48 10.10.10.1 LSP_DEFAULT
L> 30.30.30.0/24 4 52483 3 N/A xe48 10.10.10.1 LSP_DEFAULT
P1#show mpls ftn-table
Primary FTN entry with FEC: 1.1.1.1/32, id: 2, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 6, in intf: - in label: 0 out-segment ix: 10
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 10, owner: N/A, Stale: NO, out intf: xe48, out label: 3
Nexthop addr: 10.10.10.1 cross connect ix: 6, op code: Push
Primary FTN entry with FEC: 3.3.3.3/32, id: 5, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 5, in intf: - in label: 0 out-segment ix: 8
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 8, owner: N/A, Stale: NO, out intf: xe5, out label: 3
Nexthop addr: 20.20.20.2 cross connect ix: 5, op code: Push
Primary FTN entry with FEC: 4.4.4.4/32, id: 3, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 7, in intf: - in label: 0 out-segment ix: 11
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 11, owner: LDP, Stale: NO, out intf: xe48, out label: 24960
Nexthop addr: 10.10.10.1 cross connect ix: 7, op code: Push
Primary FTN entry with FEC: 30.30.30.0/24, id: 4, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 6, in intf: - in label: 0 out-segment ix: 10
Owner: N/A, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 10, owner: N/A, Stale: NO, out intf: xe48, out label: 3
Nexthop addr: 10.10.10.1 cross connect ix: 6, op code: Push
Primary FTN entry with FEC: 40.40.40.0/24, id: 1, row status: Active
Owner: LDP, distance: 0, Action-type: Redirect to LSP, Exp-bits: 0x0, Incoming DSCP: none
Tunnel id: 0, Protected LSP id: 0, Description: N/A
Cross connect ix: 8, in intf: - in label: 0 out-segment ix: 12
Owner: LDP, Persistent: No, Admin Status: Up, Oper Status: Up
Out-segment with ix: 12, owner: LDP, Stale: NO, out intf: xe48, out label: 24961
Nexthop addr: 10.10.10.1 cross connect ix: 8, op code: Push