Cisco IOS Switching Services Command Reference, Release 12.3
Switching Commands: mpls ip propagate-ttl through mpls request-labels for

Table Of Contents

mpls ip propagate-ttl

mpls ip ttl-expiration pop

mpls l2transport route

mpls label protocol (global configuration)

mpls label protocol (interface configuration)

mpls label range

mpls ldp address-message

mpls ldp advertise-labels

mpls ldp advertise-labels old-style

mpls ldp atm control-mode

mpls ldp atm vc-merge

mpls ldp backoff

mpls ldp discovery

mpls ldp discovery transport-address

mpls ldp explicit-null

mpls ldp holdtime

mpls ldp logging neighbor-changes

mpls ldp loop-detection

mpls ldp maxhops

mpls ldp neighbor

mpls ldp neighbor implicit-withdraw

mpls ldp neighbor targeted

mpls ldp router-id

mpls ldp tcp pak-priority

mpls mtu

mpls netflow egress

mpls prefix-map

mpls request-labels for


mpls ip propagate-ttl

To control the generation of the time-to-live (TTL) field in the Multiprotocol Label Switching (MPLS) header when labels are first added to an IP packet, use the mpls ip propagate-ttl command in global configuration mode. To use a fixed TTL value (255) for the first label of the IP packet, use the no form of this command.

mpls ip propagate-ttl

no mpls ip propagate-ttl [forwarded | local]

Syntax Description

forwarded

(Optional) Prevents the traceroute command from showing the hops for forwarded packets.

local

(Optional) Prevents the traceroute command from showing the hops only for local packets.


Defaults

By default, this command is enabled. The TTL field is copied from the IP header. A traceroute command shows all of the hops in the network.

Command Modes

Global configuration

Command History

Release
Modification

12.1(3)T

This command was introduced.

12.1(5)T

The keywords forwarded and local were added to this command.


Usage Guidelines

By default, the mpls ip propagate-ttl command is enabled and the IP TTL value is copied to the MPLS TTL field during label imposition. To disable TTL propagation for all packets, use the no mpls ip propagate-ttl command. To disable TTL propagation for only forwarded packets, use the no mpls ip propagate forward command. Disabling TTL propagation of forwarded packets allows the structure of the MPLS network to be hidden from customers, but not the provider.

This feature supports the IETF draft document ICMP Extensions for Multiprotocol Label Switching, draft-ietf-mpls-label-icmp-01.txt. The document can be accessed at the following URL:

http://www2.ietf.org/internet-drafts/draft-ietf-mpls-label-icmp-01.txt

Examples

The following example shows how to disable the TTL field in the MPLS header for only forwarded packets:

Router(config)# no mpls ip propagate-ttl forwarded

Related Commands

Command
Description

traceroute

Displays the routes that packets take through a network to their destinations.


mpls ip ttl-expiration pop

To specify how a packet with an expired time-to-live (TTL) value is forwarded, use the mpls ip ttl-expiration pop command in global configuration mode. To disable this function, use the no form of the command.

mpls ip ttl-expiration pop labels

no mpls ip ttl-expiration pop labels

Syntax Description

labels

The maximum number of labels in the packet necessary for the packet to be forwarded by means of the global IP routing table.


Defaults

By default, the packets are forwarded by the original label stack. However, in previous versions of Cisco IOS software, the packets were forwarded by the global routing table by default.

12.0 S

Packets are forwarded through the use of the global routing table.

12.0 ST

Packets are forwarded through the use of the original label stack.

12.1 T

Packets are forwarded through the use of the original label stack.


Command Modes

Global configuration

Command History

Release
Modification

12.1(5)T

This command was introduced.


Usage Guidelines

You can specify that the packet be forwarded by the global IP routing table or by the packet's original label stack. The forwarding method is determined by the number of labels in the packet. You specify the number of labels as part of the command. If the packet contains the same or fewer labels than you specified, it is forwarded through the use of the global IP routing table. If the packet contains more labels than you specified, the packet is forwarded through the use of the original label stack.

This command is useful if expired TTL packets do not get back to their source, because there is a break in the Interior Gateway Protocol (IGP) path. Currently, MPLS forwards the expired TTL packets by reimposing the original label stack and forwarding the packet to the end of a label switched path (LSP). (For provider edge routers forwarding traffic over a Virtual Private Network (VPN), this is the only way to get the packet back to the source.) If there is a break in the IGP path to the end of the LSP, the packet never reaches its source.

If packets have a single label, that label is usually a global address or terminal VPN label. Those packets can be forwarded through the use of the global IP routing table. Packets that have more than one label can be forwarded through the use of the original label stack. Enter the mpls ip ttl-expiration pop 1 command to enable forwarding based on more than one label. (This is the most common application of the command.)

Examples

The following example shows how to enable forwarding based on more than one label:

Router(config)# mpls ip ttl-expiration pop 1

Related Commands

Command
Description

traceroute

Displays the routes that packets take through a network to their destinations.


mpls l2transport route

To enable routing of Any Transport over MPLS (AToM) packets over a specified virtual circuit (VC), use the mpls l2transport route command in the appropriate command mode. To delete the VC, use the no form of this command on both routers.

mpls l2transport route destination vc-id

no mpls l2transport route destination vc-id

Syntax Description

destination

Specifies the Label Distribution Protocol (LDP) IP address of the remote provider edge (PE) router.

vc-id

Assigns a VC ID to the virtual circuit between two PE routers.


Defaults

No default behavior or values.

Command Modes

Depending on the AToM transport type you are configuring, you use the mpls l2transport route command in one of the following command modes:

Transport Type
Command Mode

ATM AAL5 and Cell Relay

ATM VC configuration mode

Ethernet VLAN

Subinterface configuration mode

Frame Relay

Connect submode

HDLC and PPP

Interface configuration mode


Command History

Release
Modification

12.1(8a)E

This command was introduced.

12.0(21)ST

This command was integrated into Cisco IOS Release 12.0(21)ST.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S.

12.2(14)S

This command was integrated into Cisco IOS Release 12.2(14)S.

12.2(15)T

This command was integrated into Cisco IOS Release 12.2(15)T.


Usage Guidelines

A Multiprotocol Label Switching (MPLS) VC runs across an MPLS cloud to connect interfaces on two PE routers.

Use this command on each PE router to route packets across the MPLS cloud to the interface of the other PE router. Specify the LDP IP address of the other PE router for the destination parameter. Do not specify the IP address of the router from which you are issuing the command.

You can choose any number for the VC ID. However, the VC ID must be unique per pair of routers. Therefore, in large networks, it may be necessary to track the VC ID assignments to ensure that a VC ID does not get assigned twice.

Examples

The following examples show you how to enable routing of MPLS packets over a specified VC. Two routers named PE1 and PE2 establish a VC to transport packets. PE1 has IP address 172.16.0.1, and PE2 has IP address 192.168.0.1. The VC ID is 50.

ATM AAL5 over MPLS Example

At PE1, you issue the following commands:

PE1_Router(config)# interface atm5/0.100
PE1_Router(config-if)# pvc 1/200
PE1_Router(config-atm-vc)# encapsulation aal5
PE1_Router(config-atm-vc)# mpls l2transport route 192.168.0.1 50

At PE2, you issue the following commands:

PE2_Router(config)# interface atm5/0.100
PE2_Router(config-if)# pvc 1/200
PE2_Router(config-atm-vc)# encapsulation aal5
PE2_router(config-atm-vc)# mpls l2transport route 172.16.0.1 50 

ATM Cell Relay over MPLS Example

At PE1, you issue the following commands:

PE1_Router(config)# interface atm5/0.100 
PE1_Router(config-if)# pvc 1/200 l2transport
PE1_Router(config-atm-vc)# encapsulation aal0
PE1_Router(config-atm-vc)# mpls l2transport route 192.168.0.1 50

At PE2, you issue the following commands:

PE2_Router(config)# interface atm5/0.100
PE2_Router(config-if)# pvc 1/200 l2transport
PE2_Router(config-atm-vc)# encapsulation aal0
PE2_router(config-atm-vc)# mpls l2transport route 172.16.0.1 50 

Ethernet over MPLS Example

At PE1, you issue the following commands:

