Professional Documents
Culture Documents
Operating Instructions
Disclaimer
The contents of this document are subject to revision without notice due to
continued progress in methodology, design and manufacturing. Ericsson shall
have no liability for any error or damage of any kind resulting from the use of
this document.
Contents
1 Overview 1
1.1 About LDP 1
1.2 Prerequisites 10
1.3 Restrictions 11
2 Configuration 12
2.1 Configuration Command Hierarchy 12
2.2 Configure Basic LDP Label Distribution 13
2.3 Set a Router ID 16
2.4 Configure Hello Messages 18
2.5 Configure the Transport Address 19
2.6 Authenticate Sessions 21
2.7 Configure Extended Neighbor Discovery 23
2.8 Configure Targeted Hello Messages 25
2.9 Advertise an Explicit-Null Label 27
2.10 Propagate the IGP Route Metric to LSPs 28
2.11 Filter Label Advertisements 30
2.12 Enable ECMP on a P Router (Transit Node) 32
2.13 Create LSP Pseudocircuits for Statistics Collection 34
2.14 Modify the Number of Allowed Sessions 37
2.15 Configure Graceful Restart 38
2.16 Disable LDP LFA for IP FRR 38
2.17 Enable Multipoint Label Distribution Protocol 39
2.18 Configure mLDP FRR Link Protection 43
3 Operations 48
4 LDP Glossary 49
Reference List 51
1 Overview
LDP also assigns labels to label bindings learned from neighbors and
advertises the binding to other neighbors. When an LSR advertises a label
binding for a route, the LSR is advertising the availability of an LSP to the
destination of that route. LDP can learn several LSPs from different neighbors
for the same route. In this case, LDP activates only the path selected by the
underlying Interior Gateway Protocol (IGP). For this reason, LDP must work
together with an IGP, such as the Intermediate System-to-Intermediate System
(IS-IS) or Open Shortest Path First (OSPF) protocol.
During the LDP session, LSRs send LDP label mapping and withdrawal
messages. LSRs allocate labels to directly connected interfaces and learn
about labels from neighbors. If a directly connected interface is shut down, an
LSR withdraws the label and stops advertising it to neighbors. If a neighbor
stops advertising a label to an LSR, the label is withdrawn from Label
Forwarding Information Base (LFIB) of that LSR. Teardown of LDP
adjacencies or sessions results if Hello or keepalive messages are not
received within the timer interval.
• U: 1
• F: 0
• S: 1
Example 1
10.2.250.133 recv INIT message with 'Unrecognized Notification Capability TLV' 0x050B len 1
• U: 1
• F: 0
• Length: 0x0001
• S: 1
Use the show ldp neighbor command to determine typed wildcard FEC
capability. If the W flag is set to Typed wild-card FEC capable, the LDP
peer is capable of typed wildcard FEC. For an example of the command
output, see Configure Basic LDP Label Distribution on page 13.
Example 2
10.2.250.133 recv INIT message with 'Typed wildcard FEC capability TLV' 0x0x0603 len 1
The router signals LDP label advertisement completion to its peer using an
end-of-LIB notification. The notification is sent only if the peer LDP speaker
advertised an unrecognized notification capability and a typed wildcard FEC
capability during session establishment.
• Status TLV (E and F bits set to 0) that carries an end-of-LIB status code
(0x0000002F)
• FEC TLV that identifies the FEC type for which initial label advertisements
have been completed
Use the debug ldp message notification command to confirm that the
end-of-LIB notification for a specific FEC type is received in the notification
message.
Example 3
3.3.3.3: Sending EOL notification (fec:0x80) eol_ctl_send 3
3.3.3.3: Sending EOL notification (fec:0x02) eol_ctl_send 1
LDP LFA is enabled by default. Use the no form of the ipfrr command in router
LDP mode to disable LDP LFA.
Use the show mpls command with the lsp detail or label-mapping detail
options to display the primary and backup LSP information.
Use the ip prefix-list command to create the list of router IDs. Use the targeted
dynamic-session command in router LDP configuration mode to configure a
targeted LDP session. Use the targeted advertise command also in router
LDP configuration mode to permit targeted session advertisements on all
targeted sessions.
For an example illustrating how targeted LDP can be used with remote LFA,
see Configure IS-IS Remote LFA Protection and Configure OSPF Remote LFA
Protection.
During an LDP session, an mVPN applications at the leaf node request LDP to
set up a P2MP LSP to receive traffic from the root node (source PE router in
MPLS network). LDP allocates a local label for the FEC corresponding to
application traffic stream and forms a label-mapping message. It then sends
this message towards the root node to establish a P2MP LSP. Similarly, if an
application does not need the P2MP LSP, it sends a request to LDP to tear
down the LSP. LDP translates this to label withdraw message and sends it
upstream towards root node to remove the LSP.
For more information about mVPN, refer to Multicast In-Band Signaling Using
MLDP (mVPN).
mLDP link protection enables fast reroute of traffic carried over P2MP LSPs in
a link failure. In MPLS networks, the links to the LSRs are protected using
LDP LFA and LDP Remote LFA (RLFA) paths.
When the link to a downstream LSR fails, in case of non-FRR, the LSP breaks
temporarily resulting in packet loss until the LSP reconverges and a new
P2MP tree is built towards the root. In case of FRR is enabled, the traffic is
switched to the backup path within 50 milliseconds and a new primary path is
calculated, resulting in LSRs choosing a new upstream LSR to reach the root
node. To keep the duration of packet loss minimal migrated from old LSP to
the new calculated primary LSP, Make-Before-Break (MBB) mechanism is
used. By default, MBB is enabled for mLDP.
C
L20
Root mLDP
L18 L17 L16
Link A
X A B D
18 17 16
G108987A
1. Router X is the source provider edge router, and Router B is the next Hop
router.
2. The primary path is from Router X > Router A > Router B > Router D, and
the backup path is Router X > Router A > Router C > Router B > Router
D. The backup path is pre-computed by IGP through LFA prefix-based
selection.
PHP
C
L20
17 17
20
Root mLDP
L18 L17 L16
Link A
X A B D
18 17 16
G108988A
1. Traffic over Link A is rerouted over the backup tunnel by imposing label 17
and then pushing label 20 on top of it.
3. Router B receives the mLDP packets with label 17 and forwards to Router
D.
PHP
C
L20
17 17
20 L22 22 21 L21
Root mLDP
L18 L17 L16
Link A
A B D
18 16
1. LDP is notified that the root is reachable through router C, and LDP
converges. With this, a new mLDP LSP is built from router A to router B
through router C. The new label that router C distributed to A is 22.
2. Currently, router A sends two mLDP packets. One is with old label 20 17,
passing through the backup P2P tunnel. The other is the one with new
label 22.
3. As the MBB switchover is not start, router B will receive two mLDP
packets. However, router B only forwards the packet with old label 17 (the
outside label 20 is popped by router C), the packet with the new label 21
will be dropped.
4. After MBB switchover, router B only forwards the packet with new label
21.
5. Router B prunes off the backup tunnel with a label withdraw to router A.
L21
Backup for Link A
L20
C Z
T-LDP
Root mLDP
L18 L17 L16
Link A
A B D
18 17 16
G108984A
1. All the links in the topology are of equal cost and there is no viable LFA
protecting Link A.
L21
Backup for Link A
L20
C Z
T-LDP
Root mLDP
L18 L17 L16
Link A
A B D
18 17 16
G108984A
1. Traffic over Link A is rerouted over the tunnel to Router Z by first imposing
Label 17, then pushing Label 21, and finally pushing Label 20 (three label
stacks).
2. Router C performs a PHP and removes the outer Label 20 and then
routes the traffic to router Z.
3. Router Z receives the traffic with outer Label 21 and inner Label 17.
4. Router Z performs a PHP and removes Label 21 and then routes the
traffic to Router B with Label 17.
1.2 Prerequisites
LDP must work together with MPLS and an IGP, such as IS-IS or OSPF. To
configure MPLS, see MPLS. To configure an IGP routing instance and
interface, see IS-IS or OSPF.
For LDP to establish sessions, the LDP transport address of an LDP instance
must be reachable. The Ericsson implementation uses the LDP router ID as
1.3 Restrictions
The mLDP P2MP LSP over LAG is not supported.
During a LDP process restart, Non Stop Routing (NSR) and RP Switchover
are not supported.
2 Configuration
Note: The examples that follow may not show the complete command
syntax. For more information, see the Command List.
router ldp
create-lsp-circuit
ecmp-transit
explicit-null (LDP)
graceful-restart (LDP)
hello holdtime
hello interval (LDP)
ignore config-seq-num
igp-synchronization timeout
interface (LDP)
keepalive (LDP)
label-binding
max-session
mldp
mldp link-protection
mldp mbb switchover-delay
mldp mbb timeout
neighbor explicit-null
neighbor password
neighbor targeted
router id (LDP)
targeted advertise
targeted dynamic-session
Note: In addition to the commands above, you can also use standard
configuration commands, such as abort, comment, commit,
default, exit, and no.
In this example, IS-IS is the IGP. For information on configuring IS-IS, see IS-
IS.
You can configure additional LDP settings using commands such as the
following:
To configure basic LDP label distribution, perform the tasks in the following
sections.
Steps
1. Enter the context, create an LDP instance, and enable LDP on the
loopback interface.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#interface ifLB
Example
[local]R1(config-ldp)#interface if2R2
[local]R1(config-ldp)#interface if2R3
[local]R1(config-ldp)#commit
Example
[local]R1(config-ldp)#show configuration
Building configuration...
Current configuration:
context local
!
router ldp
interface if2R2
interface if2R3
interface ifLB
!
! ** End Context **
!
end
Steps
• For R3, interfaces if2R1 and if2R2 route label-switched traffic in the
network.
Steps
Example
[local]R1#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
X - ExplicitNullEnabled, C - ExplicitNullStatusChanging
G - Graceful Restart Supported, L - Session Life Extended
U - Unrecognized Notification Capable, V - Reachable Via Tunnel-Shortcut
M - P2MP capable
W - Typed wildcard FEC capable
SHld - Session Holdtime Left, HHld - Hello Holdtime Left
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.222 192.0.2.222:0 Oper GUW 60 12 if2R2
192.0.2.233 192.0.2.233:0 Oper GUW 62 14 if2R3
2. Confirm that LDP interfaces are distributing labels. All the network
interfaces are assigned labels.
Example
[local]R1#show ldp binding
> active binding, Local/In - local/input label binding
From - source of remote label, Remote/Out - remote/output label binding
Prefix/FEC Learned-From Local/In Remote/Out Interface
> 192.0.2.0/29 local 3
192.0.2.233:0 655362
192.0.2.222:0 3
> 192.0.2.8/29 local 3
192.0.2.233:0 3
192.0.2.222:0 655362
> 192.0.2.16/29 192.0.2.233:0 655362 3 if2R3
> 192.0.2.222:0 3 if2R2
> 192.0.2.211/32 local 3
192.0.2.233:0 655364
192.0.2.222:0 655364
> 192.0.2.222/32 192.0.2.222:0 655365 3 if2R2
192.0.2.233:0 655365
> 192.0.2.233/32 192.0.2.233:0 655364 3 if2R3
192.0.2.222:0 655365
4. Confirm that MPLS LSPs are up. R1 displays LSPs to R2, R3, and remote
(not directly connected) subnet 192.0.2.16/29 with a value of Up in the
State field.
Example
[local]R1#show mpls lsp ldp
Codes : S - MPLS-Static, R - RSVP, L - LDP, B - BGP
Type Endpoint Direct Next-hop Out Label Adjacency Id State
L 192.0.2.16/29 192.0.2.2 3 0x300000 Up
L 192.0.2.16/29 192.0.2.10 3 0x300001 Up
L 192.0.2.222/32 192.0.2.2 3 0x300005 Up
L 192.0.2.233/32 192.0.2.10 3 0x300003 Up
Example
[local]R1#ping mpls ldp 192.0.2.233/32
Sending 5 100-byte MPLS echos to LDP 192.0.2.233/32, source 192.0.2.211,
timeout is 1 second, send interval is 0 msec:
!!!!!
---- MPLS PING Statistics----
5 packets transmitted, 5 packets received no error, 0.0% packet loss/error
round-trip min/avg/max/stddev = 2.296/5.059/12.414/4.251 ms
Figure 7 Router ID
Figure 7 shows a network of three routers configured for LDP label distribution
as in Configure Basic LDP Label Distribution on page 13. This example
configures router R1 with a router ID of 192.0.2.1.
To set a router ID, do the following steps starting in global configuration mode.
Steps
1. Enter the context, access LDP configuration mode, and set a router ID.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#router-id 192.0.2.1
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
Example
[local]R2#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.211 192.0.2.211:0 Oper AGUW 73 12 if2R1
192.0.2.233 192.0.2.233:0 Oper GUW 76 10 if2R3
Example
[local]R2#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.1 192.0.2.1:0 Oper AGUW 68 12 if2R1
192.0.2.233 192.0.2.233:0 Oper GUW 66 10 if2R3
You can configure additional Hello parameters using commands such as hello
holdtime, which sets the time that a Hello adjacency is maintained in the
absence of messages from the neighbor. To configure Hello messages for
remote neighbors, see Configure Targeted Hello Messages on page 25.
Steps
1. Enter the context, access LDP configuration mode, and configure Hello
messages.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#hello interval 10
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp interface detail
Flag:
B - Bound, U - Up, D - Deleted, S - Stale, E - Hold expired
T - Bind Stale L - Loopback
Intf name: if2R2
IP address: 192.0.2.1/29 Flags: BU
Nbr count: 1
Neighbor LSRid: 192.0.2.222:0
Holdtime expiry: 14 Hello interval 10
Holdtime used: 15 Holdtime received: 15
...
Steps
1. Enter the context, access LDP configuration mode, and set the transport
address.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#transport-address 192.0.2.1
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp neighbor detail
Flag:
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
Example
[local]R1(config)#show ldp neighbor detail
Flag:
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
Neighbor Address: 192.0.2.222 State: Oper
LDP Identifier: 192.0.2.222:0 Flags: GUW
Last Reset Reason: LDP initialized Error:
Recv Notification: End-Of-Lib Sent Notification: End-Of-Lib
FEC Ver: 213 ADDR Ver: 5
TCP Conn Local: 192.0.2.1/646 Remote: 192.0.2.222/37981
Sess Hold Expire: 88 Next KeepAlive: 28 sec
...
[local]R2#show ldp neighbor detail
Flag:
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
Neighbor Address: 192.0.2.1 State: Oper
LDP Identifier: 192.0.2.211:0 Flags: AGUW
Last Reset Reason: LDP initialized Error:
Recv Notification: End-Of-Lib Sent Notification: End-Of-Lib
FEC Ver: 234 ADDR Ver: 3
TCP Conn Local: 192.0.2.222/34796 Remote: 192.0.2.1/646
Sess Hold Expire: 85 Next KeepAlive: 25 sec
...
Figure 10 Authentication
Figure 10 shows a network of three routers configured for label distribution as
in Configure Basic LDP Label Distribution on page 13. This example enables
Message Digest 5 (MD5) authentication of the LDP TCP session between R1
and R2.
Steps
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#neighbor 192.0.2.222 password Secret35
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.222 192.0.2.222:0 None PGUW 0 14 if2R2
192.0.2.233 192.0.2.233:0 Oper GUW 84 10 if2R3
Steps
Steps
Example
[local]R1(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.222 192.0.2.222:0 Oper PGUW 61 12 if2R2
192.0.2.233 192.0.2.233:0 Oper GUW 76 13 if2R3
Steps
1. On R1, enter the context, access LDP configuration mode, and configure
extended discovery.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#neighbor 192.0.2.222 targeted
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.233 192.0.2.233:0 Oper GUW 67 14 if2R3
Example
[local]R1(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.222 192.0.2.222:0 Oper GUW 75 30 none - remote
192.0.2.233 192.0.2.233:0 Oper GUW 60 12 if2R3
Example
[local]R2(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
...
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.211 192.0.2.211:0 Oper AGUW 77 31 none - remote
192.0.2.233 192.0.2.233:0 Oper GUW 69 12 if2R3
Steps
1. Enter the context, access LDP configuration mode, and configure the
targeted Hello holdtime.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#targeted hello holdtime 50
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R2#show ldp neighbor 192.0.2.211 detail
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
Neighbor Address: 192.0.2.211 State: Oper
LDP Identifier: 192.0.2.211:0 Flags: AGUW
...
Up/Down Time Since Last Chg: 00:20:27 Reset Count: 0
# of Adjacency: 1
# Interface I/F Address Rcvd Used Left Intv
1 : none - remote none 45 45 32 15
Example
[local]R2#show ldp neighbor 192.0.2.211 detail
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
...
Neighbor Address: 192.0.2.211 State: Oper
LDP Identifier: 192.0.2.211:0 Flags: AGUW
...
Up/Down Time Since Last Chg: 00:20:27 Reset Count: 0
# of Adjacency: 1
# Interface I/F Address Rcvd Used Left Intv
1 : none - remote none 50 45 32 15
Steps
1. Enter the context, access LDP configuration mode, and enable explicit-
null advertisement.
Example
[local]R2(config)#context local
[local]R2(config-ctx)#router ldp
[local]R2(config-ldp)#neighbor 192.0.2.211 explicit-null
[local]R2(config-ldp)#commit
[local]R2(config-ldp)#exit
Example
[local]R1#show ldp binding neighbor 192.0.2.222 received
From - source of remote label, Remote/Out - remote/output label binding
Prefix/FEC Learned-From Local/In Remote/Out Interface
192.0.2.0/29 192.0.2.222:0 3 3
192.0.2.8/29 192.0.2.222:0 3 655362
> 192.0.2.16/29 192.0.2.222:0 655362 3 if2R2
192.0.2.211/32 192.0.2.222:0 3 655364
> 192.0.2.222/32 192.0.2.222:0 655365 3 if2R2
192.0.2.233/32 192.0.2.222:0 655364 655365
Example
[local]R1#show ldp binding neighbor 192.0.2.222 received
> active binding, Local/In - local/input label binding
From - source of remote label, Remote/Out - remote/output label binding
Prefix/FEC Learned-From Local/In Remote/Out Interface
192.0.2.0/29 192.0.2.222:0 3 0
192.0.2.8/29 192.0.2.222:0 3 655362
> 192.0.2.16/29 192.0.2.222:0 655362 0 if2R2
192.0.2.211/32 192.0.2.222:0 3 655364
> 192.0.2.222/32 192.0.2.222:0 655365 0 if2R2
192.0.2.233/32 192.0.2.222:0 655364 655365
To propagate the IGP metric into LSPs, do the following steps starting in
global configuration mode.
Steps
1. Enter the context, access LDP configuration mode, and enable IGP-metric
tracking.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#track-igp-metric
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R1#show ip route 192.0.2.222/32
Best match Routing entry for 192.0.2.222/32 is 192.0.2.222/32 , version 206
Route Uptime 00:00:51
Paths: total 2, best path count 2 (includes 1 lsp best path)
...
Active path :
Known via isis isis1, type-IS-IS level-1, distance 115, metric 20,
Tag 0, Next-hop 192.0.2.2, NH-ID 0x31100002, Adj ID: slot number=0, adj id
...
Active LSP path ineligible for fib, only used for recursion
Known via ldp distance 7, metric 0,
Tag 0, Next-hop 192.0.2.2, NH-ID 0x31E00028, Adj ID: slot number=0, adj id
...
Example
[local]R1#show ip route 192.0.2.222/32
Best match Routing entry for 192.0.2.222/32 is 192.0.2.222/32 , version 213
Route Uptime 00:00:07
Paths: total 2, best path count 2 (includes 1 lsp best path)
...
Active path :
Known via isis isis1, type-IS-IS level-1, distance 115, metric 20,
Tag 0, Next-hop 192.0.2.2, NH-ID 0x31100002, Adj ID: slot number=0, adj id
...
Active LSP path ineligible for fib, only used for recursion
Known via ldp distance 7, metric 20,
Tag 0, Next-hop 192.0.2.2, NH-ID 0x31E00028, Adj ID: slot number=0, adj id
...
Steps
Example
[local]R1(config)#context local
[local]R1(config-ctx)#ip prefix-list PL_LDP_1
[local]R1(config-prefix-list)#permit 0.0.0.0/0 eq 32
[local]R1(config-prefix-list)#exit
Example
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#neighbor 198.51.100.200 label-binding prefix-list PL_LDP_1 out
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Example
[local]R0#show ldp binding
> active binding, Local/In - local/input label binding
From - source of remote label, Remote/Out - remote/output label binding
Prefix/FEC Learned-From Local/In Remote/Out Interface
> 10.0.1.0/24 192.0.2.211:0 655362 655366 if2R1
> 10.0.2.0/24 192.0.2.211:0 655363 655367 if2R1
> 192.0.2.0/29 192.0.2.211:0 655364 3 if2R1
> 192.0.2.8/29 192.0.2.211:0 655365 3 if2R1
> 192.0.2.16/29 192.0.2.211:0 655366 655362 if2R1
> 192.0.2.211/32 192.0.2.211:0 655367 3 if2R1
> 192.0.2.222/32 192.0.2.211:0 655368 655365 if2R1
> 192.0.2.233/32 192.0.2.211:0 655369 655364 if2R1
> 198.51.100.0/29 local 3
192.0.2.211:0 3
> 198.51.100.200/32 local 3
192.0.2.211:0 655370
> 203.0.113.0/29 192.0.2.211:0 655370 655368 if2R1
Example
[local]R0#show ldp binding
> active binding, Local/In - local/input label binding
From - source of remote label, Remote/Out - remote/output label binding
Prefix/FEC Learned-From Local/In Remote/Out Interface
> 192.0.2.211/32 192.0.2.211:0 655367 3 if2R1
> 192.0.2.222/32 192.0.2.211:0 655368 655365 if2R1
> 192.0.2.233/32 192.0.2.211:0 655369 655364 if2R1
> 198.51.100.0/29 local 3
> 198.51.100.200/32 local 3
192.0.2.211:0 655370
Steps
1. Enter the context, access LDP configuration mode, and enable ECMP.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#ecmp-transit
[local]R1(config-ldp)#commit
[local]R1(config-ldp)#exit
[local]R1(config-ctx)#exit
Before ECMP was enabled on R1, traceroute packets sent over the LSP
from LER R0 to route 203.0.113.0/29 showed only next hop R2
(192.0.2.2) on P router R1.
Example
[local]R0#traceroute mpls ldp 203.0.113.0/29
Sending 1 100-byte MPLS echos to LDP 203.0.113.0/29, source 198.51.100.200,
timeout is 1 second, send interval is 0 msec:
Pkt Hop Recv Intf Down Intf Down Nbr RTT MTU RC
1 0 N/A 198.51.100.1 198.51.100.1 0 1500 Ingress
1 1 198.51.100.1 192.0.2.2 192.0.2.2 24 1500 Transit
1 2 192.0.2.2 N/A N/A 21 N/A Egress
After ECMP is enabled on R1, traceroute packets sent over the LSP from
LER R0 to route 203.0.113.0/29 show two next hops on this P router:
R2 (192.0.2.2) and R3 (192.0.2.10).
Example
[local]R0#traceroute mpls ldp 203.0.113.0/29
Sending 1 100-byte MPLS echos to LDP 203.0.113.0/29, source 198.51.100.200,
timeout is 1 second, send interval is 0 msec:
Pkt Hop Recv Intf Down Intf Down Nbr RTT MTU RC
1 0 N/A 198.51.100.1 198.51.100.1 0 1500 Ingress
1 1 198.51.100.1 192.0.2.2 192.0.2.2 8 1500 Transit
192.0.2.10 192.0.2.10 1500
1 2 192.0.2.2 N/A N/A 11 N/A Egress
Steps
1. Enter the context, access LDP configuration mode, and create LSP
pseudocircuits.
Example
[local]R0(config)#context local
[local]R0(config-ctx)#router ldp
[local]R0(config-ldp)#create-lsp-circuit
[local]R0(config-ldp)#commit
[local]R0(config-ldp)#exit
[local]R0(config-ctx)#exit
[local]R0(config)#exit
Example
[local]R0#show ldp summary
LDP Identifier: 198.51.100.200:0 Config Trans Addr: None
FEC Version: 30 ADDR Version: 2
Label Manager version: 30 Operational Peers: 1
Labels Allocated: 11 Router State: Normal
NSR State: Standby not Ready Graceful restart: enabled
Fast-reroute: disabled ipfrr: enabled
Track-IGP-metric: disabled Create-LSP-Circuit: disabled
Tunnel-Shortcuts: disabled
max-session: 1024
End-of-LIB Notification enabled
Dynamic Capability Announcement: enabled
Dynamic Capabilities: nil
Example
[local]R0#show circuit counters mpls live
please wait...
[local]R0#
Example
[local]R0#show ldp summary
LDP Identifier: 198.51.100.200:0 Config Trans Addr: None
FEC Version: 30 ADDR Version: 2
Label Manager version: 30 Operational Peers: 1
Labels Allocated: 11 Router State: Normal
NSR State: Standby not Ready Graceful restart: enabled
Fast-reroute: disabled ipfrr: enabled
Track-IGP-metric: disabled Create-LSP-Circuit: enabled
Tunnel-Shortcuts: disabled
max-session: 1024
End-of-LIB Notification enabled
Dynamic Capability Announcement: enabled
Dynamic Capabilities: nil
Example
[local]R0#show circuit counters mpls
Circuit Packets/Bytes Sent Packets/Bytes Received
MPLS LSP 10 0 0
0 0
MPLS LSP 11 0 0
0 0
MPLS LSP 12 0 0
0 0
MPLS LSP 13 0 0
0 0
MPLS LSP 14 0 0
0 0
MPLS LSP 15 0 0
0 0
MPLS LSP 16 0 0
0 0
MPLS LSP 17 0 0
0 0
MPLS LSP 18 0 0
0 0
To verify the operation of these LSP counters, this example sends traffic
from R0 to subnet 203.0.113.0/29. The counter for circuit 18 shows
the numbers of sent packets (80) and bytes (9440).
Example
[local]R0#ping mpls ldp 203.0.113.0/29 80
Sending 80 100-byte MPLS echos to LDP 203.0.113.0/29, source 198.51.100.200,
timeout is 1 second, send interval is 0 msec:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
---- MPLS PING Statistics----
80 packets transmitted, 80 packets received no error, 0.0% packet loss/error
round-trip min/avg/max/stddev = 3.148/5.127/15.275/2.072 ms
Example
[local]R0#show circuit counters mpls lsp 18 live
Circuit Packets/Bytes Sent Packets/Bytes Received
MPLS LSP 18 80 0
9440 0
Steps
1. Enter the context, access LDP configuration mode, and set the maximum
number of allowed sessions.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#max-session 800
[local]R1(config-ldp)#commit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp summary
LDP Identifier: 192.0.2.211:0 Config Trans Addr: None
FEC Version: 422 ADDR Version: 6
Label Manager version: 422 Operational Peers: 3
Labels Allocated: 11 Router State: Normal
Graceful restart enabled, Fast-reroute disabled, Track-IGP-metric disabled, Crea
te-LSP-Circuit disabled, Tunnel-Shortcuts disabled, max-session 1024
End-of-LIB Notification enabled
After the maximum number of sessions is modified, the router displays the
configured limit in its max-session field.
Example
[local]R1(config)#show ldp summary
LDP Identifier: 192.0.2.211:0 Config Trans Addr: None
You can also use the graceful-restart (LDP) command to configure graceful-
restart timers.
Steps
1. Enter the context, access LDP configuration mode, and disable graceful
restart.
Example
[local]R1(config)#context local
[local]R1(config-ctx)#router ldp
[local]R1(config-ldp)#no graceful-restart
[local]R1(config-ldp)#commit
[local]R1(config-ctx)#exit
Example
[local]R1(config)#show ldp summary
LDP Identifier: 192.0.2.211:0 Config Trans Addr: None
FEC Version: 443 ADDR Version: 6
Label Manager version: 443 Operational Peers: 2
Labels Allocated: 11 Router State: Normal
NSR State: Standby not Ready Graceful restart: enabled
Fast-reroute: disabled ipfrr: enabled
Track-IGP-metric: disabled Create-LSP-Circuit: disabled
Tunnel-Shortcuts: disabled
max-session: 1024
End-of-LIB Notification enabled
Dynamic Capability Announcement: enabled
Dynamic Capabilities: nil
To disable LDP LFA support for IP FRR, perform the following steps starting in
global configuration mode.
Steps
1. Enter the context, access LDP configuration mode, and disable IP-FRR.
Example
[local]Ericsson(config)#context local
[local]Ericsson(config-ctx)#router ldp
[local]Ericsson(config-ldp)#no ipfrr
[local]Ericsson(config-ldp)#commit
[local]Ericsson(config-ctx)#exit
Example
[local]R1(config)#show ldp summary
LDP Identifier: 6.6.6.6:0 Config Trans Addr: None
FEC Version: 26 ADDR Version: 3
Label Manager version: 26 Operational Peers: 1
Labels Allocated: 4 Router State: Normal
NSR State: Standby not Ready
Graceful restart enabled, Fast-reroute disabled, Track-IGP-metric disabled, Create-LSP-Circuit di →
sabled, Tunnel-Shortcuts
192.0.2.9/29 192.0.2.16/29
Receiver
R3
192.0.2.233/32
G108986A
Steps
1. Enter the context, access LDP configuration mode, and enable MLDP in
R0. Similarly, enable R1, R2 and R3 routers.
Example
[local]R0(config)#context local
[local]R0(config-ctx)#router ldp
[local]R0(config-ldp)#mldp
[local]R0(config-ldp)#commit
[local]R0(config-ctx)#exit
Example
[local]R3(config)#show ldp summary
LDP Identifier: 192.0.2.233:0 Config Trans Addr: None
FEC Version: 22 ADDR Version: 3
Label Manager version: 22 Operational Peers: 2
Labels Allocated: 8 Router State: Normal
NSR State: Standby not Ready Graceful restart: enabled
Fast-reroute: disabled ipfrr: enabled
Track-IGP-metric: disabled Create-LSP-Circuit: disabled
Tunnel-Shortcuts: disabled
max-session: 2010
End-of-LIB Notification enabled
Dynamic Capability Announcement: enabled
Dynamic Capabilities: p2mp
3. Execute show ldp neighbor command in the neighbor where two new
flags Y and M are available.
Example
[local]R1(config)#show ldp neighbor
PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay
N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState
X - ExplicitNullEnabled, C - ExplicitNullStatusChanging
G - Graceful Restart Supported, L - Session Life Extended
U - Unrecognized Notification Capable, V - Reachable Via Tunnel-Shortcut
W - Typed wildcard FEC capable, Y - Dynamic Capability announcement
M - P2MP capable
SHld - Session Holdtime Left, HHld - Hello Holdtime Left
NeighborAddr LDP Identifier State Flag SHld HHld Interface
192.0.2.211 192.0.2.211:0 Oper AGMUWY 81 10 int1
Example
[local]R2(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 192.0.2.211 719360
Example
[local]R2(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 719360 Local Label alloc_time : Apr 4 05:53:07.038
Upstream Node : 192.0.2.211 Label upstream adv_time : Apr 4 05:53:07.038
Flags : adv-up-peer, local-rec, sent-to-lrm
No of Oifs : 0
Oif(s
Example
[local]R1(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 198.51.100.200 719360 719360 192.0.2.222 int2
Example
[local]R1(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 719360 Local Label alloc_time : Apr 4 05:53:10.438
Upstream Node : 198.51.100.200 Label upstream adv_time : Apr 4 05:53:10.438
Flags : adv-up-peer, sent-to-lrm, downstream-mapping-rcved
No of Oifs : 1
Oif(s) :
Label : 719360 Outgoing cct : 3/5:511:63:31/1/1/7
Interface : int2 Down_peer : 192.0.2.222
Uptime : 00:00:39 Label received time : Apr 4 05:53:10.438
Oif-Flags :
Example
[local]R0(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 0.0.0.0 0 719360 192.0.2.211 int1
Example
[local]R0(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 0 Local Label alloc_time :
Upstream Node : 0.0.0.0 Label upstream adv_time :
Flags : sent-to-lrm, local-root, downstream-mapping-rcved
No of Oifs : 1
Oif(s) :
Label : 719360 Outgoing cct : 4/1:511:63:31/1/1/4
Interface : int1 Down_peer : 192.0.2.211
Uptime : 00:01:01 Label received time : Apr 4 05:52:37.535
Oif-Flags :
When a new receiver joins at R3 for the same source at R0 with source
address (50.1.1.1), group address (225.1.1.1) and RD (100:1), LDP
reuses the P2MP tree which is already created from R0. This creates a
new branch at R1 towards R3, which means that R1 has the new oif
towards R3. The command output for show ldp mldp binding detail
command in R3, R2, R1 and R0 is displayed below: The following
example is displayed for R3:
Example
[local]R3(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 192.0.2.211 719362
Example
[local]R3(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 719362 Local Label alloc_time : Apr 4 05:57:38.943
Upstream Node : 192.0.2.211 Label upstream adv_time : Apr 4 05:57:38.943
Flags : adv-up-peer, local-rec, sent-to-lrm
No of Oifs : 0
Oif(s)
Example
[local]R2(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 192.0.2.211 719360
Example
[local]R2(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 719360 Local Label alloc_time : Apr 4 05:53:07.038
Upstream Node : 192.0.2.211 Label upstream adv_time : Apr 4 05:53:07.038
Flags : adv-up-peer, local-rec, sent-to-lrm
No of Oifs : 0
Oif(s
Example
[local]R1(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Example
[local]R1(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 719360 Local Label alloc_time : Apr 4 05:53:10.438
Upstream Node : 198.51.100.200 Label upstream adv_time : Apr 4 05:53:10.438
Flags : adv-up-peer, sent-to-lrm, downstream-mapping-rcved
No of Oifs : 2
Oif(s) :
Label : 719360 Outgoing cct : 3/5:511:63:31/1/1/7
Interface : int2 Down_peer : 192.0.2.222
Uptime : 00:05:35 Label received time : Apr 4 05:53:10.438
Oif-Flags :
Label : 719362 Outgoing cct : 2/3:511:63:31/1/1/9
Interface : int3 Down_peer : 192.0.2.233
Uptime : 00:01:05 Label received time : Apr 4 05:57:40.542
Oif-Flags :
Example
[local]R1(config)#show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
198.51.100.200 Transit-vpnv4 0.0.0.0 0 719360 192.0.2.211 int1
Example
[local]R1(config)#show ldp mldp binding detail
Fec Root Node : 198.51.100.200 Type : P2MP
Opaque TLV Data:
Type : Transit-vpnv4 Length : 16
Source : 50.1.1.1
Group : 225.1.1.1
RD : 429496729601
Local Label : 0 Local Label alloc_time :
Upstream Node : 0.0.0.0 Label upstream adv_time :
Flags : sent-to-lrm, local-root, downstream-mapping-rcved
No of Oifs : 1
Oif(s) :
Label : 719360 Outgoing cct : 4/1:511:63:31/1/1/4
Interface : int1 Down_peer : 192.0.2.211
Uptime : 00:05:57 Label received time : Apr 4 05:52:37.535
Oif-Flags :
This example configures mLDP FRR link protection by using LFA backup
tunnel. To configure LFA, perform the following steps starting in global
(5.5.5.5)
R5
G108980A
Steps
1. On R2, enter the context, enable LFA under OSPF. Similarily, enable R3
and R5. The following example is displayed for R2:
Example
[local]R2(config)#context local
[local]R2(config-ctx)#router ospf 1
[local]R2(config-ospf)#area 0.0.0.0
[local]R2(config-ospf-area)#interface 2to3
[local]R2(config-ospf-if)#network-type point-to-point
[local]R2(config-ospf-if)#lfa
Example
[local]R2>context local
[local]R2(config-ctx)#router bfd
[local]R2(config-bfd)#interface 2to3
[local]R2(config-bfd-if)#minimum transmit-interval 3.3
[local]R2(config-bfd-if)#minimum receive-interval 3.3
3. Enable FRR on PLR router R2. It's enabled by default. The following
example is displayed for R2:
Example
[local]R2(config)#context local
[local]R2(config-ctx)#router ldp
[local]R2(config-ldp)#ipfrr
[local]R2(config-ldp)#mldp link-protection
Example
[local]R2>show mpls lsp p2mp
Codes : S - MPLS-Static, R - RSVP, L - LDP, I - ISIS, O - OSPF, B - BGP, T - SR-
STATIC, P - PCC, PW - Pseudowire, ML - MLDP
Type In Label Action Direct Next hop Out Label Adjacency Id
ML 0 push 2.3.1.2 716803 0x400008
push 2.5.1.2 655366 716803 0x400009
[local]R2>show ldp mldp binding
Local/In - local/input label binding, Remote/Out - remote/output label binding
Oif - Outgoing Interface
Fec-Root Opq-tlv-type Upstream Node Local/In Remote/Out Downstream Node Oif
2.2.2.2 Transit-v4 0.0.0.0 0 716803 3.3.3.3 2to3
This example configures mLDP FRR link protection by using RLFA backup
tunnel. To configure RLFA, perform the following steps starting in global
configuration mode. Make sure that mLDP is configured. For instructions on
how to enable mLDP, see Enable Multipoint Label Distribution Protocol.
(RLFA for
R5 R6 link A)
(5.5.5.5) (6.6.6.6)
G108981A
Steps
1. On R2, enter the context, enable RLFA under OSPF. Similarily, enable R3,
R5 and R6. The following example is displayed for R2:
Example
[local]R2(config)#context local
[local]R2(config-ctx)#router ospf 1
[local]R2(config-ospf)#area 0.0.0.0
[local]R2(config-ospf-area)#interface 2to3
[local]R2(config-ospf-if)#network type point-to-point
[local]R2(config-ospf-if)#lfa remote-lfa
Example
[local]R2>context local
[local]R2(config-ctx)#router bfd
[local]R2(config-bfd)#interface 2to3
[local]R2(config-bfd-if)#minimum transmit-interval 3.3
[local]R2(config-bfd-if)#minimum receive-interval 3.3
3. Enable FRR on the protected router R2 and R6, which is the RLFA for
Link A. It's enabled by default. Then configure the target LDP as well.
Following example is displayed for R2.
Example
[local]R2(config)#context local
[local]R2(config-ctx)#router ldp
[local]R2(config-ldp)#ipfrr
[local]R2(config-ctx)#targeted advertise ipv4
[local]R2(config-ldp)#mldp link-protection
[local]R2(config-ldp)#neighbour 6.6.6.6 targeted
Example
[local]R2>show mpls lsp p2mp
Codes : S - MPLS-Static, R - RSVP, L - LDP, I - ISIS, O - OSPF, B - BGP, T - SR-
STATIC, P - PCC, PW - Pseudowire, ML - MLDP
Type In Label Action Direct Next hop Out Label Adjacency Id
ML 0 push 2.3.1.2 716803 0x400008
push 2.5.1.2 655381 655365 716805 0x40000c
3 Operations
4 LDP Glossary
ECMPs
FEC
FRR
Fast Reroute
IGP
IS-IS
LDP
LER
LFA
Loop-Free Alternate
LFIB
LIB
LSPs
Label-Switched Paths
LSR
Label-Switched Router
MD5
Message Digest 5
mLDP
MBB
MPLS
OSPF
TCP
TLV
Type-Length-Value
Reference List
RFCs
• RFC 3612, Applicability Statement for Restart Mechanisms for the Label
Distribution Protocol (LDP)