Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS,
INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED
WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED
WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH ALL
FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE
PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR
ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship
between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output,
network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content
is unintentional and coincidental.
Finding Feature Information 41
Restrictions 41
Information about MPLS LDP Inbound Label Binding Filtering 41
How to Configure MPLS LDP Inbound Label Binding Filtering 42
Finding Feature Information 65
Restrictions 65
Information About MPLS LDP Graceful Restart 66
How MPLS LDP Graceful Restart Works 66
How a Route Processor Advertises That It Supports MPLS LDP Graceful Restart 67
What Happens If a Route Processor Does Not Have LDP Graceful Restart 67
How to Configure MPLS LDP Graceful Restart 67
Configuring MPLS LDP Graceful Restart 67
Verifying the Configuration 69
Configuration Example for MPLS LDP Graceful Restart 69
Additional References 72
Feature Information for MPLS LDP Graceful Restart 73
Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) enables peer label switch
routers (LSRs) in an MPLS network to exchange label binding information for supporting hop-by-hop
forwarding in an MPLS network. This module explains the concepts related to MPLS LDP and describes
how to configure MPLS LDP in a network.
•Finding Feature Information, page 1
•Prerequisites for MPLS LDP, page 1
•Information About MPLS LDP, page 1
•How to Configure MPLS LDP, page 5
•MPLS LDP Configuration Examples, page 21
•Additional References, page 25
•Feature Information for MPLS Label Distribution Protocol, page 26
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature
information and caveats, see the release notes for your platform and software release. To find information
about the features documented in this module, and to see a list of the releases in which each feature is
supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for MPLS LDP
Label switching on a router requires that Cisco Express Forwarding (CEF) be enabled on that router.
Information About MPLS LDP
• Introduction to MPLS LDP, page 2
• MPLS LDP Functional Overview, page 2
• LDP and TDP Support, page 2
• Introduction to LDP Sessions, page 3
• Introduction to LDP Label Bindings Label Spaces and LDP Identifiers, page 4
MPLS LDP provides the means for LSRs to request, distribute, and release label prefix binding information
to peer routers in a network. LDP enables LSRs to discover potential peers and to establish LDP sessions
with those peers for the purpose of exchanging label binding information.
MPLS LDP enables one LSR to inform another LSR of the label bindings it has made. Once a pair of
routers communicate the LDP parameters, they establish a label-switched path (LSP). MPLS LDP enables
LSRs to distribute labels along normally routed paths to support MPLS forwarding. This method of label
distribution is also called hop-by-hop forwarding. With IP forwarding, when a packet arrives at a router the
router looks at the destination address in the IP header, performs a route lookup, and forwards the packet to
the next hop. With MPLS forwarding, when a packet arrives at a router the router looks at the incoming
label, looks up the label in a table, and then forwards the packet to the next hop. MPLS LDP is useful for
applications that require hop-by-hop forwarding, such as MPLS VPNs.
MPLS LDP Functional Overview
Cisco MPLS LDP provides the building blocks for MPLS-enabled applications, such as MPS Virtual
Private Networks (VPNs).
Introduction to MPLS LDP
LDP provides a standard methodology for hop-by-hop, or dynamic label, distribution in an MPLS network
by assigning labels to routes that have been chosen by the underlying Interior Gateway Protocol (IGP)
routing protocols. The resulting labeled paths, called label switch paths (LSPs), forward label traffic across
an MPLS backbone to particular destinations. These capabilities enable service providers to implement
MPLS-based IP VPNs and IP+ATM services across multivendor MPLS networks.
LDP and TDP Support
LDP supercedes Tag Distribution Protocol (TDP). See the table below for information about LDP and TDP
support in Cisco IOS releases.
Use caution when upgrading the image on a router that uses TDP. Ensure that the TDP sessions are
established when the new image is loaded. You can accomplish this by issuing the global configuration
command mplslabelprotocoltdp. Issue this command and save it to the startup configuration before
loading the new image. Alternatively, you can enter the command and save the running configuration
immediately after loading the new image.
Table 1
Train and ReleaseLDP/TDP Support
12.0S Train
LDP and TDP Support
•TDP is enabled by default.
•Cisco IOS Release 12.0(29)S and earlier releases: TDP is
supported for LDP features.
•Cisco IOS Release 12.0(30)S and later releases: TDP is
not support for LDP features.
When you enable MPLS LDP, the LSRs send out messages to try to find other LSRs with which they can
create LDP sessions. The following sections explain the differences between directly connected LDP
sessions and nondirectly connected LDP sessions.
• Directly Connected MPLS LDP Sessions, page 3
• Nondirectly Connected MPLS LDP Sessions, page 4
•LDP is enabled by default.
•Cisco IOS Release 12.2(25)S and earlier releases: TDP is
supported for LDP features.
•Cisco IOS Releases 12.2(27)SBA, 12.2(27)SRA,
12.2(27)SRB and later releases: TDP is not supported for
LDP features.
•Cisco IOS Release 12.3(14)T and earlier releases: TDP is
enabled by default.
•Cisco IOS Releases 12.4 and 12.4T and later releases:
LDP is enabled by default.
•Cisco IOS Release 12.3(11)T and earlier releases: TDP is
supported for LDP features.
•Cisco IOS Release 12.3(14)T and later releases: TDP is
not support ed for LDP features.
Directly Connected MPLS LDP Sessions
If an LSR is one hop from its neighbor, it is directly connected to its neighbor. The LSR sends out LDP link
Hello messages as User Datagram Protocol (UDP) packets to all the routers on the subnet (multicast). A
neighboring LSR may respond to the link Hello message, allowing the two routers to establish an LDP
session. This is called basic discovery.
To initiate an LDP session between routers, the routers determine which router will take the active role and
which router will take the passive role. The router that takes the active role establishes the LDP TCP
connection session and initiates the negotiation of the LDP session parameters. To determine the roles, the
two routers compare their transport addresses. The router with the higher IP address takes the active role
and establishes the session.
After the LDP TCP connection session is established, the LSRs negotiate the session parameters, including
the method of label distribution to be used. Two methods are available:
•Downstream Unsolicited: An LSR advertises label mappings to peers without being asked to.
•Downstream on Demand: An LSR advertises label mappings to a peer only when the peer asks for
them.
For information about creating LDP sessions, see the Enabling Directly Connected LDP Sessions, page
If the LSR is more than one hop from its neighbor, it is nondirectly connected to its neighbor. For these
nondirectly connected neighbors, the LSR sends out a targeted Hello message as a UDP packet, but as a
unicast message specifically addressed to that LSR. The nondirectly connected LSR responds to the Hello
message and the two routers begin to establish an LDP session. This is called extended discovery.
An MPLS LDP targeted session is a label distribution session between routers that are not directly
connected. When you create an MPLS traffic engineering tunnel interface, you need to establish a label
distribution session between the tunnel headend and the tailend routers. You establish nondirectly
connected MPLS LDP sessions by enabling the transmission of targeted Hello messages.
You can use the mplsldpneighbortargetedcommand to set up a targeted session when other means of
establishing targeted sessions do not apply, such as configuring mplsipon a traffic engineering (TE) tunnel
or configuring Any Transport over MPLS (AToM) virtual circuits (VCs). For example, you can use this
command to create a targeted session between directly connected MPLS label switch routers (LSRs) when
MPLS label forwarding convergence time is an issue.
The mplsldpneighbortargetedcommand can improve label convergence time for directly connected
neighbor LSRs when the link(s) directly connecting them are down. When the links between the neighbor
LSRs are up, both the link and targeted Hellos maintain the LDP session. If the links between the neighbor
LSRs go down, the targeted Hellos maintain the session, allowing the LSRs to retain labels learned from
each other. When a link directly connecting the LSRs comes back up, the LSRs can immediately reinstall
labels for forwarding use without having to reestablish their LDP session and exchange labels.
The exchange of targeted Hello messages between two nondirectly connected neighbors can occur in
several ways, including the following:
Introduction to LDP Label Bindings Label Spaces and LDP Identifiers
•Router 1 sends targeted Hello messages carrying a response request to Router 2. Router 2 sends
targeted Hello messages in response if its configuration permits. In this situation, Router 1 is
considered to be active and Router 2 is considered to be passive.
•Router 1 and Router 2 both send targeted Hello messages to each other. Both routers are considered to
be active. Both, one, or neither router can also be passive, if they have been configured to respond to
requests for targeted Hello messages from each other.
The default behavior of an LSR is to ignore requests from other LSRs that send targeted Hello messages.
You can configure an LSR to respond to requests for targeted Hello messages by issuing the mplsldpdiscoverytargeted-helloaccept command.
The active LSR mandates the protocol that is used for a targeted session. The passive LSR uses the protocol
of the received targeted Hello messages.
For information about creating MPLS LDP targeted sessions, see the Establishing Nondirectly Connected
MPLS LDP Sessions, page 8.
Introduction to LDP Label Bindings Label Spaces and LDP Identifiers
An LDP label binding is an association between a destination prefix and a label. The label used in a label
binding is allocated from a set of possible labels called a label space.
LDP supports two types of label spaces:
•Interface-specific--An interface-specific label space uses interface resources for labels. For example,
label-controlled ATM (LC-ATM) interfaces use virtual path identifiers/virtual circuit identifiers (VPIs/
VCIs) for labels. Depending on its configuration, an LDP platform may support zero, one, or more
interface-specific label spaces.
•Platform-wide--An LDP platform supports a single platform-wide label space for use by interfaces that
can share the same labels. For Cisco platforms, all interface types, except LC-ATM, use the platformwide label space.
LDP uses a 6-byte quantity called an LDP Identifier (or LDP ID) to name label spaces. The LDP ID is
made up of the following components:
•The first four bytes, called the LPD router ID, identify the LSR that owns the label space.
•The last two bytes, called the local label space ID, identify the label space within the LSR. For the
platform-wide label space, the last two bytes of the LDP ID are always both 0.
The LDP ID takes the following form:
<LDP router ID> : <local label space ID>
The following are examples of LPD IDs:
•172.16.0.0:0
•192.168.0.0:3
The router determines the LDP router ID as follows, if the mplsldprouter-id command is not executed,
How to Configure MPLS LDP
The router examines the IP addresses of all operational interfaces.
1
If these IP addresses include loopback interface addresses, the router selects the largest loopback
2
address as the LDP router ID.
Otherwise, the router selects the largest IP address pertaining to an operational interface as the LDP
3
router ID.
The normal (default) method for determining the LDP router ID may result in a router ID that is not usable
in certain situations. For example, the router might select an IP address as the LDP router ID that the
routing protocol cannot advertise to a neighboring router. The mplsldprouter-id command allows you to
specify the IP address of an interface as the LDP router ID. Make sure the specified interface is operational
so that its IP address can be used as the LDP router ID.
When you issue the mplsldprouter-id command without the force keyword, the router select selects the
IP address of the specified interface (provided that the interface is operational) the next time it is necessary
to select an LDP router ID, which is typically the next time the interface is shut down or the address is
configured.
When you issue the mplsldprouter-idcommand with the force keyword, the effect of the mplsldprouter-idcommand depends on the current state of the specified interface:
•If the interface is up (operational) and if its IP address is not currently the LDP router ID, the LDP
router ID changes to the IP address of the interface. This forced change in the LDP router ID tears
down any existing LDP sessions, releases label bindings learned via the LDP sessions, and interrupts
MPLS forwarding activity associated with the bindings.
•
If the interface is down (not operational) when the mplsldprouter-idinterfaceforce command is
issued, when the interface transitions to up, the LDP router ID changes to the IP address of the
interface. This forced change in the LDP router ID tears down any existing LDP sessions, releases
label bindings learned via the LDP sessions, and interrupts MPLS forwarding activity associated with
the bindings.
The mplsip command is enabled by default; you do not have
to specify this command.
•Globally enabling MPLS forwarding does not enable it on the
router interfaces. You must enable MPLS forwarding on the
interfaces as well as for the router.
The following showmplsinterfaces command verifies that interfaces Ethernet 1/0 and 1/1 have been
configured to use LDP:
Router# show mpls interfaces
Interface IP Tunnel BGP Static Operational
Ethernet3/0 Yes (ldp) No No No Yes
Ethernet3/1 Yes No No No Yes
The following showmplsldpdiscovery command verifies that the interface is up and is sending LDP
Discovery Hello messages (as opposed to TDP Hello messages):
Router# show mpls ldp discovery
Local LDP Identifier:
This section explains how to configure nondirectly connected MPLS LDP sessions, which enable you to
establish an LDP session between routers that are not directly connected.
•MPLS requires CEF.
•You must configure the routers at both ends of the tunnel to be active or enable one router to be
passive with the mplsldpdiscoverytargeted-helloaccept command.
show mpls ldp discovery [all | vrf vpn-name] [detail
DETAILED STEPS
Command or ActionPurpose
How to Configure MPLS LDP
Step 1
Step 2
Step 3
Step 4
enable
Example:
Router> enable
configure terminal
Example:
Router# configure terminal
mpls ip
Example:
Router(config)# mpls ip
mpls label protocol {ldp | tdp | both}
Example:
Router(config)# mplslabelprotocolldp
Enables privileged EXEC mode.
•Enter your password if prompted.
Enters global configuration mode.
Configures MPLS hop-by-hop forwarding globally.
•
The mplsip command is enabled by default; you do not have to
specify this command.
•Globally enabling MPLS forwarding does not enable it on the
router interfaces. You must enable MPLS forwarding on the
interfaces as well as for the router.
Configures the use of LDP on all interfaces. LDP is the default.
•If you set all interfaces globally to LDP, you can override
specific interfaces with either the tdp or both keyword by
specifying the command in interface configuration mode.
•The local LSR (172.16.0.0) sent LDP link Hello messages on interface POS2/0 and discovered
neighbor 172.31.255.255.
•The local LSR sent LDP targeted Hello messages associated with interface Tunnel1 to target
192.168.255.255. The LSR was configured to use LDP.
•The local LSR is active for targeted discovery activity with 192.168.255.255; this means that the
targeted Hello messages it sends to 192.168.255.255 carry a response request. The local LSR was
configured to have an LDP session with the nondirectly connected LSR 192.168.255.255.
•The local LSR is not passive from the discovery activity with 192.168.255.255 for one of the
following reasons:
◦The targeted Hello messages it receives from 192.168.255.255 do not carry a response request.
◦The local LSR has not been configured to respond to such requests.
•The local LSR sent TDP directed Hello messages to the target LSR 192.168.0.0. This LSR uses TDP
because the Hello messages received from the target LSR 192.168.0.0 were TDP directed Hello
messages.
•The local LSR is passive in discovery activity with LSR 192.168.0.0. This means that the directed
Hello messages it receives from LSR 192.168.0.0 carry a response request and that the local LSR has
been configured with the mplsldpdiscoverytargeted-helloaccept command to respond to such
requests from LSR 192.168.0.0.
•The local LSR is not active in discovery activity with LSR 192.168.0.0, because no application that
requires an LDP session with LSR 192.168.0.0 has been configured on the local LSR.
How to Configure MPLS LDP
For examples of configuring LDP targeted sessions, see the Establishing Nondirectly Connected MPLS
LDP Sessions Example, page 23.
Saving Configurations MPLS Tag Switching Commands
In releases of Cisco IOS software prior to 12.4(2)T, some MPLS commands had both a tag-switching
version and an MPLS version. For example, the two commands tag-switchingip and mplsip were the
same. To support backward compatibility, the tag-switching form of the command was written to the saved
configuration.
Starting in Cisco IOS Release 12.4(2)T, the MPLS form of the command is written to the saved
configuration.
For example, if an ATM interface is configured using the following commands, which have both a tagswitching form and an MPLS form:
Router(config)# interface ATM3/0
Router(config-if)# ip unnumbered Loopback0
router(config-if)# tag-switching ip
Router(config-if)# mpls label protocol ldp
After you enter these commands and save this configuration or display the running configuration with the
showrunningcommand, the commands saved or displayed appear as follows:
ip unnumbered Loopback0
mpls ip
mpls label protocol ldp
Specifying the LDP Router ID
The mplsldprouter-id command allows you to establish the IP address of an interface as the LDP router
ID.
The following steps describe the normal process for determining the LDP router ID:
The router considers all the IP addresses of all operational interfaces.
1
If these addresses include loopback interface addresses, the router selects the largest loopback address.
2
Configuring a loopback address helps ensure a stable LDP ID for the router, because the state of
loopback addresses does not change. However, configuring a loopback interface and IP address on each
router is not required.
The loopback IP address does not become the router ID of the local LDP ID under the following
circumstances:
•◦If the loopback interface has been explicitly shut down.
◦
If the mplsldprouter-id command specifies that a different interface should be used as the LDP
router ID.
Specifying the LDP Router ID
If you use a loopback interface, make sure that the IP address for the loopback interface is configured with
a /32 network mask. In addition, make sure that the routing protocol in use is configured to advertise the
corresponding /32 network.
Otherwise, the router selects the largest interface address.
1
The router might select a router ID that is not usable in certain situations. For example, the router might
select an IP address that the routing protocol cannot advertise to a neighboring router.
The router implements the router ID the next time it is necessary to select an LDP router ID. The effect of
the command is delayed until the next time it is necessary to select an LDP router ID, which is typically the
next time the interface is shut down or the address is deconfigured.
If you use the force keyword with the mplsldprouter-id command, the router ID takes effect more
quickly. However, implementing the router ID depends on the current state of the specified interface:
•If the interface is up (operational) and its IP address is not currently the LDP router ID, the LDP router
ID is forcibly changed to the IP address of the interface. This forced change in the LDP router ID tears
down any existing LDP sessions, releases label bindings learned via the LDP sessions, and interrupts
MPLS forwarding activity associated with the bindings.
•If the interface is down, the LDP router ID is forcibly changed to the IP address of the interface when
the interface transitions to up. This forced change in the LDP router ID tears down any existing LDP
sessions, releases label bindings learned via the LDP sessions, and interrupts MPLS forwarding
activity associated with the bindings.
Make sure the specified interface is operational before assigning it as the LDP router ID.
show mpls ldp discovery [all | detail |vrf vpn-name]
DETAILED STEPS
Command or ActionPurpose
How to Configure MPLS LDP
Step 1
Step 2
Step 3
Step 4
enable
Example:
Router> enable
configure terminal
Example:
Router# configure terminal
mpls ip
Example:
Router(config)# mpls ip
mpls label protocol {ldp | tdp | both}
Example:
Router(config)# mplslabelprotocolldp
Enables privileged EXEC mode.
•Enter your password if prompted.
Enters global configuration mode.
Configures MPLS hop-by-hop forwarding globally.
•
The mplsip command is enabled by default; you do not have
to specify this command.
•Globally enabling MPLS forwarding does not enable it on the
router interfaces. You must enable MPLS forwarding on the
interfaces as well as for the router.
Configures the use of LDP on all interfaces. LDP is the default.
•If you set all interfaces globally to LDP, you can override
specific interfaces with either the tdp or both keyword by
specifying the command in interface configuration mode.
Step 5
mpls ldp router-id interface [force]
Example:
Router(config)#mplsldp
Specifies the preferred interface for determining the LDP router ID.
Preserving QoS Settings with MPLS LDP Explicit Null
Normally, LDP advertises an Implicit Null label for directly connected routes. The Implicit Null label
causes the second last (penultimate) label switched router (LSR) to remove the MPLS header from the
packet. In this case, the penultimate LSR and the last LSR do not have access to the quality of service
(QoS) values that the packet carried before the MPLS header was removed. To preserve the QoS values,
you can configure the LSR to advertise an explicit NULL label (a label value of zero). The LSR at the
penultimate hop forwards MPLS packets with a NULL label instead of forwarding IP packets.
Note
An explicit NULL label is not needed when the penultimate hop receives MPLS packets with a label stack
that contains at least two labels and penultimate hop popping is performed. In that case, the inner label can
still carry the QoS value needed by the penultimate and edge LSR to implement their QoS policy.
When you issue the mplsldpexplicit-null command, Explicit Null is advertised in place of Implicit Null
for directly connected prefixes.
If you issue the showmplsforwarding-table command on an adjacent router, the output shows that MPLS
packets are forwarded with an explicit-null label (value of 0). In the following example, the second column
shows that entries have outgoing labels of 0, where once they were marked “Pop label”.
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes label Outgoing Next Hop
label label or VC or Tunnel Id switched interface
19 Pop tag 10.12.12.12/32 0 Fa2/1/0 172.16.0.1
22 0 10.14.14.14/32 0 Fa2/0/0 192.168.0.2
23 0 172.24.24.24/32 0 Fa2/0/0 192.168.0.2
24 0 192.168.0.0/8 0 Fa2/0/0 192.168.0.2
25 0 10.15.15.15/32 0 Fa2/0/0 192.168.0.2
26 0 172.16.0.0/8 0 Fa2/0/0 192.168.0.2
27 25 10.16.16.16/32 0 Fa2/0/0 192.168.0.22
28 0 10.34.34.34/32 0 Fa2/0/0 192.168.0.2
Enabling explicit-null and specifying the forkeyword with a standard access control list (ACL) changes all
adjacent MPLS routers' tables to swap an explicit-null label for only those entries specified in the accesslist. In the following example, an access-list is created that contains the 10.24.24.24/32 entry. Explicit null
is configured and the access list is specified.
If you issue the showmplsforwarding-table command on an adjacent router, the output shows that the
only the outgoing labels for the addresses specified (172.24.24.24/32) change from Pop label to 0. All other
Pop label outgoing labels remain the same.
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes label Outgoing Next Hop
label label or VC or Tunnel Id switched interface
19 Pop tag 10.12.12.12/32 0 Fa2/1/0 172.16.0.1
22 0 10.14.14.14/32 0 Fa2/0/0 192.168.0.2
23 0 172.24.24.24/32 0 Fa2/0/0 192.168.0.2
24 0 192.168.0.0/8 0 Fa2/0/0 192.168.0.2
25 0 10.15.15.15/32 0 Fa2/0/0 192.168.0.2
26 0 172.16.0.0/8 0 Fa2/0/0 192.168.0.2
27 25 10.16.16.16/32 0 Fa2/0/0 192.168.0.22
28 0 10.34.34.34/32 0 Fa2/0/0 192.168.0.2
Enabling explicit null and adding the to keyword and an access list enables you to advertise explicit-null
labels to only those adjacent routers specified in the access-list.To advertise explicit-null to a particular
router, you must specify the router's LDP ID in the access-list.
In the following example, an access-list contains the 10.15.15.15/32 entry, which is the LDP ID of an
adjacent MPLS router. The router that is configured with explicit null advertises explicit-null labels only to
that adjacent router.
Router# show mpls ldp discovery
Local LDP Identifier:
If you issue the showmplsforwarding-table command, the output shows that explicit null labels are
going only to the router specified in the access list.
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes label Outgoing Next Hop
label label or VC or Tunnel Id switched interface
19 Pop tag 10.12.12.12/32 0 Fa2/1/0 172.16.0.1
22 0 10.14.14.14/32 0 Fa2/0/0 192.168.0.2
23 0 172.24.24.24/32 0 Fa2/0/0 192.168.0.2
24 0 192.168.0.0/8 0 Fa2/0/0 192.168.0.2
25 0 10.15.15.15/32 0 Fa2/0/0 192.168.0.2
26 0 172.16.0.0/8 0 Fa2/0/0 192.168.0.2
27 25 10.16.16.16/32 0 Fa2/0/0 192.168.0.22
28 0 10.34.34.34/32 0 Fa2/0/0 192.168.0.2
Enabling explicit-null with both the forand tokeywords enables you to specify which routes to advertise
with explicit-null labels and to which adjacent routers to advertise these explicit-null labels.
Router# show access 15
Standard IP access list 15
permit 10.15.15.15 (7 matches)
Router# show access 24
Standard IP access list 24
permit 10.24.24.24 (11 matches)
Router# configure terminal
Router(config)# mpls label protocol ldp
Router(config)# mpls ldp explicit-null for 24 to 15
If you issue the showmplsforwarding-table command on the router called 47K-60-4, the output shows
that it receives explicit null labels for 10.24.24.24/32.
Protecting Data Between LDP Peers with MD5 Authentication
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes label Outgoing Next Hop
label label or VC or Tunnel Id switched interface
17 0 <--- 10.24.24.24/32 0 Et4 172.16.0.1
20 Pop tag 172.16.0.0/8 0 Et4 172.16.0.1
21 20 10.12.12.12/32 0 Et4 172.16.0.1
22 16 10.0.0.0/8 0 Et4 172.16.0.1
23 21 10.13.13.13/32 0 Et4 172.16.0.1
25 Pop tag 10.14.14.14/32 0 Et4 172.16.0.1
27 Pop tag 192.168.0.0/8 0 Et4 172.16.0.1
28 25 10.16.16.16/32 0 Et4 172.16.0.1
29 Pop tag 192.168.34.34/32 0 Et4 172.16.0.1
Protecting Data Between LDP Peers with MD5 Authentication
You can enable authentication between two LDP peers, which verifies each segment sent on the TCP
connection between the peers. You must configure authentication on both LDP peers using the same
password; otherwise, the peer session is not established.
Authentication uses the Message Digest 5 (MD5) algorithm to verify the integrity of the communication
and authenticate the origin of the message.
To enable authentication, issue the mplsldpneighborcommand with the passwordkeyword. This causes
the router to generate an MD5 digest for every segment sent on the TCP connection and check the MD5
digest for every segment received from the TCP connection.
When you configure a password for an LDP neighbor, the router tears down existing LDP sessions and
establishes new sessions with the neighbor.
If a router has a password configured for a neighbor, but the neighboring router does not have a password
configured, a message such as the following appears on the console who has a password configured while
the two routers attempt to establish an LDP session. The LDP session is not established.
%TCP-6-BADAUTH: No MD5 digest from [peer's IP address](11003) to [local router's IP address](646)
Similarly, if the two routers have different passwords configured, a message such as the following appears
on the console. The LDP session is not established.
%TCP-6-BADAUTH: Invalid MD5 digest from [peer's IP address](11004) to [local router's IP address]
The mplsip command is enabled by default; you do not have
to specify this command.
•Globally enabling MPLS forwarding does not enable it on the
router interfaces. You must enable MPLS forwarding on the
interfaces as well as for the router.
Configures the use of LDP on all interfaces. LDP is the default.
•If you set all interfaces globally to LDP, you can override
Example:
Router(config)# mplslabelprotocolldp
19
specific interfaces with either the tdp or both keyword by
specifying the command in interface configuration mode.
The configuration examples below show only the commands related to configuring LDP for Router 1,
Router 2, and Router 3 in the sample network shown in the figure above.
Router 1 Configuration
ip cef distributed !Assumes R1 supports distributed CEF
interface Loopback0 !Loopback interface for LDP ID.
ip address 172.16.0.11 255.255.255.255
!
interface POS3/0/0
ip address 10.0.0.44 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
mpls label protocol ldp !Use LDP for this interface
!
interface POS3/0/1
ip address 192.168.0.44 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
mpls label protocol tdp !Use TDP for this interface
Router 2 Configuration
ip cef distributed !Assumes R2 supports distributed CEF
!
interface Loopback0 !Loopback interface for LDP ID.
ip address 172.16.0.22 255.255.255.255
!
interface POS2/0/0
ip address 10.0.0.33 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
mpls label protocol ldp !Use LDP for this interface
Router 3 Configuration
ip cef !Assumes R3 does not support dCEF
!
interface Loopback0 !Loopback interface for LDP ID.
ip address 172.16.0.33 255.255.255.255
!
interface POS1/0
ip address 192.168.0.55 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
mpls label protocol tdp !Use tDP for this interface
The LDP configuration for Router 1 uses the mplslabelprotocolldpcommand in interface configuration
mode, because some of its interfaces use LDP and some use TDP. Another way to configure Router 1 is to
use the mplslabelprotocolldpcommand in global configuration mode to configure LDP as the default
protocol for interfaces and use the mplslabelprotocoltdpcommand in interface configuration mode to
configure TDP for the POS3/0/1 link to Router 3. This alternative way to configure Router 1 is shown
below:
Router 1 Configuration
ip cef distributed !Assumes R1 supports dCEF
mpls label protocol ldp !Use LDP for the default protocol
!
interface Loopback0 !Loopback interface for LDP ID.
ip address 172.16.0.11 255.255.255.255
interface POS3/0/0
ip address 10.0.0.44 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
Establishing Nondirectly Connected MPLS LDP Sessions Example
MPLS LDP Configuration Examples
!Use LDP (configured i/f default)
interface POS3/0/1
ip address 192.168.0.44 255.0.0.0
mpls ip !Enable hop-by-hop MPLS forwarding
mpls label protocol tdp !Use TDP for this interface
The configuration of Router 2 also uses the mplslabelprotocolldpcommand in interface configuration
mode. To specify LDP for all interfaces, use the mplslabelprotocolldpcommand in global configuration
mode without any interface mplslabelprotocol commands.
Configuring the mplsip command on an interface triggers the transmission of discovery Hello messages
for the interface.
Establishing Nondirectly Connected MPLS LDP Sessions Example
The following examples illustrate the configuration of platforms for MPLS LDP nondirectly connected
sessions using the sample network shown in the figure below. Note that Routers 1, 4, 5, and 6 in this
sample network are not directly connected to each other.
Figure 2Sample Network for Configuring LDP for Targeted Sessions
The configuration example shows the following:
•Targeted sessions between Routers 1 and 4 use LDP. Routers 1 and 4 are both active.
•Targeted sessions between Routers 1 and 6 use LDP. Router 1 is active and Router 6 is passive.
•Targeted sessions between Routers 1 and 5 use TDP. Router 5 is active.
These examples assume that the active ends of the nondirectly connected sessions are associated with
tunnel interfaces, such as MPLS traffic engineering tunnels. They show only the commands related to
configuring LDP targeted sessions. The examples do not show configuration of the applications that initiate
the targeted sessions.
Router 1 Configuration
Tunnel interfaces Tunnel14 and Tunnel16 specify LDP for targeted sessions associated with these
interfaces. The targeted session for Router 5 requires TDP. The mplslabelprotocolldp command in
global configuration mode makes it unnecessary to explicitly specify LDP as part of the configuration from
the Tunnel14 and Tunnel16.
ip cef distributed !Router1 supports distributed CEF
mpls label protocol ldp !Use LDP as default for all interfaces
interface Loopback0 !Loopback interface for LDP ID.
ip address 10.25.0.11 255.255.255.255
interface Tunnel14 !Tunnel to Router 4 requiring label distribution
tunnel destination 10.11.0.4 !Tunnel endpoint is Router 4
mpls ip !Enable hop-by-hop forwarding on the interface
interface Tunnel15 !Tunnel to Router 5 requiring label distribution
tunnel destination 10.11.0.5 !Tunnel endpoint is Router 5
mpls label protocol tdp !Use TDP for session with Router 5
mpls ip !Enable hop-by-hop forwarding on the interface
interface Tunnel16 !Tunnel to Router 6 requiring label distribution
tunnel destination 10.11.0.6 !Tunnel endpoint is Router 6
mpls ip !Enable hop-by-hop forwarding on the interface
Router 4 Configuration
The mplslabelprotocolldp command in global configuration mode makes it unnecessary to explicitly
specify LDP as part of the configuration for the Tunnel41 targeted session with Router 1.
MPLS Label Distribution Protocol (LDP)
ip cef distributed !Router 4 supports distributed CEF
mpls label protocol ldp !Use LDP as default for all interfaces
interface Loopback0 !Loopback interface for LDP ID.
ip address 10.25.0.44 255.255.255.255
interface Tunnel41 !Tunnel to Router 1 requiring label distribution
tunnel destination 10.11.0.1 !Tunnel endpoint is Router 1
mpls ip !Enable hop-by-hop forwarding on the interface
Router 5 Configuration
Router 5 must use TDP for all targeted sessions. Therefore, its configuration includes the mpls label
protocol tdpcommand.
ip cef !Router 5 supports CEF
mpls label protocol tdp !Use TDP as default for all interfaces
interface Loopback0 !Loopback interface for LDP ID.
ip address 10.25.0.55 255.255.255.255
interface Tunnel51 !Tunnel to Router 1 requiring label distribution
tunnel destination 10.11.0.1 !Tunnel endpoint is Router 1
mpls ip !Enable hop-by-hop forwarding on the interface
Router 6 Configuration
By default, a router cannot be a passive neighbor in targeted sessions. Therefore, Router 1, Router 4, and
Router 5 are active neighbors in any targeted sessions. The mplsldpdiscoverytargeted-helloaccept
command permits Router 6 to be a passive target in targeted sessions with Router 1. Router 6 can also be an
active neighbor in targeted sessions, although the example does not include such a configuration.
ip cef distributed !Router 6 supports distributed CEF
interface Loopback0 !Loopback interface for LDP ID.
ip address 10.25.0.66 255.255.255.255
mpls ldp discovery targeted-hellos accept from LDP_SOURCES
!Respond to requests for targeted hellos
!from sources permitted by acl LDP_SOURCES
ip access-list standard LDP_SOURCES !Define acl for targeted hello sources.
permit 10.11.0.1 !Accept targeted hello request from Router 1.
deny any !Deny requests from other sources.
Feature Information for MPLS Label Distribution Protocol
Technical Assistance
DescriptionLink
MPLS Label Distribution Protocol (LDP)
The Cisco Technical Support website contains
thousands of pages of searchable technical content,
including links to products, technologies, solutions,
technical tips, and tools. Registered Cisco.com
users can log in from this page to access even more
content.
http://www.cisco.com/techsupport
Feature Information for MPLS Label Distribution Protocol
The following table provides release information about the feature or features described in this module.
This table lists only the software release that introduced support for a given feature in a given software
release train. Unless noted otherwise, subsequent releases of that software release train also support that
feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 2Feature Information for MPLS Label Distribution Protocol Overview
Feature NameReleasesFeature Information
Feature Information for MPLS Label Distribution Protocol
MPLS Label Distribution
Protocol
12.0(10)ST 12.0(14)ST 12.1(2)T
12.1(8a)E 12.2(2)T 12.2(4)T
12.2(8)T 12.0(21)ST 12.0(22)S
12.0(23)S 12.2(13)T 12.4(3)
12.4(5)
This feature was introduced in
Cisco IOS Release 12.0(10)ST,
incorporating a new set of
Multiprotocol Label Switching
(MPLS) CLI commands
implemented for use with Cisco
routers and switches. The CLI
commands in this release
reflected MPLS command syntax
and terminology, thus facilitating
the orderly transition from a
network using the Tag
Distribution Protocol (TDP) to
one using the Label Distribution
Protocol (LDP).
In Cisco IOS Release 12.0(14)ST,
several new MPLS CLI
commands were introduced,
support for MPLS VPNs was
added by means of a new vrfvpn-nameparameter in certain existing
commands, and other commands
were modified to ensure
consistent interpretation of
associated prefix-access-list
arguments by Cisco IOS
software.
In Cisco IOS 12.1(2)T, this
feature was integrated into this
release. Also, the debugmpls
Feature Information for MPLS Label Distribution Protocol
Feature NameReleasesFeature Information
MPLS Label Distribution Protocol (LDP)
In Cisco IOS Release 12.2(4)T,
support was added for Cisco
MGX 8850 and MGX 8950
switches equipped with a Cisco
MGX RPM-PR card, and the VPI
range in the showmplsatm-ldp
bindings and show mpls ip
binding commands was changed
to 4095.
In Cisco IOS Release 12.2(8)T,
the debugmplsatm-ldpfailurecommand was introduced.
In Cisco IOS Release 12.0(21)ST,
the mplsldpneighborimplicit-withdrawcommand was
introduced.
This feature was integrated into
Cisco IOS Release 12.0(22)S.
The mplsldpneighbortargeted-sessioncommand and
the interface keyword for the
mpls ldp advertiselabelscommand were added.
This feature was integrated into
Cisco IOS Release 12.0(23)S.
Default values for the mplsldpdiscoverycommand holdtime
and interval keywords were
changed.
This feature was integrated into
Cisco IOS Release 12.2(13)T.
In Cisco IOS Release 12.4(3), the
default MPLS label distribution
protocol changed from TDP to
LDP. See LDP and TDP
Support, page 2 for more
information. If no protocol is
explicitly configured by the mplslabelprotocol command, LDP is
the default label distribution
protocol. See the mplslabelprotocol (global configuration)
command for more information.
Also in Cisco IOS Release
12.4(3), LDP configuration
commands are saved by using the
MPLS form of the command
rather than the tag-switching
form. Previously, commands
were saved by using the tagswitching form of the command,
for backward compatibility. See
the Saving Configurations MPLS
Tag Switching Commands, page
11 for more information.
In Cisco IOS Release 12.4(5), the
vrfvrf-name keyword/argument
pair was added for the mplsldprouter-id command to allow you
to associate the LDP router ID
with a nondefault VRF.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.
and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks.
Third-party trademarks mentioned are the property of their respective owners. The use of the word partner
does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be
actual addresses and phone numbers. Any examples, command display output, network topology diagrams,
and other figures included in the document are shown for illustrative purposes only. Any use of actual IP
addresses or phone numbers in illustrative content is unintentional and coincidental.
The MPLS LDP Session Protection feature provides faster label distribution protocol convergence when a
link recovers following an outage. MPLS LDP Session Protection protects a label distribution protocol
(LDP) session between directly connected neighbors or an LDP session established for a traffic
engineering (TE) tunnel.
•Finding Feature Information, page 31
•Restrictions for MPLS LDP Session Protection, page 31
•Information About MPLS LDP Session Protection, page 31
•How to Configure MPLS LDP Session Protection, page 33
•Configuration Examples for MPLS LDP Session Protection, page 36
•Additional References, page 39
•Command Reference, page 40
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature
information and caveats, see the release notes for your platform and software release. To find information
about the features documented in this module, and to see a list of the releases in which each feature is
supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Restrictions for MPLS LDP Session Protection
This feature is not supported under the following circumstances:
•With TDP sessions
•With extended access lists
•With LC-ATM routers
Information About MPLS LDP Session Protection
MPLS LDP Session Protection maintains LDP bindings when a link fails. MPLS LDP sessions are
protected through the use of LDP Hello messages. When you enable MPLS LDP, the label switched routers
(LSRs) send messages to find other LSRs with which they can create LDP sessions.
•If the LSR is one hop from its neighbor, it is directly connected to its neighbor. The LSR sends out
LDP Hello messages as User Datagram Protocol (UDP) packets to all the routers on the subnet. The
hello message is called an LDP Link Hello. A neighboring LSR responds to the hello message and the
two routers begin to establish an LDP session.
•If the LSR is more than one hop from its neighbor, it is not directly connected to its neighbor. The
LSR sends out a directed hello message as a UDP packet, but as a unicast message specifically
addressed to that LSR. The hello message is called an LDP Targeted Hello. The nondirectly connected
LSR responds to the Hello message and the two routers establish an LDP session. (If the path between
two LSRs has been traffic engineered and has LDP enabled, the LDP session between them is called a
targeted session.)
MPLS LDP Session Protection uses LDP Targeted Hellos to protect LDP sessions. Take, for example, two
directly connected routers that have LDP enabled and can reach each other through alternate IP routes in
the network. An LDP session that exists between two routers is called an LDP Link Hello Adjacency.
When MPLS LDP Session Protection is enabled, an LDP Targeted Hello Adjacency is also established for
the LDP session. If the link between the two routers fails, the LDP Link Adjacency also fails. However, if
the LDP peer is still reachable through IP, the LDP session stays up, because the LDP Targeted Hello
Adjacency still exists between the routers. When the directly connected link recovers, the session does not
need to be reestablished, and LDP bindings for prefixes do not need to be relearned.
You can modify MPLS LDP Session Protection by using the keywords in the mpls ldp session protection
command.
Specifying How Long an LDP Targeted Hello Adjacency Should Be Retained
The default behavior of the mpls ldp session protection command allows an LDP Targeted Hello
Adjacency to exist indefinitely following the loss of an LDP Link Hello Adjacency. You can issue the
duration keyword to specify the number of seconds (from 30 to 2,147,483) that the LDP Targeted Hello
Adjacency is retained after the loss of the LDP Link Hello Adjacency. When the link is lost, a timer starts.
If the timer expires, the LDP Targeted Hello Adjacency is removed.
Specifying Which Routers Should Have MPLS LDP Session Protection
The default behavior of the mpls ldp session protection command allows MPLS LDP Session Protection for
all neighbor sessions. You can issue either the vrfor for keyword to limit the number of neighbor sessions
that are protected.
Enabling MPLS LDP Session Protection on Specified VPN Routing and Forwarding Instances
If the router is configured with at least one VPN routing and forwarding (VRF) instance, you can use the
vrf keyword to select which VRF is to be protected. You cannot specify more than one VRF with the mpls
ldp session protection command. To specify multiple VRFs, issue the command multiple times.
Enabling MPLS LDP Session Protection on Specified Peer Routers
You can create an access list that includes several peer routers. You can specify that access list with the for
keyword to enable LDP Session Protection for the peer routers in the access control list.
You use the mpls ldp session protection command to enable MPLS LDP Session Protection. This command
enables LDP sessions to be protected during a link failure. By default, the command protects all LDP
sessions. The command has several options that enable you to specify which LDP sessions to protect. The
vrfkeyword lets you protect LDP sessions for a specified VRF. The for keyword lets you specify a
standard IP access control list (ACL) of prefixes that should be protected. The duration keyword enables
you to specify how long the router should retain the LDP Targeted Hello Adjacency following the loss of
the LDP Link Hello Adjacency.
LSRs must be able to respond to LDP targeted hellos. Otherwise, the LSRs cannot establish a targeted
adjacency. All routers that participate in MPLS LDP Session Protection must be enabled to respond to
targeted hellos. Both neighbor routers must be configured for session protection or one router must be
configured for session protection and the other router must be configured to respond to targeted hellos.
Configures a loopback interface and enters interface
configuration mode.
Assigns an IP address to the loopback interface.
Step 6
Step 7
Step 8
interface interface
Example:
Router(config-if)# interface POS3/0
mpls ip
Example:
Router(config-if)# mplsip
mpls label protocol {ldp | tdp | both}
Example:
Router(config-if)# mplslabelprotocolldp
Specifies the interface to configure.
Configures MPLS hop-by-hop forwarding for a specified
interface.
Configures the use of LDP on a specific interface or on all
interfaces.
In interface configuration mode, the command sets the
default label distribution protocol for the interface to be
LDP, overriding any default set by the global mplslabelprotocolcommand.
In global configuration mode, the command sets all the
interfaces to LDP.
Configuration Examples for MPLS LDP Session Protection
Up time: 21:09:56
LDP discovery sources:
Targeted Hello 10.0.0.5 -> 10.0.0.3, active
Addresses bound to peer LDP Ident:
10.3.104.3 10.0.0.2 10.0.0.3
Step 3
showmplsldpneighbordetail
Issue this command to check that the MPLS LDP Session Protection state is Ready or Protecting. If the second last
line of the output shows Incomplete, the Targeted Hello Adjacency is not up yet.
Example:
Router# show mpls ldp neighbor detail
Peer LDP Ident: 10.16.16.16:0; Local LDP Ident 10.15.15.15:0
TCP connection: 10.16.16.16.11013 - 10.15.15.15.646
State: Oper; Msgs sent/rcvd: 53/51; Downstream; Last TIB rev sent 74
Up time: 00:11:32; UID: 1; Peer Id 0;
LDP discovery sources:
Targeted Hello 10.15.15.15 -> 10.16.16.16, active, passive;
holdtime: infinite, hello interval: 10000 ms
Addresses bound to peer LDP Ident:
Use the clearmplsldpneighbor command if you need to terminate an LDP session after a link goes
down. This is useful for situations where the link needs to be taken out of service or needs to be connected
to a different neighbor.
To enable the display of events related to MPLS LDP Session Protection, use the debugmplsldpsessionprotectioncommand.
Configuration Examples for MPLS LDP Session Protection
The figure below shows a sample configuration for MPLS LDP Session Protection.
mode hsa
!
ip cef distributed
no ip domain-lookup
multilink bundle-name both
mpls label protocol ldp
mpls ldp session protection
no mpls traffic-eng auto-bw timers frequency 0
tag-switching tdp router-id Loopback0 force
!
interface Loopback0
ip address 10.0.0.1 255.255.255.255
no ip directed-broadcast
no ip mroute-cache
!
interface Multilink4
no ip address
no ip directed-broadcast
no ip mroute-cache
load-interval 30
ppp multilink
multilink-group 4
!
interface Ethernet1/0/0
ip address 10.3.123.1 255.255.0.0
no ip directed-broadcast
!
interface Ethernet4/0/0
no ip address
no ip directed-broadcast
shutdown
!
interface Ethernet4/0/1
description -- ip address 10.0.0.2 255.255.255.0
no ip address
no ip directed-broadcast
shutdown
!
interface Ethernet4/0/4
ip address 10.0.0.1 255.0.0.0
no ip directed-broadcast
mpls label protocol ldp
tag-switching ip
!
interface Ethernet4/0/6
ip address 10.0.0.1 255.0.0.0
no ip directed-broadcast
mpls label protocol ldp
tag-switching ip
!
interface Ethernet4/0/7
ip address 10.0.0.1 255.0.0.0
no ip directed-broadcast
mpls label protocol ldp
tag-switching ip
!
router ospf 100
log-adjacency-changes
redistribute connected
network 10.0.0.1 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
network 10.0.0.0 0.255.255.255 area 100
network 10.0.0.0 0.255.255.255 area 100
network 10.0.0.0 0.255.255.255 area 100
!
ip classless
Configuration Examples for MPLS LDP Session Protection
Configuration Examples for MPLS LDP Session Protection
!
ip subnet-zero
ip cef distributed
mpls label protocol ldp
mpls ldp session protection
no mpls traffic-eng auto-bw timers frequency 0
tag-switching tdp router-id Loopback0 force
!
interface Loopback0
ip address 10.0.0.3 255.255.255.255
no ip directed-broadcast
!
interface Ethernet5/0/0
no ip address
no ip directed-broadcast
shutdown
full-duplex
!
interface Ethernet5/0/2
ip address 10.0.0.1 255.0.0.0
no ip directed-broadcast
full-duplex
mpls label protocol ldp
tag-switching ip
!
interface Ethernet5/0/6
ip address 10.0.0.2 255.0.0.0
no ip directed-broadcast
ip load-sharing per-packet
full-duplex
mpls label protocol ldp
tag-switching ip
!
interface FastEthernet5/1/0
ip address 10.3.123.112 255.255.0.0
no ip directed-broadcast
!
router ospf 100
log-adjacency-changes
redistribute connected
network 10.0.0.3 0.0.0.0 area 100
network 10.0.0.0 0.255.255.255 area 100
network 10.0.0.0 0.255.255.255 area 100
!
ip classless
MPLS LDP Session Protection
R3
ip cef
no ip domain-lookup
mpls label range 200 100000 static 16 199
mpls label protocol ldp
no mpls traffic-eng auto-bw timers frequency 0
tag-switching tdp router-id Loopback0 force
!
interface Loopback0
ip address 10.0.0.5 255.255.255.255
no ip directed-broadcast
!
interface Ethernet1/0
no ip address
no ip directed-broadcast
shutdown
half-duplex
!
interface Ethernet1/2
ip address 10.0.0.2 255.0.0.0
no ip directed-broadcast
full-duplex
mpls label protocol ldp
tag-switching ip
!
The Cisco Support website provides extensive
online resources, including documentation and tools
for troubleshooting and resolving technical issues
with Cisco products and technologies. Access to
most tools on the Cisco Support website requires a
Cisco.com user ID and password. If you have a
valid service contract but do not have a user ID or
password, you can register on Cisco.com.
Command Reference
The following commands are introduced or modified in the feature or features documented in this module.
For information about these commands, see the Cisco IOS Multiprotocol Label Switching CommandReference at http://www.cisco.com/en/US/docs/ios/mpls/command/reference/mp_book.html . For
information about all Cisco IOS commands, go to the Command Lookup Tool at http://tools.cisco.com/
Support/CLILookup or to the Cisco IOS Master Commands List.
•
debugmplsldpsessionprotection
•
mplsldpsessionprotection
•
showmplsldpneighbor
http://www.cisco.com/techsupport
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.
and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks.
Third-party trademarks mentioned are the property of their respective owners. The use of the word partner
does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be
actual addresses and phone numbers. Any examples, command display output, network topology diagrams,
and other figures included in the document are shown for illustrative purposes only. Any use of actual IP
addresses or phone numbers in illustrative content is unintentional and coincidental.
Multiprotocol Label Switching (MPLS) Label Distribution Protocol (LDP) supports inbound label binding
filtering. You can use the MPLS LDP Inbound Label Binding Filtering feature to configure access control
lists (ACLs) for controlling the label bindings a label switch router (LSR) accepts from its peer LSRs.
•Finding Feature Information, page 41
•Restrictions, page 41
•Information about MPLS LDP Inbound Label Binding Filtering, page 41
•Feature Information for MPLS LDP Inbound Label Binding Filtering Feature, page 47
•Glossary, page 48
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature
information and caveats, see the release notes for your platform and software release. To find information
about the features documented in this module, and to see a list of the releases in which each feature is
supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Restrictions
Inbound label binding filtering does not support extended ACLs; it only supports standard ACLs.
Information about MPLS LDP Inbound Label Binding Filtering
The MPLS LDP Inbound Label Binding Filtering feature may be used to control the amount of memory
used to store LDP label bindings advertised by other routers. For example, in a simple MPLS Virtual
Private Network (VPN) environment, the VPN provider edge (PE) routers may require LSPs only to their
peer PE routers (that is, they do not need LSPs to core routers). Inbound label binding filtering enables a PE
router to accept labels only from other PE routers.
Perform this task to configure a router for inbound label filtering. The following configuration allows the
router to accept only the label for prefix 25.0.0.2 from LDP neighbor router 10.12.12.12.
It is important that you enter this command to see how the access list is defined; otherwise, you cannot verify
Note
inbound label binding filtering.
The following command output shows the contents of IP access list 1:
Example:
Router# show ip access 1
Standard IP access list 1
permit 10.0.0.0, wildcard bits 0.0.0.255 (1 match)
Step 3
Enter the showmplsldpbindingscommand to verify that the LSR has remote bindings only from a specified peer for
prefixes permitted by the access list.
Example:
Configuration Examples for MPLS LDP Inbound Label Binding Filtering
Router# show mpls ldp bindings
tib entry: 10.0.0.0/8, rev 4
local binding: tag: imp-null
tib entry: 10.2.0.0/16, rev 1137
local binding: tag: 16
tib entry: 10.2.0.0/16, rev 1139
local binding: tag: 17
tib entry: 10.12.12.12/32, rev 1257
local binding: tag: 18
tib entry: 10.13.13.13/32, rev 14
local binding: tag: imp-null
tib entry: 10.10.0.0/16, rev 711
local binding: tag: imp-null
tib entry: 10.0.0.0/8, rev 1135
local binding: tag: imp-null
remote binding: tsr: 12.12.12.12:0, tag: imp-null
tib entry: 10.0.0.0/8, rev 8
local binding: tag: imp-null
Router#
Configuration Examples for MPLS LDP Inbound Label Binding
Filtering
In the following example, the mpls ldp neighbor labels accept command is configured with an access
control list to filter label bindings received on sessions with the neighbor 10.110.0.10.
Label bindings for prefixes that match 10.b.c.d are accepted, where b is less than or equal to 63, and c and d
can be any integer between 0 and 128. Other label bindings received from 10.110.0.10 are rejected.
In the following example, the showmplsldpbindingsneighborcommand displays label bindings that
were learned from 10.110.0.10. This example verifies that the LIB does not contain label bindings for
prefixes that have been excluded.
Feature Information for MPLS LDP Inbound Label Binding Filtering Feature
The Cisco Technical Support website contains
thousands of pages of searchable technical content,
including links to products, technologies, solutions,
technical tips, and tools. Registered Cisco.com
users can log in from this page to access even more
content.
http://www.cisco.com/techsupport
Feature Information for MPLS LDP Inbound Label Binding
Filtering Feature
The following table provides release information about the feature or features described in this module.
This table lists only the software release that introduced support for a given feature in a given software
release train. Unless noted otherwise, subsequent releases of that software release train also support that
feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 3Feature Information for MPLS LDP Inbound Label Binding Filtering Feature
Feature NameReleasesFeature Information
MPLS LDP Inbound Label
Binding Filtering Feature
12.0(26)S
12.2(25)S
12.3(14)T
12.2(18)SXE
You can use the MPLS LDP
Inbound Label Binding Filtering
feature to configure access
control lists (ACLs) for
controlling the label bindings a
label switch router (LSR) accepts
from its peer LSRs.
In Cisco IOS Release 12.0(26)S,
this feature was introduced on the
Cisco 7200.
This feature was integrated into
Cisco IOS Release 12.2(25)S for
the Cisco 7500 series router.
This feature was integrated into
Cisco IOS Release 12.3(14)T.
This feature was integrated into
Cisco IOS Release 12.2(18)SXE
for the Cisco 7600 series router.
The following commands were
introduced or modified:
•
clearmplsldpneighbor
•
mpls ldp neighbor labels
accept
•
showmplsldpneighbor
Glossary
carriersupportingcarrier --A situation where one service provider allows another service provider to use
a segment of its backbone network. The service provider that provides the segment of the backbone
network to the other provider is called the backbone carrier. The service provider that uses the segment of
the backbone network is called the customer carrier.
CErouter --customer edge router. A router that is part of a customer network and that interfaces to a
provider edge (PE) router.
inboundlabelbindingfiltering --Allows LSRs to control which label bindings it will accept from its
neighboring LSRs. Consequently, an LSR does not accept or store some label bindings that its neighbors
advertise.
label --A short fixed-length identifier that tells switching nodes how to forward data (packets or cells).
label binding --An association between a destination prefix and a label.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.
and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks.
Third-party trademarks mentioned are the property of their respective owners. The use of the word partner
does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be
actual addresses and phone numbers. Any examples, command display output, network topology diagrams,
and other figures included in the document are shown for illustrative purposes only. Any use of actual IP
addresses or phone numbers in illustrative content is unintentional and coincidental.
The MPLS LDP Autoconfiguration feature enables you to globally configure Label Distribution Protocol
(LDP) on every interface associated with a specified Interior Gateway Protocol (IGP) instance.
•Finding Feature Information, page 51
•Restrictions for MPLS LDP Autoconfiguration , page 51
•Information About MPLS LDP Autoconfiguration, page 52
•How to Configure MPLS LDP Autoconfiguration, page 52
•Configuration Examples for MPLS LDP Autoconfiguration, page 61
•Additional References, page 62
•Feature Information for MPLS LDP Autoconfiguration, page 63
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature
information and caveats, see the release notes for your platform and software release. To find information
about the features documented in this module, and to see a list of the releases in which each feature is
supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Restrictions for MPLS LDP Autoconfiguration
•
In Cisco IOS Release 12.0(32)SY, the mplsldpautoconfig command is supported only with OSPF.
Other IGPs are not supported.
•
If LDP is disabled globally, the mplsldpautoconfigcommand fails and generates a console message
explaining that LDP must first be enabled globally by means of the global mplsip command.
•
If the mplsldpautoconfig command is configured for an IGP instance, you cannot issue the global nomplsip command. To disable LDP, you must first issue the nomplsldpautoconfig command.
•For interfaces running IS-IS processes, you can enable Multiprotocol Label Switching (MPLS) for
each interface, using the router mode command mplsldpautoconfig or mplsldpigpautoconfig at
the interface level.
•You specify that the default label distribution protocol is LDP for a router or for an interface. Tag
Distribution Protocol (TDP) is not supported.
•The MPLS LDP Autoconfiguration feature is not supported on traffic engineering tunnel interfaces.
MPLS LDP Autoconfiguration on OSPF and IS-IS Interfaces
Information About MPLS LDP Autoconfiguration
Information About MPLS LDP Autoconfiguration
To enable LDP, you should configure it globally and on each interface where it is needed. Configuring
LDP on many interfaces can be time-consuming. The following section provides information about
autoconfiguration feature on OSPF and IS-IS interfaces:
• MPLS LDP Autoconfiguration on OSPF and IS-IS Interfaces, page 52
MPLS LDP Autoconfiguration on OSPF and IS-IS Interfaces
The MPLS LDP Autoconfiguration feature enables you to globally enable LDP on every interface
associated with an IGP instance. This feature is supported on OSPF and IS-IS IGPs. It provides a means to
block LDP from being enabled on interfaces that you do not want enabled. The goal of the MPLS LDP
Autoconfiguration feature is to make configuration easier, faster, and error free.
You issue the mplsldpautoconfigcommand to enable LDP on each interface that is running an OSPF or
IS-IS process. If you do not want some of the interfaces to have LDP enabled, you can issue the no form of
the mplsldpigpautoconfig command on those interfaces.
How to Configure MPLS LDP Autoconfiguration
• Configuring MPLS LDP Autoconfiguration with OSPF Interfaces, page 52
Disabling MPLS LDP Autoconfiguration from Selected OSPF Interfaces
Step 8
Step 9
Step 10
Step 11
router ospf process-id
Example:
Router(config)# router ospf 1
network ip-addresswildcard-mask area area-id
Example:
Router(config-router)# network 10.0.0.0
0.0.255.255 area 3
mpls ldp autoconfig [area area-id]
Example:
Router(config-router)# mpls ldp autoconfig
area 3
end
Example:
Enables OSPF routing and enters router configuration mode.
Specifies the interface on which OSPF runs and defines the
area ID for that interface.
Enables the MPLS LDP Autoconfiguration feature to enable
LDP on interfaces belonging to an OSPF process.
•If no area is specified, the command applies to all
interfaces associated with the OSPF process. If an area
ID is specified, then only interfaces associated with that
OSPF area are enabled with LDP.
Exits router configuration mode and returns to privileged
EXEC mode.
Router(config-router)# end
Disabling MPLS LDP Autoconfiguration from Selected OSPF Interfaces
When you issue the mplsldpautoconfig command, all the interfaces that belong to an OSPF area are
enabled for LDP. To remove LDP from some interfaces, use the nomplsldpigpautoconfigcommand on
those interfaces. The following configuration steps show how to disable LDP from some of the interfaces
after they were configured with the MPLS LDP Autoconfiguration feature with the mplsldpautoconfig
command.
Enables privileged EXEC mode. Enter your password if prompted.
Step 2
show mpls interfaces [typenumber| vrf vpn-name][all] [detail] [internal]
The show mpls interfaces command displays the method used to enable LDP on an interface:
•
If LDP is enabled by the mplsldpautoconfigcommand, the output displays:
Example:
IP labeling enabled (ldp):
IGP config
•
If LDP is enabled by the mplsip command, the output displays:
Example:
IP labeling enabled (ldp):
Interface config
MPLS LDP Autoconfiguration
Step 3
•
If LDP is enabled by the mplsip command and the mplsldpautoconfig command, the output displays:
Example:
IP labeling enabled (ldp):
Interface config
IGP config
The following example shows that LDP was enabled on the interface by both the mplsip and mplsldpautoconfig
commands:
Example:
Router# show mpls interfaces Serial 2/0 detail
Interface Serial2/0:
IP labeling enabled (ldp):
Interface config
IGP config
LSP Tunnel labeling enabled
BGP labeling not enabled
MPLS operational
Fast Switching Vectors:
IP to MPLS Fast Switching Vector
MPLS Turbo Vector
MTU = 1500
show mpls ldp discovery [vrf vpn-name| all] [detail]
The show mpls ldp discovery detailcommand alsoshows how LDP was enabled on the interface. In the following
example, LDP was enabled by both the mpls ip and mpls ldp autoconfig commands:
Example:
Router# show mpls ldp discovery detail
Local LDP Identifier:
Disabling MPLS LDP Autoconfiguration from Selected IS-IS Interfaces
Command or ActionPurpose
How to Configure MPLS LDP Autoconfiguration
Step 10
mplsldpautoconfig [level-1 | level-2]
Enables the LDP for interfaces that belong to an IS-IS
process.
Example:
Router(config-router)# mpls ldp autoconfig
Step 11
end
Exits router configuration mode and returns to privileged
EXEC mode.
Example:
Router(config-router)# end
Disabling MPLS LDP Autoconfiguration from Selected IS-IS Interfaces
When you issue the mplsldpautoconfig command, all the interfaces that belong to an IS-IS process are
enabled for LDP. To remove LDP from some interfaces, use the nomplsldpigpautoconfig command on
those interfaces. The following configuration steps show how to disable LDP from some of the interfaces
after they were configured with the MPLS LDP Autoconfiguration feature with the mplsldpautoconfig
command.
Specifies the interface to configure and enters interface
configuration mode.
Example:
Router(config)# interface POS 3/0
Step 4
nomplsldpigpautoconfig
Disables LDP for that interface.
Example:
Router(config-if)# no mpls ldp igp autoconfig
Step 5
end
Exits interface configuration mode and returns to privileged EXEC
mode.
Example:
Router(config-if)# end
Verifying MPLS LDP Autoconfiguration with IS-IS
You can verify that the MPLS LDP Autoconfiguration feature is working correctly with the show isis mpls
ldp command.
Step 1
Step 2
SUMMARY STEPS
1.
enable
2.
show isis mpls ldp
DETAILED STEPS
enable
Enables privileged EXEC mode.
showisismplsldp
The output of the following showisismplsldp command shows that IS-IS is configured on the interface and that
LDP is enabled:
Example:
Router# show isis mpls ldp
Interface: POS0/2; ISIS tag null enabled
ISIS is UP on interface
AUTOCONFIG Information :
LDP enabled: YES
SYNC Information :
Required: NO
If the MPLS LDP Autoconfiguration feature is not enabled on an interface, the output looks like the following:
Example:
Interface: Ethernet0; ISIS tag null enabled
ISIS is UP on interface
AUTOCONFIG Information :
LDP enabled: NO
SYNC Information :
Required: NO
• Troubleshooting Tips, page 61
Troubleshooting Tips
Troubleshooting Tips
You can use the debugmplsldpautoconfigcommand to display events that are related to the MPLS LDP
Autoconfiguration feature.
Configuration Examples for MPLS LDP Autoconfiguration
The following sections show examples for the MPLS LDP Autoconfiguration feature with OSPF and IS-IS
processes.
• MPLS LDP Autoconfiguration with OSPF Example, page 61
• MPLS LDP Autoconfiguration with IS-IS Examples, page 62
MPLS LDP Autoconfiguration with OSPF Example
The following configuration commands enable LDP for OSPF process 1 area 3. The mpls ldp autoconfig
area 3 command and the OSPF network commands enable LDP on POS interfaces 0/0, 0/1, and 1/1. The
no mpls ldp igp autoconfig command on POS interface 1/0 prevents LDP from being enabled on POS
interface 1/0, even though OSPF is enabled for that interface.
configure terminal
interface POS 0/0
ip address 10.0.0.1 255.0.0.0
!
interface POS 0/1
ip address 10.0.1.1 255.0.0.1
!
interface POS 1/1
ip address 10.1.1.1 255.255.0.0
!
interface POS 1/0
ip address 10.1.0.1 0.1.0.255
exit
!
router ospf 1
network 10.0.0.0 0.0.255.255 area 3
network 10.1.0.0 0.0.255.255 area 3
mpls ldp autoconfig area 3
end
interface POS 1/0
no mpls ldp igp autoconfig
MPLS LDP Autoconfiguration with IS-IS Examples
The following example shows the configuration of the MPLS LDP Autoconfiguration feature on POS0/2
and 0/3 interfaces, which are running IS-IS processes:
configure terminal
interface POS 0/2
ip address 10.0.0.1 255.0.0.1
ip router isis
!
interface POS 0/3
ip address 10.1.1.1 255.0.1.0
ip router isis
exit
mpls ip
MPLS LDP Autoconfiguration with IS-IS Examples
mpls label protocol ldp
router isis
mpls ldp autoconfig
Additional References
The following sections provide references related to the MPLS LDP Autoconfiguration feature.
Feature Information for MPLS LDP Autoconfiguration
platforms, Cisco IOS releases, and feature sets, use
Cisco MIB Locator found at the following URL:
http://www.cisco.com/go/mibs
DescriptionLink
The Cisco Support website provides extensive
online resources, including documentation and tools
for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about
your products, you can subscribe to various
services, such as the Product Alert Tool (accessed
from Field Notices), the Cisco Technical Services
Newsletter, and Really Simple Syndication (RSS)
Feeds.
Access to most tools on the Cisco Support website
requires a Cisco.com user ID and password.
http://www.cisco.com/techsupport
Feature Information for MPLS LDP Autoconfiguration
The following table provides release information about the feature or features described in this module.
This table lists only the software release that introduced support for a given feature in a given software
release train. Unless noted otherwise, subsequent releases of that software release train also support that
feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 4Feature Information for MPLS LDP Autoconfiguration
Feature NameReleasesFeature Information
MPLS LDP Autoconfiguration12.0(30)S 12.0(32)SY
12.2(28)SB 12.2(33)SRB
12.3(14)T 15.0(1)M
12.2(33)XNE
This feature enables you to
globally configure LDP on every
interface associated with a
specified Interior Gateway
Protocol (IGP) instance.
In Cisco IOS Release 12.0(30)S,
this feature was introduced with
support for OSPF.
In Cisco IOS Release
12.0(32)SY, support for IS-IS
was added.
This feature was integrated into
Cisco IOS Release 12.2(28)SB
with support for OSPF.
This feature was integrated into
Cisco IOS Release 12.2(33)SRB.
This feature was integrated into
Cisco IOS Release 12.3(14)T
with support for OSPF.
In Release 15.0(1)M, support for
IS-IS was added.
This feature was integrated into
Cisco IOS Release 12.2(33)XNE
with support for IS-IS on the
Cisco 10000 series router.
The following commands were
modified: mplsldpautoconfig,
mpls ldp igp autoconfig, show
isis mpls ldp, and show mpls ldp
discovery.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.
and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks.
Third-party trademarks mentioned are the property of their respective owners. The use of the word partner
does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be
actual addresses and phone numbers. Any examples, command display output, network topology diagrams,
and other figures included in the document are shown for illustrative purposes only. Any use of actual IP
addresses or phone numbers in illustrative content is unintentional and coincidental.
When a router is configured with Multiprotocol Label Switching (MPLS) Label Distribution Protocol
(LDP) Graceful Restart (GR), it assists a neighboring router that has MPLS LDP Stateful Switchover/
Nonstop Forwarding (SSO/NSF) Support and Graceful Restart to recover gracefully from an interruption
in service. In this Cisco IOS release, MPLS LDP GR functions strictly in helper mode, which means it can
only help other routers that are enabled with MPLS SSO/NSF and GR to recover. If the router with LDP
GR fails, its peer routers cannot help it recover.
Notes:
•MPLS LDP SSO/NSF Support and Graceful Restart is supported in Cisco IOS Release 12.2(25)S.
For brevity, this feature is called LDP SSO/NSF in this document.
•The MPLS LDP GR feature described in this document refers to helper mode.
When you enable MPLS LDP GR on a router that peers with an MPLS LDP SSO/NSF-enabled router, the
SSO/NSF-enabled router can maintain its forwarding state when the LDP session between them is
interrupted. While the SSO/NSF-enabled router recovers, the peer router forwards packets using stale
information. This enables the SSO/NSF-enabled router to become operational more quickly.
•Finding Feature Information, page 65
•Restrictions, page 65
•Information About MPLS LDP Graceful Restart, page 66
•How to Configure MPLS LDP Graceful Restart, page 67
•Configuration Example for MPLS LDP Graceful Restart, page 69
•Additional References, page 72
•Feature Information for MPLS LDP Graceful Restart, page 73
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature
information and caveats, see the release notes for your platform and software release. To find information
about the features documented in this module, and to see a list of the releases in which each feature is
supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
•Tag Distribution Protocol (TDP) sessions are not supported. Only LDP sessions are supported.
•MPLS LDP GR cannot be configured on label-controlled ATM (LC-ATM) interfaces.
•MPLS LDP SSO/NSF is supported in IOS Release 12.2(25)S. It is not supported in this release.
Information About MPLS LDP Graceful Restart
• How MPLS LDP Graceful Restart Works, page 66
• How a Route Processor Advertises That It Supports MPLS LDP Graceful Restart, page 67
• What Happens If a Route Processor Does Not Have LDP Graceful Restart, page 67
How MPLS LDP Graceful Restart Works
MPLS LDP GR works in strict helper mode, which means it helps a neighboring route processor that has
MPLS LDP SSO/NSF to recover from disruption in service without losing its MPLS forwarding state. The
disruption in service could be the result of a TCP or UDP event or the stateful switchover of a route
processor. When the neighboring router establishes a new session, the LDP bindings and MPLS forwarding
states are recovered.
In the topology shown in the figure below, the following elements have been configured:
•LDP sessions are established between Router 1 and Router 2, as well as between Router 2 and Router
3.
•Router 2 has been configured with MPLS LDP SSO/NSF. Routers 1 and 3 have been configured with
MPLS LDP GR.
•A label switched path (LSP) has been established between Router 1 and Router 3.
Figure 4
The following process shows how Routers 1 and 3, which have been configured with LDP GR help Router
2, which has been configured with LDP SSO/NSF recover from a disruption in service:
Router 1 notices an interruption in service with Router 2. (Router 3 also performs the same actions in
1
this process.)
Router 1 marks all the label bindings from Router 2 as stale, but it continues to use the bindings for
2
MPLS forwarding.
Router 1 reestablishes an LDP session with Router 2, but keeps its stale label bindings. If you issue a showmplsldpneighbor command with the graceful-restart keyword, the command output displays the
recovering LDP sessions.
Both routers readvertise their label binding information. If Router 1 relearns a label from Router 2 after
1
the session has been established, the stale flags are removed. The show mpls forwardingtablecommand displays the information in the MPLS forwarding table, including the local label,
outgoing label or VC, prefix, label-switched bytes, outgoing interface, and next hop.
Example of a Network Using LDP Graceful Restart
You can set various graceful restart timers. See the following commands for more information:
How a Route Processor Advertises That It Supports MPLS LDP Graceful Restart
How to Configure MPLS LDP Graceful Restart
•
mplsldpgraceful-restarttimersneighbor-liveness
•
mplsldpgraceful-restarttimersmax-recovery
How a Route Processor Advertises That It Supports MPLS LDP Graceful
Restart
A route processor that is configured to perform MPLS LDP GR includes the Fault Tolerant (FT) Type
Length Value (TLV) in the LDP initialization message. The route processor sends the LDP initialization
message to a neighbor to establish an LDP session.
The FT session TLV includes the following information:
•The Learn from Network (L) flag is set to 1, which indicates that the route processor is configured to
perform MPLS LDP GR.
•The Reconnect Timeout field shows the time (in milliseconds) that the neighbor should wait for a
reconnection if the LDP session is lost. In this release, the timer is set to 0, which indicates that if the
local router fails, its peers should not wait for it to recover. The timer setting indicates that the local
router is working in helper mode.
•The Recovery Time field shows the time (in milliseconds) that the neighbor should retain the MPLS
forwarding state during a recovery. If a neighbor did not preserve the MPLS forwarding state before
the restart of the control plane, the neighbor sets the recovery time to 0.
What Happens If a Route Processor Does Not Have LDP Graceful Restart
If two route processors establish an LDP session and one route processor is not configured for MPLS LDP
GR, the two route processors create a normal LDP session but do not have the ability to perform MPLS
LDP GR. Both route processors must be configured for MPLS LDP GR.
How to Configure MPLS LDP Graceful Restart
• Configuring MPLS LDP Graceful Restart, page 67
• Verifying the Configuration, page 69
Configuring MPLS LDP Graceful Restart
You must enable MPLS LDP GR on all route processors for an LDP session to be preserved during an
interruption in service.
MPLS LDP GR is enabled globally. When you enable MPLS LDP GR, it has no effect on existing LDP
sessions. New LDP sessions that are established can perform MPLS LDP GR.
Specifies an interface and enters interface configuration mode.
Verifying the Configuration
Command or ActionPurpose
Configuration Example for MPLS LDP Graceful Restart
Step 6
Step 7
mpls ip
Example:
Router(config-if)# mpls ip
mpls label protocol {ldp| tdp| both}
Example:
Router(config-if)# mpls label protocol ldp
NoteYou can also issue the mplslabelprotocolldp command in global configuration mode, which enables
LDP on all interfaces configured for MPLS.
Verifying the Configuration
The following commands help verify that MPLS LDP GR has been configured correctly:
mplsldpneighbor with the graceful-restart
show
keyword
Configures MPLS hop-by-hop forwarding for an interface.
Configures the use of LDP for an interface. You must use LDP.
Displays the Graceful Restart information for LDP
sessions.
showmplsldpgraceful-restart
Displays Graceful Restart sessions and session
parameters.
Configuration Example for MPLS LDP Graceful Restart
The figure below shows a configuration where MPLS LDP GR is enabled on Router 1 and MPLS LDP
SSO/NSF is enabled on Routers 2 and 3. In this configuration example, Router 1 creates an LDP session
with Router 2. Router 1 also creates a targeted session with Router 3 through a traffic engineering tunnel
using Router 2.
Note
MPLS LDP SSO/NSF is supported in Cisco IOS Release 12.2(25)S. It is not supported in this release.
Figure 5MPLS LDP Graceful Restart Configuration Example
mpls traffic-eng tunnels
no mpls traffic-eng auto-bw timers frequency 0
no mpls advertise-labels
mpls ldp router-id Loopback0 force
!
interface Loopback0
ip address 17.17.17.17 255.255.255.255
no ip directed-broadcast
!
interface ATM4/0/0
no ip address
no ip directed-broadcast
no ip mroute-cache
atm clock INTERNAL
atm sonet stm-1
no atm enable-ilmi-trap
no atm ilmi-keepalive
!
interface ATM4/0/0.5 point-to-point
ip address 12.0.0.1 255.0.0.0
no ip directed-broadcast
no atm enable-ilmi-trap
pvc 6/100
encapsulation aal5snap
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth 1000
!
interface POS5/1/0
ip address 11.0.0.1 255.0.0.0
no ip directed-broadcast
encapsulation ppp
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ip
no peer neighbor-route
clock source internal
ip rsvp bandwidth 1000
!
router ospf 100
log-adjacency-changes
redistribute connected
nsf enforce global
network 11.0.0.0 0.255.255.255 area 100
network 12.0.0.0 0.255.255.255 area 100
network 17.17.17.17 0.0.0.0 area 100
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 100
!
ip classless
Configuration Example for MPLS LDP Graceful Restart
!
ip subnet-zero
ip cef
!
no ip finger
no ip domain-lookup
mpls label protocol ldp
mpls ldp neighbor 11.11.11.11 targeted ldp
mpls ldp logging neighbor-changes
RFC 3036LDP Specification
RFC 3478Graceful Restart Mechanism for Label Distribution
DescriptionLink
The Cisco Technical Support & Documentation
http://www.cisco.com/techsupport
website contains thousands of pages of searchable
technical content, including links to products,
technologies, solutions, technical tips, and tools.
Registered Cisco.com users can log in from this
page to access even more content.
Feature Information for MPLS LDP Graceful Restart
The following table provides release information about the feature or features described in this module.
This table lists only the software release that introduced support for a given feature in a given software
release train. Unless noted otherwise, subsequent releases of that software release train also support that
feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 5Feature Information for MPLS LDP Graceful Restart
Feature NameReleasesFeature Information
MPLS LDP Graceful Restart12.0(29)S 12.3(14)T
12.2(33)SRA
MPLS LDP Graceful Restart
assists a neighboring router that
has MPLS LDP Stateful
Switchover/Nonstop Forwarding
(SSO/NSF) Support and Graceful
Restart to recover gracefully from
an interruption in service.
In Cisco IOS Release 12.0(29)S,
this feature was introduced.
This feature was integrated into
Cisco IOS Release 12.3(14)T.
This feature was integrated into
Cisco IOS Release 12.2(33)SRA.
The following sections provide
information about this feature:
The following commands were
introduced or modified:
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.
and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks.
Third-party trademarks mentioned are the property of their respective owners. The use of the word partner
does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be
actual addresses and phone numbers. Any examples, command display output, network topology diagrams,
and other figures included in the document are shown for illustrative purposes only. Any use of actual IP
addresses or phone numbers in illustrative content is unintentional and coincidental.