PE1_router(config)# interface GigabitEthernet1/0.2
PE1_Router(config-subif)# encapsulation dot1Q 200
PE1_Router(config-subif)# mpls l2transport route 192.168.0.1 50 

At PE2, you issue the following commands:

PE2_router(config)# interface GigabitEthernet2/0.1
PE2_Router(config-subif)# encapsulation dot1Q 200
PE2_Router(config-subif)# mpls l2transport route 172.16.0.1 50 

Frame Relay over MPLS Example

At PE1, you issue the following commands:

PE1_router(config)# connect frompls1 Serial5/0 1000 l2transport
PE1_router(config-fr-pw-switching)# mpls l2transport route 192.168.0.1 50 

At PE2, you issue the following commands:

PE2_router(config)# connect frompls2 Serial2/0 102 l2transport
PE2_router(config-fr-pw-switching)# mpls l2transport route 172.16.0.1 50 

HDLC over MPLS Example

At PE1, you issue the following commands:

PE1_router(config)# interface Serial3/0
PE1_router(config-if)# encapsulation hdlc
PE1_router(config-if)# mpls l2transport route 192.168.0.1 50 

At PE2, you issue the following commands:

PE2_router(config)# interface Serial1/0 
PE2_router(config-if)# encapsulation hdlc
PE2_router(config-if)# mpls l2transport route 172.16.0.1 50 

PPP over MPLS Example

At PE1, you issue the following commands:

PE1_router(config)# interface Serial3/0
PE1_router(config-if)# encapsulation ppp
PE1_router(config-if)# mpls l2transport route 192.168.0.1 50 

At PE2, you issue the following commands:

PE2_router(config)# interface Serial1/0 
PE2_router(config-if)# encapsulation ppp
PE2_router(config-if)# mpls l2transport route 172.16.0.1 50 

Related Commands

Command
Description

show mpls l2transport vc

Displays information about AToM VCs that have been enabled to route Layer 2 packets on a router.


mpls label protocol (global configuration)

To specify the default label distribution protocol for a platform, use the mpls label protocol command in global configuration mode. To restore the image default, use the no form of this command.

mpls label protocol {ldp | tdp}

no mpls label protocol

Syntax Description

ldp

Specifies that Label Distribution Protocol (LDP) is the platform default label distribution protocol.

tdp

Specifies that Tag Distribution Protocol (TDP) is the platform default label distribution protocol.


Defaults

If no protocol is explicitly configured by the mpls label protocol command, TDP is the default label distribution protocol for the platform.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

If neither the global mpls label protocol ldp command nor the interface mpls label protocol ldp command is used, all label distribution sessions will use TDP.

To force all label distribution sessions to use LDP, use the global mpls label protocol ldp command and no interface mpls label protocol commands.

Examples

The following example shows how to establish LDP as the label distribution protocol for the platform.

Router(config)# mpls label protocol ldp

Related Commands

Command
Description

mpls label protocol (interface configuration)

Specifies the label distribution protocol to be used on a given interface.

show mpls interfaces

Displays MPLS information about interfaces, including the configured tag and label distribution protocol.


mpls label protocol (interface configuration)

To specify the label distribution protocol to be used on a given interface, use the mpls label protocol command in interface configuration mode. To remove the label distribution protocol, use the no form of this command.

mpls label protocol {ldp | tdp | both}

no mpls label protocol

Syntax Description

ldp

Specifies that Label Distribution Protocol (LDP) is to be used on the interface.

tdp

Specifies that the Tag Distribution Protocol (TDP) is to be used on the interface.

both

Specifies that both LDP and TDP are to be supported on the interface.


Defaults

If no protocol is explicitly configured for an interface, the default label distribution protocol for the platform is used. To set the platform default protocol, use the global mpls label protocol command.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

To successfully establish a session for label distribution for a link connecting two label switch routers (LSRs), the link interfaces on the LSRs must be configured to use the same label distribution protocol. If there are multiple links connecting two LSRs, all of the link interfaces connecting the two LSRs must be configured to use the same protocol.

The both keyword is intended for use with interfaces to multiaccess networks, such as Ethernet and FDDI, where some peers might use LDP while others use TDP. When you specify the both keyword, the LSR sends both LDP and TDP discovery Hello messages and responds to both types of messages.

Examples

The following example shows how to establish LDP as the label distribution protocol for the interface.

Router(config-if)# mpls label protocol ldp

Related Commands

Command
Description

mpls label protocol (global configuration)

Specifies the default label distribution protocol for a platform.

show mpls interfaces

Displays MPLS information about interfaces, including the configured tag and label distribution protocol.


mpls label range

To configure the range of local labels available for use on packet interfaces, use the mpls label range command in global configuration mode. To revert to the platform defaults, use the no form of this command.

mpls label range min max

no mpls label range

Syntax Description

min

The smallest label allowed in the label space. The default is 16.

max

The largest label allowed in the label space. The default is 1048575.


Defaults

min: 16

max: 1048575

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.1(3)T

This command was modified to reflect new MPLS IETF terminology and CLI command syntax.


Usage Guidelines

The labels 0 through 15 are reserved by the IETF (see draft-ietf-mpls-label-encaps-07.txt for details) and cannot be included in the range specified by the mpls label range command.

The label range defined by the mpls label range command is used by all Multiprotocol Label Switching (MPLS) applications that allocate local labels (for dynamic label switching, MPLS traffic engineering, MPLS Virtual Private Networks (VPNs), and so on).

If you specify a new label range that does not overlap the range currently in use, the new range will not take effect until the router is reloaded again.

Examples

The following example shows how to configure the size of the local label space. In this example, the min argument is set with the value of 200, and the max value is set with the value of 120000. Because the new range does not overlap the current label range (assumed to be the default, that is, the min argument of 16 and the max argument of 100000), the new range will not take effect until the router is reloaded.

Router# configure terminal
Router(config)# mpls label range 200 120000

% Label range changes will take effect at the next reload.
Router(config)#

If you had specified a new range that overlaps the current range (for example, new range of the min argument of 16 and the max argument of 120000), then the new range would take effect immediately.

Related Commands

Command
Description

show mpls label range

Displays the range of the MPLS local label space.


mpls ldp address-message

To specify advertisement of platform addresses to a label-controlled ATM (LC-ATM) Label Distribution Protocol (LDP) peer, use the mpls ldp address-message command in interface configuration mode. To disable advertisement of platform addresses, use the no form of this command.

mpls ldp address-message

no mpls ldp address-message

Syntax Description

This command has no arguments or keywords.

Defaults

LDP Address and Address Withdraw messages are not sent to LC-ATM LDP peers.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

The LDP specification includes Address and Address Withdraw messages used by an label switch router (LSR) to advertise its addresses to its peers.

An LSR uses the addresses it learns from peers when operating in Downstream Unsolicited label advertisement mode to convert between route next hop addresses (found in the LSR routing table) and peer LDP identifiers.

The ability to map between the IP address and the peer LDP identifier is required so that

When the MPLS forwarding engine (LFIB) asks for labels for a given destination prefix or next hop address, the LSR can find the label learned (if any) from the next hop. The LSR maintains learned labels in its label information base (LIB) tagged by the LDP ID of the advertising LSR.

When the LSR learns a label for destination prefix P from an LDP peer, it can determine if that peer (known to the LSR by its LDP identifier) is currently the next hop for P.

In principle, an LSR operating in Downstream On Demand (DoD) mode for an LC-ATM interface does not need this information for two reasons:

The LSR should know from the routing table the next hop interface.

There is only one DoD peer per LC-ATM interface.

Consequently, Cisco platforms do no normally send Address or Address Withdraw messages to LC-ATM peers.

Some LDP implementations might require the information learned in Address or Address Withdraw messages for LC-ATM. The mpls ldp address-message command is provided to enable interoperability with implementation vendors that require Address messages for LC-ATM.


Note Cisco platforms always advertise their addresses in Address and Address Withdraw messages for LDP sessions operating in Downstream Unsolicited label advertisement mode.


Examples

The following example shows how to specify advertisement of platform addresses to an LC-ATM peer:

Router(config-if)# mpls ldp address-message

Related Commands

Command
Description

show mpls interfaces

Displays MPLS information about interfaces, including the configured label distribution protocol.


mpls ldp advertise-labels

To control the distribution of locally assigned (incoming) labels by means of label distribution protocol (LDP), use the mpls ldp advertise-labels command in global configuration mode. This command is used to control which labels are advertised to which LDP neighbors. To disable this feature, use the no form of this command.

mpls ldp advertise-labels [vrf vpn-name] [interface interface | for prefix-access-list [to peer-access-list]]

no mpls ldp advertise-labels [vrf vpn-name] [interface interface | for prefix-access-list [to peer-access-list]]

Syntax Description

vrf vpn-name

(Optional) Specifies the VPN routing/forwarding instance (vpn-name) for label advertisement.

interface interface

(Optional) Specifies an interface (interface) for label advertisement of an interface address.

for prefix-access-list

(Optional) Specifies which destinations should have their labels advertised.

to peer-access-list

(Optional) Specifies which LDP neighbors should receive label advertisements. An LSR is identified by its router ID, which consists of the first 4 bytes of its 6-byte LDP identifier.


Defaults

The labels of all destinations are advertised to all LDP neighbors.

If the vrf keyword is not specified, this command applies to the default routing domain.

If the interface keyword is not specified, no label is advertised for the interface address.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect MPLS IETF command syntax and terminology.

12.0(14)ST

This command was modified to reflect MPLS VPN support for LDP and to make the command consistent with the way Cisco IOS software interprets the prefix-access-list argument.

12.1(2)T

This command was integrated into Cisco IOS Release 12.1(2)T.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.

12.2(4)T

This command was integrated into Cisco IOS Release 12.2(4)T.

12.2(8)T

This command was integrated into Cisco IOS Release 12.2(8)T.

12.0(21)ST

This command was integrated into Cisco IOS Release 12.0(21)ST.

12.0(22)S

This command was integrated into Cisco IOS Release 12.(22)S. The interface interface keyword and argument was added to this command.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S.

12.2(13)T

This command was integrated into Cisco IOS Release 12.2(13)T.


Usage Guidelines

To prevent the distribution of any locally assigned labels, use the no mpls ldp advertise-labels command with no optional parameters. To reenable the distribution of all locally assigned labels to all LDP neighbors, use the mpls ldp advertise-labels command with no optional parameters.

You can execute multiple mpls ldp advertise-labels commands. In the aggregate, such commands determine how the LSR advertises local labels. The following rules describe the effects of multiple commands:

1. Every mpls ldp advertise-labels command has a (prefix acl, peer acl) pair associated with it. The access list pair associated with the mpls ldp advertise-labels command (in the absence of both the for and to keywords) is (none, none); the access list pair associated with the mpls ldp advertise-labels for prefix acl command (in the absence of the to keyword) is (prefix-acl, none).

2. A given prefix can have, at most, one (prefix acl, peer acl) pair that "applies" to it, as described below:

a. A given (prefix acl, peer acl) pair "applies" to a prefix only if the prefix acl "matches" the prefix. A match occurs if the prefix acl permits the prefix.

b. If more than one (prefix acl, peer acl) pair from multiple mpls ldp advertise-labels commands matches a prefix, the (prefix acl, peer acl) pair in the first such command (as determined by the show running command) "applies" to the prefix.

3. When an LSR is ready to advertise a label for a prefix, the LSR:

a. Determines whether a (prefix acl, peer acl) pair applies to the prefix.

b. If none applies, and if the no mpls ldp advertise-labels command has been configured, the label for the prefix is not advertised to any peer; otherwise, the label is advertised to all peers.

c. If a (prefix acl, peer acl) pair applies to the prefix, and if the prefix acl "denies" the prefix, the label is not advertised to any peer.

d. If the prefix acl "permits" the prefix and the peer acl is none (that is, the command that "applies" to the prefix is an mpls ldp advertise-labels for prefix acl command without the to keyword), then the label is advertised to all peers.

e. If the prefix acl "permits" the prefix and there is a peer acl, then the label is advertised to all peers permitted by the peer acl.


Note The mpls ldp advertise-labels command has no effect on an LC-ATM interface. Such an interface behaves as though this command had not been executed.


Normally, LDP advertises labels only for IP prefixes that are in the routing table. You can use the mpls ldp advertise-labels interface command to force LDP to advertise a label for a prefix constructed from an interface address and a 32-bit mask. Such a prefix is not usually in the routing table.

Examples

In the following example, the router is configured to advertise no locally assigned labels to any LDP neighbors.

Router(config)# no mpls ldp advertise-labels

In the following example, the router is configured to advertise to all LDP neighbors only the labels for networks 10.101.0.0 and 10.221.0.0.

Router(config)# ip access-list standard pfx-filter
Router(config-std-nacl)# permit 10.101.0.0 0.0.255.255
Router(config-std-nacl)# permit 10.221.0.0 0.0.255.255
Router(config-std-nacl)# exit

Router(config)# mpls ldp advertise-labels for pfx-filter

Router(config)# no mpls ldp advertise-labels

In the following example, the router is configured to advertise the label for network 59.0.0.0 only to LSR 155.0.0.55, the label for network 35.0.0.0 only to LSR 133.0.0.33, and the labels for all other prefixes to all LSRs.

Router(config)# ip access-list standard pfx-filter1
Router(config-std-nacl)# permit 59.0.0.0
Router(config-std-nacl)# exit

Router(config)# ip access-list standard lsr-filter1
Router(config-std-nacl)# permit 155.0.0.55
Router(config-std-nacl)# exit

Router(config)# ip access-list standard pfx-filter2
Router(config-std-nacl)# permit 35.0.0.0
Router(config-std-nacl)# exit

Router(config)# ip access-list standard lsr-filter2
Router(config-std-nacl)# permit 133.0.0.33
Router(config-std-nacl)# exit

Router(config)# mpls ldp advertise-labels for pfx-filter1 to lsr-filter1
Router(config)# mpls ldp advertise-labels for pfx-filter2 to lsr-filter2

The output of the show mpls ip binding detail command includes the (prefix acl, peer acl) pairs that apply to each prefix. For this example, the applicable pairs are as shown below:

Router# show mpls ip binding detail
Advertisement spec:
	Prefix acl = pfx-filter1; Peer acl = lsr-filter1
	Prefix acl = pfx-filter2; Peer acl = lsr-filter2

  35.0.0.0/8, rev 109
	in label:     16
		Advertised to:
		133.0.0.33:0
	out label:    imp-null  lsr: 155.0.0.55:0     inuse
	out label:    imp-null  lsr: 133.0.0.33:0
	Advert acl(s): Prefix acl pfx-filter2, Peer acl lsr-filter2
  59.0.0.0/8, rev 108
	in label:     imp-null
		Advertised to:
		155.0.0.55:0
	out label:    16        lsr: 155.0.0.55:0
	out label:    19        lsr: 133.0.0.33:0
	Advert acl(s): Prefix acl pfx-filter1, Peer acl lsr-filter1
  113.0.0.33/32, rev 98
	out label:    imp-null  lsr: 133.0.0.33:0
  114.0.0.44/32, rev 99
	in label:     imp-null
		Advertised to:
		155.0.0.55:0           133.0.0.33:0
  133.0.0.33/32, rev 101
	in label:     20        
		Advertised to:
		155.0.0.55:0           133.0.0.33:0
	out label:    19        lsr: 155.0.0.55:0
	out label:    imp-null  lsr: 133.0.0.33:0     inuse
  144.0.0.44/32, rev 103
	in label:     imp-null
		Advertised to:
		155.0.0.55:0           133.0.0.33:0
	out label:    20        lsr: 155.0.0.55:0
	out label:    18        lsr: 133.0.0.33:0
  155.0.0.55/32, rev 104
	in label:     17
		Advertised to:
		155.0.0.55:0           133.0.0.33:0
	out label:    imp-null  lsr: 155.0.0.55:0     inuse
	out label:    17        lsr: 133.0.0.33:0
Router#

In the following example, the vrf keyword is specified to configure label advertisement in the VPN routing/forwarding instance named vpn1.

Router(config)# mpls ldp advertise-labels vrf vpn1 for pfx-filter1 to lsr-filter1

Router(config)# mpls ldp advertise-labels vrf vpn1 for pfx-filter2 to lsr-filter2

The following example uses the interface keyword to configure label advertisement for a /32 prefix constructed from the IP address of interface ethernet1/1:

Router(config)# mpls ldp advertise-labels interface ethernet1/1

Related Commands

Command
Description

mpls ldp advertise-labels old-style

Uses method of earlier software releases to interpret the for prefix-access-list parameter for the mpls ldp advertise-labels command.

show mpls ip binding detail

Shows detailed information about label bindings, including the access lists, if any, controlling which local labels are advertised to which LDP neighbors.


mpls ldp advertise-labels old-style

To cause the interpretation of the for prefix-access-list keyword argument pair for the mpls ldp advertise-labels commands to be interpreted according to the method used in earlier Cisco IOS software versions, use the mpls ldp advertise-labels old-style command in global configuration mode. To disable the interpretation, use the no form of this command.

mpls ldp advertise-labels old-style

no mpls ldp advertise-labels old-style

Syntax Description

This command has no arguments or keywords.

Defaults

If this command is not specified, the for prefix-access-list keyword argument pair in any mpls ldp advertise-labels commands is interpreted according to the rules specified under the "Usage Guidelines" section for the mpls ldp advertise-labels command.

Command Modes

Global configuration

Command History

Release
Modification

12.0(14)ST

This command was introduced to cause the for prefix-access-list keyword argument pair in this command to be interpreted in the same way as in earlier Cisco IOS releases.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

The method for interpreting the for prefix-access-list keyword argument pair in the mpls ldp advertise-labels commands is defined by Rule 2.a under the "Usage Guidelines" section for the mpls ldp advertise-labels command. This Rule 2.a follows normal access list conventions.

However, earlier Cisco IOS software releases used a different method for interpreting the for prefix-access-list keyword argument pair in mpls ldp advertise-labels commands. For those earlier software versions, Rule 2.a reads as follows:

2. A given prefix can have, at most, one prefix access-list, peer access-list argument pair that applies to it.

a. A given prefix access-list, peer-access-list argument pair applies to a prefix only if the prefix-access-list matches the prefix. A match occurs if the prefix-access-list argument explicitly permits or denies the prefix by means of a permit or deny command. A prefix-access-list argument that contains a permit any or deny any command matches any prefix.

This earlier Rule 2.a departed from normal access list conventions in that:

An explicit deny (including a deny any) that matches the prefix causes the prefix-access-list, peer-access-list argument pair to apply to the prefix.

Explicit deny any and implicit deny any (which all access lists have) have different effects, in that the explicit deny any causes the access list pair to apply to all prefixes, but the implicit deny any has no effect.

If a configuration developed for use with earlier Cisco IOS software releases depends on this previous method for interpreting the for prefix-access-list keyword argument pair in mpls ldp advertise-labels commands, and if it is inconvenient to update the configuration to work with Rule 2.a as it now appears under the "Usage Guidelines" section for the mpls ldp advertise-labels command, use the mpls ldp advertise-labels old-style command to force the use of the old-style method of interpreting the for prefix-access-list keyword argument pair used by earlier software releases.

Examples

The following example shows how to cause the old-style method of interpreting the for prefix-access-list keyword argument pair to be used in executing mpls ldp advertise-labels commands:

Router# mpls ldp advertise-labels old-style

Related Commands

Command
Description

mpls ldp advertise-labels

Controls the distribution of locally assigned labels by means of LDP.


mpls ldp atm control-mode

To control the mode used for handling label binding requests on label-controlled ATM (LC-ATM) interfaces, use the mpls ldp atm control-mode command in global configuration mode. To remove the control mode, use the no form of this command.

mpls ldp atm control-mode {ordered | independent}

no mpls ldp atm control-mode {ordered | independent}

Syntax Description

ordered

Delays a label binding in response to a Label Request message from a Label Distribution Protocol (LDP) neighbor until a label binding has been received from the next hop LDP neighbor for the destination in question.

independent

Returns a label binding immediately in response to a Label Request message from an LDP neighbor. Any packets for the destination in question are discarded by the label switch router (LSR) until a label binding from the next hop LSR has been received.


Defaults

The default is ordered control mode.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) command syntax and terminology.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

Use of ordered control mode by an ATM device acting as a transit LSR in an ATM cloud ensures that the device will receive labeled packets to forward only after it has learned the outgoing labels required by MPLS to forward the packets. Ordered control mode relieves the device of the burden of reassembling cells into packets that must be forwarded by means of the normal (non-MPLS) packet forwarding or discard mechanisms.

Use of independent control mode on ATM transit LSRs might slightly reduce the time an ATM edge router must wait to use an ATM label switched path (LSP) it has initiated. Independent control mode eliminates the need for the edge router to wait for the Label Request/Label Mapping signaling to traverse the ATM cloud from edge router ingress to egress and back before it can send packets into the LSP. However, there is a risk that an ATM transit device might receive labeled packets before it has learned the outgoing labels required for MPLS forwarding, thus forcing the transit device to reassemble the cells into a packet that it is likely to discard.

Examples

The following example shows how to set the mode for handling LDP Label Request messages to "independent" for the platform:

Router# mpls ldp atm control-mode independent

mpls ldp atm vc-merge

To control whether the ATM-virtual circuit merge (multipoint-to-point) capability is supported for unicast label virtual circuits, use the mpls ldp atm vc-merge command in global configuration mode. To disable the ATM-virtual circuit merge capability, use the no form of this command.

mpls ldp atm vc-merge

no mpls ldp atm vc-merge

Syntax Description

This command has no arguments or keywords.

Defaults

The ATM-virtual circuit merge capability is enabled by default if the hardware supports this feature; otherwise, the feature is disabled.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) command syntax and terminology.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

Use of virtual circuit merge helps conserve ATM labels by allowing incoming label switched paths (LSPs) from different sources for the same destination to be merged onto a single outgoing virtual circuit.

Examples

The following example shows how to disable the ATM-virtual circuit merge capability:

Router# no mpls ldp atm vc-merge

Related Commands

Command
Description

show mpls atm-ldp capability

Displays the ATM MPLS capabilities negotiated with LDP neighbors for LC-ATM interfaces.


mpls ldp backoff

To configure parameters for the Label Distribution Protocol (LDP) backoff mechanism, use the mpls ldp backoff command in global configuration mode. To disable the LDP backoff mechanism, use the no form of this command.

mpls ldp backoff initial-backoff maximum-backoff

no mpls ldp backoff initial-backoff maximum-backoff

Syntax Description

initial-backoff

Number from 5 to 2147483 that defines the initial backoff value in seconds. The default is 15 seconds.

maximum-backoff

Number from 5 to 2147483 that defines the maximum backoff value in seconds. The default is 120 seconds.


Defaults

The initial backoff value is 15 seconds and grows to a maximum value of 120 seconds.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

The LDP backoff mechanism prevents two incompatibly configured label switch routers (LSRs) from engaging in an unthrottled sequence of session setup failures. For example, an incompatibility arises when two neighboring routers attempt to perform LC-ATM (label-controlled ATM) but the two are using different ranges of virtual path identifier (VPI)/virtual channel identifier (VCI) values for labels.

If a session setup attempt fails due to an incompatibility, each LSR delays its next attempt (that is, backs off), increasing the delay exponentially with each successive failure until the maximum backoff delay is reached.

The default settings correspond to the lowest settings for initial and maximum backoff values defined by the LDP protocol specification. You should change the settings from the default values only if such settings result in undesirable behavior.

Examples

The following example shows how to set the initial backoff delay to 30 seconds and the maximum backoff delay to 240 seconds:

Router(config)# mpls ldp backoff 30 240

Related Commands

Command
Description

show mpls ldp backoff

Displays information about the configured session setup backoff parameters and any potential LDP peers with which session setup attempts are being throttled.

show mpls ldp parameters

Displays the session setup backoff parameters currently in effect for the LDP backoff mechanism.


mpls ldp discovery

To configure the interval between transmission of consecutive Label Distribution Protocol (LDP) Discovery Hello messages, or the hold time for a discovered LDP neighbor, or the neighbors from which requests for targeted Hello messages may be honored, use the mpls ldp discovery command in global configuration mode. To disable transmission times, or hold times, or neighbor requests, use the no form of this command.

mpls ldp discovery {hello {holdtime | interval} seconds | targeted-hello {holdtime | interval} seconds | accept [from acl]}

no mpls ldp discovery {hello {holdtime | interval} | targeted-hello {holdtime | interval} | accept}

Syntax Description

hello

Configures the intervals and hold times for directly connected neighbors.

holdtime

Defines the period of time a discovered LDP neighbor is remembered without receipt of an LDP Hello message from the neighbor.

interval

Defines the period of time between the sending of consecutive Hello messages.

seconds

Defines the hold time or interval in seconds.

The default hold time is 15 seconds for link Hello messages and 90 seconds for targeted Hello messages.

The default interval is 5 seconds for link Hello messages and 10 seconds for targeted Hello messages.

targeted-hello

Configures the intervals and hold times for neighbors that are not directly connected (for example, LDP sessions that run between the endpoints of a label switched path (LSP) tunnel).

accept

Configures the router to respond to requests for targeted Hello messages from all neighbors or from neighbors specified by the optional acl argument.

from acl

(Optional) IP access list that specifies the neighbor from which requests for targeted Hello messages may be honored.


Defaults

The default value for the holdtime keyword is 15 seconds for link Hello messages and 90 seconds for targeted Hello messages.

The default value for the interval keyword is 5 seconds for link Hello messages and 10 seconds for targeted hello messages.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) command syntax and terminology.

12.0(14)ST

This command was integrated into Cisco IOS Release 12.0(14)ST.

12.1(2)T

This command was integrated into Cisco IOS Release 12.1(2)T.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S. Default values for the holdtime and interval keywords were changed.

12.2(13)T

This command was integrated into Cisco IOS Release 12.2(13)T. Default values for the holdtime and interval keywords were changed.


Usage Guidelines

When the discovery hold time elapses for a neighbor discovered on an interface or for a neighbor discovered by means of a targeted Hello message, the record associating the neighbor with that interface or that targeted Hello message source is discarded. If an LDP session exists with a neighbor, but a discovery record no longer exists for that neighbor, the LDP session is terminated.

Setting the hold time too high causes LDP to be slow in detecting link outages; setting the hold time too low might cause LDP to terminate sessions when a Hello message is dropped during traffic bursts on a link.

The exchange of targeted Hello messages between two nondirectly connected neighbors (N1 and N2) may occur in the following ways:

N1 may initiate the transmission of targeted Hello messages to N2, and N2 may send targeted Hello messages in response. In this situation, N1 is considered to be active and N2 is considered to be passive.

N1's targeted Hello messages carry a request that N2 send targeted Hello messages in response. To respond, N2's configuration must permit it to respond to N1. The mpls ldp discovery targeted-hello accept command is used to configure whether N1 may respond to requests for targeted Hello messages.

N1 and N2 may both be configured to initiate the transmission of targeted Hello messages to each other. In this situation, both are active.

Both, one, or neither of N1 and N2 may be passive, depending on whether they have been configured to respond to requests for targeted Hello messages from the other.


Note Normally, active transmission of targeted Hello messages by a router is triggered by some configuration action, such as an mpls ip command on a traffic engineering tunnel interface.


Examples

The following example shows how to set the period of time for which a neighbor discovered on an interface is remembered to 30 seconds if no Hello messages are received:

Router# configure terminal
Router(config)# mpls ldp discovery hello holdtime 30

The following example shows how to configure the router to respond to requests for targeted Hello messages from neighbors 172.16.0.23 and 192.168.73.18:

Router(config)# ip access standard TRGT_ACCEPT
Router(config-nacl)# permit 172.16.0.23
Router(config-nacl)# permit 192.168.73.18
Router(config-nacl)# exit
Router(config)# mpls ldp discovery targeted-hello accept from TRGT_ACCEPT

Related Commands

Command
Description

mpls ldp holdtime

Changes the time for which an LDP session is maintained in the absence of LDP messages from the session peer.

show mpls ldp discovery

Displays the status of the LDP discovery process.

show mpls ldp neighbor

Displays the status of LDP sessions.

show mpls ldp parameters

Displays current LDP parameters.


mpls ldp discovery transport-address

To specify the transport address advertised in Label Distribution Protocol (LDP) Discovery Hello messages sent on an interface, use the mpls ldp discovery transport-address command in interface configuration mode. To remove the transport address advertised, use the no form of this command.

mpls ldp discovery transport-address {interface | ip-address}

no mpls ldp discovery transport-address

Syntax Description

interface

Specifies that the interface IP address should be advertised as the transport address.

ip-address

Specifies that the IP address should be advertised as the transport address.


Defaults

The default behavior when this command has not been issued for an interface depends on the interface type.

Unless the interface is a label-controlled ATM (LC-ATM) interface, LDP advertises its LDP router ID as the transport address in LDP Discovery Hello messages sent from the interface.

If the interface is an LC-ATM interface, no transport address is explicitly advertised in LDP Discovery Hello messages sent from the interface.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(14)ST

This command was introduced.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

Establishing an LDP session between two routers requires a session TCP connection by which label advertisements can be exchanged between the routers. To establish the session TCP connection, each router must know the transport address (IP address) of the other router.

The LDP discovery mechanism provides the means for a router to advertise the transport address for its end of a session TCP connection. The transport address advertisement itself may be explicit, in which case it appears as part of the contents of Discovery Hello messages sent to the peer, or implicit, in which case it does not, and the peer uses the source IP address of received Hello messages for the peer's transport address.

The mpls ldp discovery transport-address command provides the means to modify the default behavior described above. When the interface keyword is specified, LDP advertises the IP address of the interface in LDP Discovery Hello messages sent from the interface. When the ip-address argument value is specified, LDP advertises the specified IP address in LDP Discovery Hello messages sent from the interface.


Note When a router has multiple links connecting it to its peer device, the router must advertise the same transport address in the LDP Discovery Hello messages it sends on all such interfaces.


Examples

The following example shows how to specify the LDP transport address for POS interface 2/0 is the interface IP address; it also specifies that the IP address 172.22.0.56 of POS interface 3/1is the LDP transport address.

Router(config#) interface pos2/0
Router(config-if)# mpls ldp discovery transport-address interface
Router(config-if) exit
Router(config#) interface pos3/1
Router(config-if)# mpls ldp discovery transport-address 145.22.0.56

Related Commands

Command
Description

show mpls ldp discovery

Displays the status of the LDP discovery process.

show mpls ldp neighbor

Displays the status of LDP sessions.


mpls ldp explicit-null

To cause a router to advertise an Explicit Null label in situations where it would normally advertise an Implicit Null label, use the mpls ldp explicit-null command in global configuration mode. To disable the advertisement of an Explicit Null label, use the no form of this command.

mpls ldp explicit-null [for prefix-acl | to peer-acl | for prefix-acl to peer-acl]

no mpls ldp explicit-null

Syntax Description

for prefix-acl

(Optional) Specifies prefixes for which Explicit Null should be advertised in place of Implicit Null.

to peer-acl

(Optional) Specifies LDP peers to which Explicit Null should be advertised in place of Implicit Null.


Defaults

The default behavior is to advertise Implicit Null for directly connected routes unless the command mpls ldp explicit-null has been executed.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

Normally, LDP advertises an Implicit Null label for directly connected routes. The Implicit Null label causes the previous hop (penultimate) router to do penultimate hop popping. Situations exist where it might be desirable to prevent the penultimate router from performing penultimate hop popping and to force it to replace the incoming label with the Explicit Null label.

When you issue the mpls ldp explicit-null command, Explicit Null is advertised in place of Implicit Null for directly connected prefixes permitted by prefix-access-list to peers permitted by peer-access-list.

If you do not specify the prefix-access-list argument in the command, Explicit Null is advertised in place of Implicit Null for all directly connected prefixes.

If you do not specify the peer-access-list argument in the command, Explicit Null is advertised in place of Implicit Null to all peers.

Examples

The following command shows how to cause Explicit Null to be advertised for all directly connected routes to all LDP peers:

Router(config)# mpls ldp explicit-null

The following example shows how to cause Explicit Null to be advertised for directly connected route 172.17.5.0 to all LDP peers and Implicit Null to be advertised for all other directly connected routes:

Router(config)# mpls ldp explicit-null
Router(config)# ip access-list standard adv-exp-null
Router(config-std-nacl)# permit 172.17.5.0
Router(config-std-nacl)# deny any
Router(config-std-nacl)#

Related Commands

Command
Description

show mpls ip binding

Displays known label bindings.


mpls ldp holdtime

To change the time for which a Label Distribution Protocol (LDP) session is maintained in the absence of LDP messages from the session peer, use the mpls ldp holdtime command in global configuration mode. To return to the default time of 180 seconds, use the no form of this command.

mpls ldp holdtime seconds

no mpls ldp holdtime seconds

Syntax Description

seconds

Number from 15 to 2147483, that defines the time, in seconds, an LDP session is maintained in the absence of LDP messages from the session peer. The default is 180.


Defaults

The holdtime of LDP sessions is 180 seconds.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) command syntax and terminology.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

When an LDP session is established between two label switch routers (LSRs), the hold time used for the session is the lower of the values configured on the two LSRs.

Examples

The following example shows how to configure the hold time of LDP sessions for 30 seconds:

Router# mpls ldp holdtime 30

Related Commands

Command
Description

show mpls atm-ldp bindings

Configures parameters for the LDP discovery mechanism.

show mpls ldp parameters

Displays current LDP parameter settings.


mpls ldp logging neighbor-changes

To generate system error logging (syslog) messages when Label Distribution Protocol (LDP) sessions go down, use the mpls ldp logging neighbor-changes command in global configuration mode. To disable generating syslog messages, use the no form of this command.

mpls ldp logging neighbor-changes

no mpls ldp logging neighbor-changes

Syntax Description

This command has no arguments or keywords.

Defaults

Logging is enabled by default.

Command Modes

Global configuration

Command History

Release
Modification

12.0(24)S

This command was introduced.

12.2(14)S

This command was integrated into Cisco IOS Release 12.2(14)S.

12.2(14)T

This command was integrated into Cisco IOS Release 12.2(14)T.

12.0(31)S

The log message is updated to show a VPN routing/forwarding instance (VRF) information and the reason for an LDP neighbor going down.

12.3(15)

The log message is updated to show VRF information and the reason for an LDP neighbor going down.

12.4(1)

The log message is updated to show VRF information and the reason for an LDP neighbor going down.

12.2(28)S

The log message is updated to show VRF information and the reason for an LDP neighbor going down.


Usage Guidelines

Use the mpls ldp logging neighbor-changes command to generate syslog messages when an LDP session goes down. The command also provides VRF information about the LDP neighbor and the reason for the LDP session going down. Some of the reasons for an LDP session going down are the following:

An LDP was disabled globally by configuration.

An LDP was disabled on an interface.

Examples

The following example generates syslog messages when LDP sessions go down:

Router(config)# mpls ldp logging neighbor-changes


The following output shows the log entries when an LDP session with neighbor 192.168.1.100:0 goes down and comes up. The session went down because the discovery hold timer expired. The VRF table identifier for the neighbor is 1.

2d00h: %LDP-5-NBRCHG: LDP Neighbor 192.168.1.100:0 (1) is DOWN (Disc hold timer expired)
2d00h: %LDP-5-NBRCHG: LDP Neighbor 192.168.1.100:0 (1) is UP

mpls ldp loop-detection

To enable the Label Distribution Protocol (LDP) optional loop detection mechanism, use the mpls ldp loop-detection command in global configuration mode. To disable the LDP loop detection mechanism, use the no form of this command.

mpls ldp loop-detection

no mpls ldp loop-detection

Syntax Description

This command has no arguments or keywords.

Defaults

LDP loop detection is disabled.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

The LDP loop detection mechanism is intended for use in networks of non-TTL (time-to-live) decrementing devices (for example, ATM switches) that are incapable of fairly allocating device resources among traffic flows.

When configured, the LDP loop detection mechanism is used with the Downstream on Demand (DoD) method of label distribution, supplementing the DoD hop count mechanism to detect looping label switched paths (LSPs) that might occur during routing transients. When looping LSPs are detected, the loop is not set up.

Examples

The following example shows how to set the LDP loop detection mechanism:

Router(config)# mpls ldp loop-detection

Related Commands

Command
Description

mpls ldp maxhops

Limits the number of hops permitted for LSPs to a specified value. An LSP with more hops than the specified value is treated as one with a loop that will not be established.


mpls ldp maxhops

To limit the number of hops permitted in a label switched path (LSP) established by the Downstream on Demand (DoD) method of label distribution, use the mpls ldp maxhops command in global configuration mode. To return the number of hops permitted to the default, use the no form of this command.

mpls ldp maxhops number

no mpls ldp maxhops

Syntax Description

number

Number from 1 to 255, inclusive, that defines the maximum hop count. The default is 254.


Defaults

The default is 254 hops.

Command Modes

Global configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) command syntax and terminology.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

When an ATM label switch router (LSR) initiates a request for a label binding, it sets the hop count value in the Label Request message to 1. Subsequent ATM LSRs along the path to the edge of the ATM label switching region increment the hop count before forwarding the Label Request message to the next hop.

When an ATM LSR receives a Label Request message, it does not send a Label Mapping message in response, nor does it propagate the request to the destination next hop if the hop count value in the request equals or exceeds the maxhops value. Instead, the ATM LSR returns an error message that specifies that the maximum allowable hop count has been reached. This threshold is used to prevent forwarding loops in the setting up of label switch paths across an ATM region.

Examples

The following example shows how to set the hop count limit to 10:

Router(config)# mpls ldp maxhops 10

Related Commands

Command
Description

mpls ldp neighbor

Enables the optional LDP loop detection mechanism.

show mpls atm-ldp bindings

Displays the requested entries from the ATM LDP label binding database, including the hop counts for LSPs that originate on the platform.

show mpls ip binding

Displays the requested entries from the ATM LDP label binding database, including the hop counts for LSPs that originate on the platform.


mpls ldp neighbor

To configure session TCP connections and routing options for a specified neighbor, use the mpls ldp neighbor global configuration command. To disable these options for the specified neighbor, use the no form of the command.

mpls ldp neighbor [vrf vpn-name] ip-address [password [0-7] password-string]

no mpls ldp neighbor [vrf vpn-name] ip-address [password [0-7] password-string]

Syntax Description

vrf vpn-name

(Optional) Specifies the VPN routing/forwarding instance for the specified neighbor.

ip-address

Specifies the router ID (IP address) that identifies a neighbor.

password [0-7]

(Optional) Specifies an encryption method for storing the supplied password in the configuration.

password-string

Defines the password key to be used for computing MD5 checksums for the session TCP connection with the specified neighbor.


Defaults

Unless the TCP MD5 Signature Option is explicitly configured for session TCP connections, by default, this command is disabled.

When the vrf keyword is not specified in this command, the Label Distribution Protocol (LDP) neighbor is configured in the default routing domain.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.0(14)ST

This command was modified to reflect MPLS VPN support for LDP.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

You can invoke authentication between two LDP peers, verifying each segment sent on the TCP connection between the peers. To do so, you must configure authentication on both LDP peers using the same password; otherwise, the peer session is not established.

The authentication capability uses the MD5 algorithm. MD5, an algorithm used in conjunction with SNMP, verifies the integrity of the communication, authenticates the origin of the message, and checks for timeliness.

Invoking the mpls ldp neighbor command causes the generation and checking of the MD5 digest for every segment sent on the TCP connection.

Configuring a password for an LDP neighbor causes an existing LDP session to be torn down and a new session to be established.

If a router has a password configured for a neighbor, but the neighbor router does not have a password configured, a message such as the following appears on the console while the two routers attempt to establish an LDP session:

%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:

%TCP-6-BADAUTH: Invalid MD5 digest from [peer's IP address]:11004 to [local router's 
IP address]:646

Examples

The following example shows how to configure the string onethirty9 as the password key for use with MD5 for the neighbor whose router ID is 172.27.0.15:

Router(config)# mpls ldp neighbor 172.27.0.15 password onethirty9

The following example shows how to configure the string cisco as the password for use with MD5 for the LDP neighbor having router ID 10.4.4.4 in the VPN routing/forwarding instance named vpn1:

Router(config)# mpls ldp neighbor vrf vpn1 10.4.4.4 password cisco

mpls ldp neighbor implicit-withdraw

To configure the advertisement of a new label for a Forwarding Equivalence Class (FEC) without the withdrawal of the previously advertised label, use the mpls ldp neighbor implicit-withdraw command in global configuration mode. To disable this option for the specified neighbor, use the no form of this command.

mpls ldp neighbor [vrf vpn-name] ip-addr implicit-withdraw

no mpls ldp neighbor [vrf vpn-name] ip-addr [implicit-withdraw]

Syntax Description

vrf vpn-name

(Optional) VPN routing/forwarding instance for the specified neighbor.

ip-addr

Router ID (IP address) that identifies a neighbor.


Defaults

When the vrf keyword is not specified in this command, the label distribution protocol (LDP) neighbor is configured in the default routing domain.

If this command is not configured, when it is necessary for LDP to change the label it has advertised to a neighbor for some prefix, it will withdraw the previously advertised label before advertising the new label to the neighbor.

For the no form of the command, if the implicit-withdraw keyword is not specified, all configuration information for the specified neighbor reverts to the defaults and the neighbor record is deleted.

Command Modes

Global configuration

Command History

Release
Modification

12.0(21)ST

This command was modified to add the implicit-withdraw keyword.

12.0(22)S

This command was integrated into Cisco IOS Release 12.0(22)S.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S.

12.2(13)T

This command was integrated into Cisco IOS Release 12.2(13)T.


Usage Guidelines

By default, in Cisco IOS Release 12.0(21)ST and later, LDP withdraws the previously advertised label using a withdraw message before advertising a new label for a FEC. In Cisco IOS releases prior to 12.0(21)ST, LDP did not withdraw a previously advertised label before advertising a new label for a FEC. In these older releases, the new label advertisement served as an implied withdraw and LDP did not send a withdraw message. To cause LDP to operate as it did in releases before Cisco IOS 12.0(21)ST, that is, LDP will advertise a new label for a FEC without first withdrawing the previously advertised label, use the implicit-withdraw keyword with this command.

Router(config)# mpls ldp neighbor 10.10.10.10 implicit-withdraw

Using the implicit-withdraw keyword avoids the overhead of label withdraw and label release message exchanges.

To disable the implicit-withdraw option, use the no form of the command with the implicit-withdraw keyword. This returns the router to the default, which requires that LDP withdraw the previously advertised label for a FEC before advertising a new label.

Router(config)# no mpls ldp neighbor 10.10.10.10 implicit-withdraw

Examples

In the following example, LDP does not send a label-withdraw message to the neighbor whose router ID is 10.10.10.10 when a need exists to change the previously advertised label for a FEC:

Router(config)# mpls ldp neighbor 10.10.10.10 implicit-withdraw

Related Commands

Command
Description

mpls ldp neighbor password

Configures a password key for computing MD5 checksums for the session TCP connection with the specified neighbor.

mpls ldp neighbor targeted

Sets up a targeted session with the specified neighbor.


mpls ldp neighbor targeted

To set up a targeted session with the specified neighbor, use the mpls ldp neighbor targeted command in global configuration mode. To disable this option for the specified neighbor, use the no form of this command.

mpls ldp neighbor [vrf vpn-name] ip-addr targeted [ldp | tdp]

no mpls ldp neighbor [vrf vpn-name] ip-addr [targeted [ldp | tdp]]

Syntax Description

vrf vpn-name

(Optional) VPN routing/forwarding instance for the specified neighbor.

ip-addr

Router ID (IP address) that identifies a neighbor.

ldp

(Optional) Specifies the Label Distribution Protocol (LDP) as the label protocol for the targeted session.

tdp

(Optional) Specifies the Tag Distribution Protocol (TDP) as the label protocol for the targeted session.


Defaults

When the targeted keyword is not specified, a targeted session is not set up with the neighbor.

For the no form of the command if the targeted keyword is not specified all configuration information for the specified neighbor reverts to the defaults and the neighbor record is deleted.

Command Modes

Global configuration

Command History

Release
Modification

12.0(22)S

This command was introduced.

12.0(23)S

This command was integrated into Cisco IOS Release 12.0(23)S.

12.2(13)T

This command was integrated into Cisco IOS Release 12.2(13)T.


Usage Guidelines

If you do not specify the label protocol for the targeted session, the label protocol specified with the mpls label protocol command is used. If the mpls label protocol command is not configured, then TDP is used for the targeted session.

Use the mpls ldp neighbor targeted command when you need to set up a targeted session and other means of establishing targeted sessions do not apply, such as configuring mpls ip on a traffic engineering (TE) tunnel or configuring Any Transport over MPLS (AToM) virtual circuits (VCs). For example, you would use this command to set up a targeted session between directly connected MPLS LSRs when MPLS label forwarding convergence time is an issue.

The mpls ldp neighbor targeted command 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 label switch routers (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.

Examples

In the following example, the router sets up a targeted session with the neighbor 10.10.10.10 using TDP as the label protocol:

Router(config)# mpls ldp neighbor 10.10.10.10 targeted 

In the following example, the router sets up a targeted session with the neighbor 10.10.10.10 using LDP as the label protocol:

Router(config)# mpls label protocol ldp

Router(config)# mpls ldp neighbor 10.10.10.10 targeted 

Another way to set up a targeted session using LDP without changing the default label protocol is as follows:

Router(config)# mpls ldp neighbor 10.10.10.10 targeted ldp

Related Commands

Commands
Description

mpls ldp neighbor implicit-widthdraw

Configures the advertisement of a new label for a FEC without the withdrawal of the previously advertised label.

mpls ldp neighbor password

Configure a password key for computing MD5 checksums for the session TCP connection with the specified neighbor.


mpls ldp router-id

To specify a preferred interface for determining the Label Distribution Protocol (LDP) router ID, use the mpls ldp router-id command in global configuration mode. To remove the preferred interface for determining the LDP router ID, use the no form of this command.

mpls ldp router-id interface [force]

no mpls ldp router-id

Syntax Description

interface

Causes the IP address of the specified interface to be used as the LDP router ID, provided that the interface is operational.

force

(Optional) Alters the behavior of the mpls ldp router-id command to force the use of the named interface as the LDP router ID. For more information, see the mpls ldp router-id command "Usage Guidelines" section.


Defaults

The mpls ldp router-id command is disabled.

Command Modes

Global configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.0(14)ST

The force keyword was added.

12.1(8a)E

This command was integrated into Cisco IOS Release 12.1(8a)E.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

If the mpls ldp router-id command is not executed, the LDP router ID is determined as follows:

1. The IP addresses of all operational interfaces are examined.

2. If these IP addresses include loopback interface addresses, the largest such loopback address is selected as the LDP router ID.

3. Otherwise, the largest IP address pertaining to an operational interface is selected as the LDP 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, an IP address selected as the LDP router ID might not be advertisable by the routing protocol to a neighboring router. The mpls ldp router-id command provides a means for specifying an interface whose IP address is to be used as the LDP router ID. The specified interface must be operational for its IP address to be used as the LDP router ID.

When executed without the force keyword, the mpls ldp router-id command modifies the method for determining the LDP router ID by causing selection of the IP address of the specified interface argument (provided that the interface is operational) 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 whose address is the current LDP router ID is shut down or the address itself is not configured.

When executed with the force keyword, the effect of the mpls ldp router-id command depends on the current state of the specified interface:

a. If the interface is up (operational) when the mpls ldp router-id force command is issued and if 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.

b. If the interface is down (not operational) when the mpls ldp router-id force command is issued, when the interface transitions to up, 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.

Examples

The following example shows how to specify the POS interface 2/0/0 as the preferred interface for use in determining the LDP router ID. The IP address of such a specified interface is used as the LDP router ID.

Router(config)# mpls ldp router-id pos2/0/0

Related Commands

Command
Description

show mpls ldp discovery

Displays the status of the LDP discovery process, including the local LDP router ID and the LDP router IDs of discovered LSRs.


mpls ldp tcp pak-priority

To give high priority to Label Distribution Protocol (LDP) messages sent by a router locally using Transmission Control Protocol (TCP) connections, use the mpls ldp tcp pak-priority command in global configuration mode. To keep LDP messages at normal priority, use the no form of this command.

mpls ldp tcp pak-priority

no mpls ldp tcp pak-priority

Syntax Description

This command has no keywords or arguments.

Defaults

This command is disabled by default.

Command Modes

Global configuration

Command History

Release
Modification

12.3

This command was introduced.


Usage Guidelines

This command allows you to set high priority for LDP messages sent by a router locally using TCP connections.

During heavy network traffic, LDP session keepalive messages can be dropped from the outgoing interface output queue. As a result, keepalives can timeout causing LDP sessions to go down.

First, to avoid session loss due to keepalive timeouts, configure the quality of service (QoS) and differentiated services code point (DSCP) for packets with type of service (ToS) bits set to 6. This configuration guarantees that packets with a ToS bit precedence value of 6 receive a specified percentage of the bandwidth of the designated outgoing links. Second, if you still experience a problem, use the mpls ldp tcp pak-priority command.


Note Previously established LDP sessions are not affected when you issue the mpls ldp tcp pak-priority or the no mpls ldp tcp pak-priority command.


Examples

The following example gives LDP session messages sent by a router high priority locally:

Router(config)# mpls ldp tcp pak-priority

Related Commands

Command
Description

class-map

Creates a class map to be used for matching packets to a specified class.

debug mpls ldp transport connections

Displays information about the TCP connections used to support LDP sessions.

match ip precedence

Identifies IP precedence values as match criteria.

match mpls experimental

Configures a class map to use the specified value of the EXP field as a match criterion.

policy-map

Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.


mpls mtu

To set the per-interface Multiprotocol Label Switching (MPLS) maximum transmission unit (MTU) for labeled packets, use the mpls mtu interface configuration command. To restore the default, use the no form of this command.

mpls mtu bytes

no mpls mtu

Syntax Description

bytes

The MTU in bytes includes the label stack in the value. For example, to transport an IPv4 packet of 1500 bytes from the edge through an MPLS core, you need an MPLS MTU of at least 1504 bytes. This value accounts for the single 4-byte label and avoids fragmentation. Use the following calculation to determine the MTU:

MPLS MTU = edge MTU + (label stack * 4 bytes)


Defaults

The default MPLS MTU is the MTU configured for the interface. The minimum allowable value is 64; the maximum allowable value is interface dependent.

Command Modes

Interface configuration

Command History

Release
Modification

11.1 CT

This command was introduced.

12.1(3)T

This command was modified to reflect new MPLS IETF terminology.


Usage Guidelines

Setting the MPLS MTU to a high number can lead to packets being dropped on some devices, because the labeled packet is larger than the interface physical MTU.

ATM interfaces cannot accommodate packets that exceed the Segmentation and Reassembly (SAR) buffer size, because labels are added to the packet. The bytes argument refers to the number of bytes in the packet before the addition of any labels. If each label is 4 bytes, the maximum value of bytes on an ATM interface is the physical MTU minus 4*x bytes, where x is the number of labels expected in the received packet.

If a labeled IPv4 packet exceeds the MPLS MTU size for the interface, Cisco IOS software fragments the packet. If a labeled non-IPv4 packet exceeds the MPLS MTU size, the packet is dropped.

All devices on a physical medium must have the same MPLS MTU value in order for MPLS to interoperate.

The MTU for labeled packets for an interface is determined as follows:

If the mpls mtu bytes command has been used to configure an MPLS MTU, the MTU for labeled packets is the bytes value.

Otherwise, the MTU for labeled packets is the default MTU for the interface.

Because labeling a packet makes it larger due to the label stack, you may want the MPLS MTU to be larger than the interface MTU or IP MTU in order to prevent the fragmentation of labeled packets, which would not be fragmented if they were unlabeled.

Changing the interface MTU value (using the mtu interface configuration command) can affect the MPLS MTU of the interface. If the MPLS MTU value is the same as the interface MTU value (this is the default), and you change the interface MTU value, the MPLS MTU value will automatically be set to this new MTU as well. However, the reverse is not true; changing the MPLS MTU value has no effect on the interface MTU.

Examples

The following example sets the maximum labeled packet size for the Fastethernet interface to 1508, which is common in an MPLS core carrying MPLS VPN traffic, for example:

interface Fastethernet0
  mpls mtu 1508

mpls netflow egress

To enable Multiprotocol Label Switching (MPLS) egress NetFlow accounting on an interface, use the mpls netflow egress command in interface configuration mode. To disable MPLS egress NetFlow accounting, use the no form of this command.

mpls netflow egress

no mpls netflow egress

Syntax Description

This command has no arguments or keywords.

Defaults

This command is disabled by default.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(10)ST

This command was introduced.

12.1(5)T

This command was integrated into Cisco IOS Release 12.1(5)T.


Usage Guidelines

Use this command to configure the provider edge (PE)-to-customer edge (CE) interface of a PE router.

Examples

The following example shows how to enable MPLS egress NetFlow accounting on the egress PE interface that connects to the CE interface at the destination Virtual Private Network (VPN) site:

Router(config-if)# mpls netflow egress

Related Commands

Command
Description

debug mpls netflow

Enables debugging of MPLS egress NetFlow accounting.

show mpls forwarding-table

Displays a message that the quick flag is set for all prefixes learned from the MPLS egress NetFlow accounting enabled interface.

show mpls interfaces

Displays the value of the output_feature_state. If MPLS egress NetFlow accounting is enabled on an interface, the value is any number other than 0. If MPLS egress NetFlow accounting is disabled on an interface, the value is 0.


mpls prefix-map

To configure a router to use a specified quality of service (QoS) map when a label destination prefix matches the specified access list, use the mpls prefix-map command in ATM subinterface submode.

mpls prefix-map prefix-map access-list access-list cos-map cos-map

Syntax Description

prefix-map

Unique number for a prefix map.

access-list access list

Unique number for a simple IP access list.

cos-map cos-map

Unique number for a QoS map.


Defaults

No access list is linked to a QoS map.

Command Modes

ATM subinterface submode

Command History

Release
Modification

12.0(5)T

This command was introduced.

12.0(10)ST

This command was modified to reflect Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) syntax and terminology.

12.2(2)T

This command was integrated into Cisco IOS Release 12.2(2)T.


Usage Guidelines

This mpls prefix-map command links an access list to a QoS map when a label distribution prefix matches the specified access list.

Examples

The following example shows how to link an access list to a QoS map:

Router(config-subif)# mpls prefix-map 55 access-list 55 cos-map 55

Related Commands

Command
Description

show mpls prefix-map

Shows the prefix map used to assign a QoS map to network prefixes that match a standard IP access list.


mpls request-labels for

To restrict the creation of label switched paths (LSPs) through the use of access lists on the label switch controller (LSC) or label edge router (LER), use the mpls request-labels for command in global configuration mode. To restrict the creation of LSPs through the use of access lists on the LSC or LER, use the no form of this command.

mpls request-labels for access-list

no mpls request-labels for

Syntax Description

access-list

A named or numbered standard IP access list.


Defaults

No LSPs are created using access lists on the LCS or LER.

Command Modes

Global configuration

Command History

Release
Modification

12.1(5)T

This command was introduced.

12.2(4)T

This command was updated to reflect the Multiprotocol Label Switching (MPLS) Internet Engineering Task Force (IETF) terminology.


Usage Guidelines

The command includes the following usage guidelines:

You can specify either an access list number or name.

When you create an access list, the end of the access list contains an implicit deny statement for everything if it did not find a match before reaching the end.

If you omit the mask from an IP host address access list specification, 0.0.0.0 is assumed to be the mask.

Examples

The following example shows how to prevent headend label switched controlled virtual circuits (LVCs) from being established from the LSC to all 192.168.x.x destinations. The following commands are added to the LSC configuration:

Router(config)# mpls request-labels for 1
Router(config)# access-list 1 deny 192.168.0.0 0.255.255.255
Router(config)# access-list 1 permit any

Related Commands

Command
Description

access list

Creates access lists.

ip access-list

Permits or denies access to IP addresses.