Cisco IOS Multiprotocol Label Switching Command Reference
MPLS Commands: match mpls label through mpls label range

Table Of Contents

match mpls-label

maximum routes

metric-style narrow

metric-style transition

metric-style wide

mpls atm control-vc

mpls atm cos

mpls atm disable-headend-vc

mpls atm multi-vc

mpls atm vpi

mpls atm vp-tunnel

mpls experimental

mpls ip (global configuration)

mpls ip (interface configuration)

mpls ip default-route

mpls ip encapsulate explicit-null

mpls ip propagate-ttl

mpls ip ttl-expiration pop

mpls ipv6 source-interface

mpls l2transport route

mpls label protocol (global configuration)

mpls label protocol (interface configuration)

mpls label range


match mpls-label

To redistribute routes that include Multiprotocol Label Switching (MPLS) labels if the routes meet the conditions specified in the route map, use the match mpls-label command in route map configuration mode. To disable this function, use the no form of this command.

match mpls-label

no match mpls-label

Syntax Description

This command has no arguments or keywords.

Defaults

Routes with MPLS labels are not redistributed.

Command Modes

Route map configuration

Command History

Release
Modification

12.0(21)ST

This command was introduced.

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

A route map that includes this command can be used in the following instances:

With the neighbor route-map in command to manage inbound route maps in BGP

With the redistribute bgp command to redistribute route maps in an IGP

Use the route-map global configuration command, and the match and set route map configuration commands, to define the conditions for redistributing routes from one routing protocol into another. Each route-map command has a list of match and set commands associated with it. The match commands specify the match criteria—the conditions under which redistribution is allowed for the current route-map command. The set commands specify the set actions—the particular redistribution actions to perform if the criteria enforced by the match commands are met. The no route-map command deletes the route map.

The match route-map configuration command has multiple formats. The match commands can be given in any order, and all match commands must "pass" to cause the route to be redistributed according to the set actions given with the set commands. The no forms of the match commands remove the specified match criteria.

When you are passing routes through a route map, a route map can have several parts. Any route that does not match at least one match clause relating to a route-map command will be ignored; that is, the route will not be advertised for outbound route maps and will not be accepted for inbound route maps. If you want to modify only some data, you must configure a second route map section with an explicit match specified.

Examples

The following example shows how to create a route map that redistributes routes if the following conditions are met:

The IP address of the route matches an IP address in ACL 2.

The route includes an MPLS label.

Router(config-router)# route-map incoming permit 10
Router(config-route-map)# match ip address 2
Router(config-route-map)# match mpls-label

Related Commands

Command
Description

match ip address

Distributes any routes that have a destination network number address that is permitted by a standard or extended access list.

route-map (IP)

Defines the conditions for redistributing routes from one routing protocol into another, or enables policy routing.

set mpls-label

Enables a route to be distributed with an MPLS label if the route matches the conditions specified in the route map.


maximum routes

To limit the maximum number of routes in a Virtual Private Network (VPN) routing/forwarding instance (VRF) to prevent a provider edge (PE) router from importing too many routes, use the maximum routes command in VRF configuration submode. To remove the limit on the maximum number of routes allowed, use the no form of this command.

maximum routes limit {warn-threshold | warning-only}

no maximum routes

Syntax Description

limit

Specifies the maximum number of routes allowed in a VRF. The valid range is from 1 to 4,294,967,295 routes.

warn-threshold

The warning threshold value is a expressed as a percentage (from 1 to 100) of the limit value. When the number of routes reaches the specified percentage of the limit, a warning message is generated.

warning-only

Issues a syslog error message when the maximum number of routes allowed for a VRF exceeds the threshold. However, additional routes are still allowed.


Defaults

No limit is set on the maximum number of routes allowed.

Command Modes

VRF configuration

Command History

Release
Modification

12.0(7)T

This command was introduced.

12.2(13)T

Support for SNMP notifications was added.


Usage Guidelines

The maximum routes command can be configured in one of two ways:

Generate a warning message when the limit is exceeded

Generate a warning message when the warn-threshold is reached

To limit the number of routes allowed in the VRF, use the maximum routes limit command with the warn-threshold argument. The warn-threshold argument generates a warning and does not allow the addition of routes to the VRF when the maximum number set by the limit argument is reached. The software generates a warning message everytime a route is added to a VRF when the VRF route count is above the warning threshold. The software also generates a route rejection notification when the maximum threshold is reached and everytime a route is rejected after the limit is reached.

To set a number of routes at which you receive a notification, but which does not limit the number of routes that can be imported into the VRF, use the maximum routes limit command with the warn-only keyword.

To configure the router to generate SNMP notifications (traps or informs) for these values use the snmp-server enable traps mpls vpn global configuration command.

Examples

The following example shows how to set a limit threshold of VRF routes to 1000. When the number of routes for the VRF reaches 1000, the router issues a syslog error message, but continues to accept new VRF routes.

Router(config)# ip vrf vrf1 

Router(config-vrf)# rd 100:1 

Router(config-vrf)# route-target import 100:1 

Router(config-vrf)# maximum routes 1000 warning-only 

The following example shows how to set the maximum number of VRF routes allowed to 1000 and set the warning threshold at 80 percent of the maximum. When the number of routes for the VRF reaches 800, the router issues a warning message. When the number of routes for the VRF reaches 1000, the router issues a SYSLOG error message and rejects any new routes.

Router(config)# ip vrf vrf2

Router(config-vrf)# rd 200:1

Router(config-vrf)# route-target import 200:1

Router(config-vrf)# maximum routes 1000 80

Related Commands

Command
Description

import map

Configures an import route map for a specified VRF for more control over routes imported into the VRF.

ip vrf

Specifies a name for a VRF routing table and enters VRF configuration mode.

rd

Creates VRF routing and forwarding tables and specifies the default route distinguisher for a VPN.

route-target

Configures a VRF route target community for importing and exporting extended community attributes.


metric-style narrow

To configure a router running Intermediate System-to-Intermediate System (IS-IS) so that it generates and accepts old-style type, length, and value objects (TLVs), use the metric-style narrow command in router configuration mode. To disable this function, use the no form of this command.

metric-style narrow [transition] [level-1 | level-2 | level-1-2]

no metric-style narrow [transition] [level-1 | level-2 | level-1-2]

Syntax Description

transition

(Optional) Instructs the router to use both old- and new-style TLVs.

level-1

(Optional) Enables this command on routing level 1.

level-2

(Optional) Enables this command on routing level 2.

level-1-2

(Optional) Enables this command on routing levels 1 and 2.


Defaults

The Multiprotocol Label Switching (MPLS) traffic engineering image generates only old-style TLVs. To do MPLS traffic engineering, a router must generate new-style TLVs that have wider metric fields.

Command Modes

Router configuration

Command History

Release
Modification

12.0(5)S

This command was introduced.


Examples

The following example shows how to configure the router to generate and accept old-style TLVs on router level 1:

Router(config-router)# metric-style narrow level-1

Related Commands

Command
Description

metric-style transition

Configures a router to generate both old-style and new-style TLVs.

metric-style wide

Configures a router to generate and accept only new-style TLVs.


metric-style transition

To configure a router running Intermediate System-to-Intermediate System (IS-IS) so that it generates and accepts both old-style and new-style type, length, and value objects (TLVs), use the metric-style transition command in router configuration mode. To disable this function, use the no form of this command.

metric-style transition [level-1 | level-2 | level-1-2]

no metric-style transition [level-1 | level-2 | level-1-2]

Syntax Description

level-1

(Optional) Enables this command on routing level 1.

level-2

(Optional) Enables this command on routing level 2.

level-1-2

(Optional) Enables this command on routing levels 1 and 2.


Defaults

The Multiprotocol Label Switching (MPLS) traffic engineering image generates only old-style TLVs. To do MPLS traffic engineering, a router must generate new-style TLVs that have wider metric fields.

Command Modes

Router configuration

Command History

Release
Modification

12.0(5)S

This command was introduced.


Examples

The following example shows how to configure a router to generate and accept both old-style and new-style TLVs on router level 2:

Router(config-router)# metric-style transition level-2

Related Commands

Command
Description

metric-style narrow

Configures a router to generate and accept old-style TLVs.

metric-style wide

Configures a router to generate and accept only new-style TLVs.


metric-style wide

To configure a router running Intermediate System-to-Intermediate System (IS-IS) so that it generates and accepts only new-style type, length, and value objects (TLVs), use the metric-style wide command in router configuration mode. To disable this function, use the no form of this command.

metric-style wide [transition] [level-1 | level-2 | level-1-2]

no metric-style wide [transition] [level-1 | level-2 | level-1-2]

Syntax Description

transition

(Optional) Instructs the router to accept both old- and new-style TLVs.

level-1

(Optional) Enables this command on routing level 1.

level-2

(Optional) Enables this command on routing level 2.

level-1-2

(Optional) Enables this command on routing levels 1 and 2.


Defaults

The Multiprotocol Label Switching (MPLS) traffic engineering image generates only old-style TLVs. To do MPLS traffic engineering, a router must generate new-style TLVs that have wider metric fields.

Command Modes

Router configuration

Command History

Release
Modification

Release 12.0(5)S

This command was introduced.


Usage Guidelines

If you enter the metric-style wide command, a router generates and accepts only new-style TLVs. Therefore, the router uses less memory and other resources than it would if it generated both old-style and new-style TLVs.

This style is appropriate for enabling MPLS traffic engineering across an entire network.


Note This discussion of metric styles and transition strategies is oriented toward traffic engineering deployment. Other commands and models could be appropriate if the new-style TLVs are desired for other reasons. For example, a network might require wider metrics, but might not use traffic engineering.


Examples

The following example shows how to configure a router to generate and accept only new-style TLVs on level 1:

Router(config-router)# metric-style wide level-1

Related Commands

Command
Description

metric-style narrow

Configures a router to generate and accept old-style TLVs.

metric-style transition

Configures a router to generate and accept both old-style and new-style TLVs.


mpls atm control-vc

To configure the control-VC virtual path identifier (VPI) and virtual circuit identifier (VCI) values for the initial link to the Multiprotocol Label Switching (MPLS) peer, use the mpls atm control-vc command in interface configuration mode. To unconfigure the values, use the no form of this command.

mpls atm control-vc vpi vci

no mpls atm control-vc vpi vci

Syntax Description

vpi

Virtual path identifier, in the range from 0 to 4095.

vci

Virtual circuit identifier, in the range from 0 to 65535.


Defaults

0/32

Command Modes

Interface configuration

Command History

Release
Modification

12.0(5)T

This command was introduced.

12.2(4)T

This command was updated to reflect the MPLS IETF terminology.
The VPI range of values was extended to 4095.


Usage Guidelines

Use this command to establish the LDP session and to carry non-IP traffic. The default VPI VCI for the control VC is (3, 32). If for any reason you need to have a different control-VC, use the mpls atm control-vc command to configure any VPI VCI allowed by the vpi and vci arguments for the control VC.

Examples

The following example shows how to create an MPLS subinterface on a router and select VPI 1 and VCI 34 as the control VC:

Router(config)# interface atm4/0.1 mpls
Router(config-if)# mpls ip
Router(config-if)# mpls atm control-vc 1 34

Related Commands

Command
Description

mpls ip (interface)

Enables label switching of IPv4 packets on an interface.


mpls atm cos

To change the configured bandwidth allocation for class of service (CoS), use the mpls atm cos command in global configuration mode.

mpls atm cos {available | standard | premium | control} weight

Syntax Description

available

The weight for the available class. This is the lowest class priority.

standard

The weight for the standard class. This is the next lowest class priority.

premium

The weight for the premium class. This is the next highest class priority.

control

The weight for the control class. This is the highest class priority.

weight

The total weight for all CoS traffic classes. This value ranges from 0 to 100.


Defaults

Available 50%, control 50%

Command Modes

Global configuration

Command History

Release
Modifications

12.0(5)T

This command was introduced.

12.2(4)T

This command was updated to reflect the MPLS IETF terminology.


Examples

The following example shows how to configure the XTagATM interface for CoS traffic:

Router(config)# interface xtagatm12
Router(config-if)# extended-port atm1/0 descriptor 1.2
Router(config-if)# mpls ip
Router(config-if)# mpls atm cos available 49
Router(config-if)# mpls atm cos standard 50
Router(config-if)# mpls atm cos premium 0
Router(config-if)# mpls atm cos control 1

mpls atm disable-headend-vc

To remove all headend virtual circuits (VCs) from the Multiprotocol Label Switching (MPLS) Label Switch Controller (LSC) and disable its ability to function as an edge label switch router (LSR), use the mpls atm disable-headend-vc command in global configuration mode. To restore the headend VCs of the MPLS LSC and restore full edge LSR functionality, use the no form of this command.

mpls atm disable-headend-vc

no mpls atm disable-headend-vc

Syntax Description

This command has no arguments or keywords.

Defaults

Edge LSR is enabled

Command Modes

Global configuration

Command History

Release
Modification

12.0(7)DC

This command was introduced.

12.2(4)T

This command was updated to reflect the MPLS IETF terminology.


Usage Guidelines

This command prevents the LSC from initiating headend label VCs (LVCs), and thus reduces the number of LVCs used in the network.

Examples

The following example shows how to disable the MPLS LSC from acting like an edge LSR and therefore cannot create headend LVCs:

mpls atm disable-headend-vc

mpls atm multi-vc

To configure a router subinterface to create one or more label virtual circuits (VCs) over which packets of different classes are sent, use the mpls atm multi-vc command in ATM subinterface submode. To remove the label virtual circuits, use the no form of this command.

mpls atm multi-vc

no mpls atm multi-vc

Syntax Description

This command has no arguments or keywords.

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 command is valid only on ATM MPLS subinterfaces.

Examples

The following example shows how to configure interface ATM2/0/0.1 on the networking device for MPLS quality of service (QoS) multi-VC mode:

Router# configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# interface ATM2/0/0.1 mpls 
Router(config-subif)# mpls atm multi-vc 
Router(config-subif)# exit
Router(config)# exit

Related Commands

Command
Description

mpls cos-map

Creates a class map that specifies how classes map to label virtual circuits when they are combined with a prefix map.

mpls prefix-map

Configures a networking device to use a specified QoS map when a label destination prefix matches the specified access list.


mpls atm vpi

To configure the range of values to use in the virtual path identifier (VPI) field for label virtual circuits (LVCs), use the mpls atm vpi command in interface configuration mode. To clear the range of values, use the no form of this command.

mpls atm vpi vpi [- vpi] [vci-range low - high]

no mpls atm vpi vpi [- vpi] [vci-range low - high]

Syntax Description

vpi

Virtual path identifier, low end of range (0 to 4095).

- vpi

(Optional) Virtual path identifier, high end of range (0 to 4095).

vci-range low - high

(Optional) Range of virtual channel identifier (VCI) values the subinterface can use for the VPI(s).


Defaults

The default VPI range is 1-1.

The default VCI range is 33-65535.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(5)T

This command was introduced.

12.2(4)T

This command was updated to reflect the MPLS IETF terminology.
The vci-range keyword was added.
The VPI range of values was extended to 4095.


Usage Guidelines

You might need to change the default VPI range on the switch if:

It is an administrative policy to use a VPI value other than 1, the default VPI.

There are many LVCs on an interface.

To configure ATM MPLS on a router interface (for example, an ATM Interface Processor), you must enable an MPLS subinterface.


Note The mpls atm control-vc and mpls atm vpi subinterface level configuration commands are available on any interface that can support ATM labeling.


Use this command to select an alternate range of VPI values for ATM label assignment on this interface. The two ends of the link negotiate a range defined by the intersection of the range configured at each end.

To configure the VPI range for an edge label switch router (edge LSR) subinterface connected to another router or to an LSC, limit the range to four VPIs.

For an ATM-LSR, the VPI range specified must lie within the range that was configured on the ATM switch for the corresponding ATM switch interface.

If the LDP neighbor is a router, the VPI range can be no larger than two. For example, you can specify from 5 to 6 (a range of two), not 5 to 7 (a range of three). If the LDP neighbor is a switch, the maximum VPI range is 0 to 255.

If you use the vci-range keyword, you must specify a VPI value.

Examples

The following example shows how to create a subinterface and selects a VPI range from VPI 1 to VPI 3:

Router(config)# interface atm4/0.1 mpls
Router(config-if)# mpls ip
Router(config-if)# mpls atm vpi 1-3

The following example shows how to create a subinterface with a VPI of 240 and a VCI range between 33 and 4090:

Router(config)# interface atm4/0.1 mpls
Router(config-if)# mpls ip
Router(config-if)# mpls atm vpi 240 vci-range 33-4090

Related Commands

Command
Description

mpls atm control-vc

Configures VPI and VCI values for the initial link to an MPLS peer.


mpls atm vp-tunnel

To specify an interface or a subinterface as a virtual path (VP) tunnel, use the mpls atm vp-tunnel command in interface configuration mode. To remove the VP tunnel from an interface or subinterface, use the no form of this command.

mpls atm vp-tunnel vpi [vci-range low - high]

no mpls atm vp-tunnel vpi [vci-range low - high]

Syntax Description

vpi

Virtual path identifier (VPI) value for the local end of the tunnel (0 to 4095).

vci-range low - high

(Optional) Range of virtual channel identifier (VCI) values the VP tunnel can use.


Defaults

If you do not specify a VCI range for the VP tunnel, the tunnel uses the default VCI range of 33-65535.

Command Modes

Interface configuration

Command History

Release
Modification

12.0(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.
The vci-range keyword was added.
The VPI range of values was extended to 4095.


Usage Guidelines

The mpls atm vp-tunnel and mpls atm vpi commands are mutually exclusive.

This command is available on both extended MPLS ATM (XTagATM) interfaces and on LC-ATM subinterfaces of router ATM interfaces. The command is not available on the LS1010, where all subinterfaces are automatically VP tunnels.

It is not necessary to use the mpls atm vp-tunnel command on an XTagATM interface in most applications. The switch learns (through VSI interface discovery) whether the XTagATM interface is a tunnel, the VPI value of the tunnel, and tunnel status.

Examples

The following example shows how to create an MPLS subinterface VP tunnel with a VPI value of 4:

Router(config-if)# mpls atm vp-tunnel 4

The following example shows how to create a VP tunnel with a value of 240 and a VCI range of 33 to 4090:

Router(config-if)# mpls atm vp-tunnel 240 vci-range 33-4090

mpls experimental

To configure Multiprotocol Label Switching (MPLS) experimental (EXP) levels for a virtual circuit (VC) class that can be assigned to a VC bundle and thus applied to all VC members of that bundle, use the mpls experimental command in VC-class configuration mode. To remove the MPLS EXP levels from the VC class, use the no form of this command.

To configure the MPLS EXP levels for a VC member of a bundle, use the mpls experimental command in bundle-VC configuration mode. To remove the MPLS EXP levels from the VC, use the no form of this command.

mpls experimental [other | range]

no mpls experimental

Syntax Description

other

(Optional) Specifies any MPLS EXP levels in the range from 0 to 7 that are not explicitly configured. This is the default.

range

(Optional) A single MPLS EXP level specified as a number from 0 to 7, or a range of levels, specified as a hyphenated range.


Defaults

Defaults to other, that is, any MPLS EXP levels in the range from 0 to 7 that are not explicitly configured.

Command Modes

VC-class configuration (for a VC class)
Bundle-VC configuration (for ATM VC bundle members)

Command History

Release
Modification

12.2(8)T

This command was introduced.

12.0(29)S

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


Usage Guidelines

Assignment of MPLS EXP levels to VC bundle members allows you to create differentiated service because you can distribute the MPLS EXP levels over the different VC bundle members. You can map a single level or a range of levels to each discrete VC in the bundle, thereby enabling VCs in the bundle to carry packets marked with different levels. Alternatively, you can configure a VC with the mpls experimental other command to indicate that it can carry traffic marked with levels not specifically configured for it. Only one VC in the bundle can be configured with the mpls experimental other command to carry all levels not specified. This VC is considered the default one.

To use this command in VC-class configuration mode, enter the vc-class atm global configuration command before you enter this command. This command has no effect if the VC class that contains the command is attached to a standalone VC, that is, if the VC is not a bundle member.

To use this command to configure an individual bundle member in bundle-VC configuration mode, first enter the bundle command to enact bundle configuration mode for the bundle to which you want to add or modify the VC member to be configured. Then use the pvc-bundle command to specify the VC to be created or modified and enter bundle-VC configuration mode.

VCs in a VC bundle are subject to the following configuration inheritance guidelines (listed in order of next highest MPLS EXP level):

VC configuration in bundle-VC mode

Bundle configuration in bundle mode (with the effect of assigned VC class configuration)

Subinterface configuration in subinterface mode


Note If you are using an ATM interface, you must configure all MPLS EXP levels (ranging from 0 to 7) for the bundle. For this configuration, Cisco recommends configuring one member of the bundle with the mpls experimental other command. The other keyword defaults to any MPLS EXP level in a range from 0 to 7 that is not explicitly configured.


Examples

The following example configures a class named "control-class" that includes an mpls experimental command that, when applied to a bundle, configures all VC members of that bundle to carry MPLS EXP level 7 traffic. Note that VC members of that bundle can be individually configured with the mpls experimental command at the bundle-vc level, which would supervene.

vc-class atm control-class
 mpls experimental 7

The following example configures permanent virtual circuit (PVC) 401, named "control-class," to carry traffic with MPLS EXP levels in the range of 4 to 2, overriding the level mapping set for the VC through VC-class configuration:

pvc-bundle control-class 401
 mpls experimental 4-2

Related Commands

Command
Description

bump

Configures the bumping rules for a VC class that can be assigned to a VC bundle.

bundle

Creates a bundle or modifies an existing bundle, and enters bundle configuration mode.

class-vc

Assigns a VC class to an ATM PVC, SVC, or VC bundle member.

protect

Configures a VC class with protected group or protected VC status for application to a VC bundle member.

pvc-bundle

Adds a VC to a bundle as a member and enters bundle-VC configuration mode to configure that VC bundle member.

ubr

Configures UBR QoS and specifies the output peak cell rate for an ATM PVC, SVC, VC class, or VC bundle member.

vbr-nrt

Configures the VBR-nrt QoS and specifies the output peak cell rate, output sustainable cell rate, and output maximum burst cell size for an ATM PVC, SVC, VC class, or VC bundle member.

vc-class atm

Creates a VC class for an ATM PVC, SVC, or ATM interface, and enters VC-class configuration mode.


mpls ip (global configuration)

To enable Multiprotocol Label Switching (MPLS) forwarding of IP version 4 (IPv4) packets along normally routed paths for the platform, use the mpls ip command in global configuration mode. To disable MPLS forwarding of IPv4 packets, use the no form of this command.

mpls ip

no mpls ip

Syntax Description

This command has no arguments or keywords.

Defaults

MPLS forwarding of IPv4 packets along normally routed paths is enabled 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

MPLS forwarding of IPv4 packets along normally routed paths (sometimes called dynamic label switching) is enabled by this command. Enabling MPLS forwarding of IP packets for the platform does not enable it for a platform interface. For a given interface to perform dynamic label switching, this switching function must be enabled for the interface as well as for the platform.


Note Globally enabling MPLS forwarding of IPv4 packets for the platform is not sufficient by itself to initiate label distribution. The Label Distribution Protocol (LDP)/Tag Distribution Protocol (TDP) is not initialized until you configure MPLS forwarding of IPv4 packets for some interface or you configure a targeted session. See the "mpls ip (interface configuration)" section.


The no form of this command stops dynamic label switching for all platform interfaces, regardless of the interface configuration; it also stops distribution of labels for dynamic label switching. Instead of entering the no mpls ip command individually for each interface, you can stop dynamic label switching on all platform interfaces by entering the command once in global configuration mode. You can then reenable label switching for all platform interfaces by entering an mpls ip command in global configuration mode. (This is commonly known as globally toggling MPLS IP [no mpls ip/mpls ip].)

For a label-controlled ATM (LC-ATM) interface, the no form of this command prevents the establishment of label virtual circuits originating at, terminating at, or passing through the platform.

The no mpls ip command does not affect the sending of labeled packets through label switch path (LSP) tunnels.

Examples

The following example shows how to disable dynamic label switching for the platform and how to terminate all label distribution for the platform:

Router(config)# no mpls ip

Related Commands

Command
Description

mpls ip (interface configuration)

Enables MPLS forwarding of IPv4 packets along normally routed paths for a particular interface.


mpls ip (interface configuration)

To enable Multiprotocol Label Switching (MPLS) forwarding of IP version 4 (IPv4) packets along normally routed paths for a particular interface, use the mpls ip command in interface configuration mode. To disable MPLS forwarding of IPv4 packets, use the no form of this command.

mpls ip

no mpls ip

Syntax Description

This command has no arguments or keywords.

Defaults

MPLS forwarding of IPv4 packets along normally routed paths is disabled for the interface.

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

MPLS forwarding of IPv4 packets along normally routed paths is sometimes called dynamic label switching. If dynamic label switching is enabled for the platform when this command is issued on an interface, label distribution for the interface begins with the periodic transmission of neighbor Discovery Hello messages on the interface. The mpls ip (interface configuration) command works in conjunction with the mpls ip (global configuration) command to enable label distribution for the platform interface. When the outgoing label for a destination that is routed through the interface is known, packets for the destination are assigned that outgoing label and forwarded through the interface.


Note Enabling MPLS forwarding of IPv4 packets for an interface is not sufficient by itself to initiate label distribution. MPLS forwarding of IPv4 packets must also be enabled for the platform before label distribution begins. See the he mpls ip (global configuration) command.


The no form of this command causes packets routed out through the interface to be sent unlabeled; this form of the command also terminates label distribution for the interface. However, the no form of the command does not affect the sending of labeled packets through any LSP tunnels that might use the interface.

For a label-controlled ATM (LC-ATM) interface, the no form of this command prevents the establishment of label virtual circuits beginning at, terminating at, or passing through the interface.

Examples

The following example shows how to enable label switching on the specified Ethernet interface:

Router(config)# configure terminal
Router(config-if)# interface Ethernet 0/2
Router(config-if)# mpls ip

Related Commands

Command
Description

mpls ip (global configuration)

Enables label switching of IPv4 packets along normally routed paths for the platform.

mpls ldp maxhops

Limits the number of hops permitted in an LSP established by the Downstream-on-Demand method of label distribution.

show mpls interfaces

Displays information about one or more interfaces that have been configured for label switching.


mpls ip default-route

To enable the distribution of labels associated with the IP default route, use the mpls ip default-route command in global configuration mode.

mpls ip default-route

Syntax Description

This command has no arguments or keywords.

Defaults

No distribution of labels for the IP default route.

Command Modes

Global configuration

Command History

Release
Modification

11.1 CT

This command was introduced.

12.1(3)T

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


Usage Guidelines

Dynamic label switching (that is, distribution of labels based on routing protocols) must be enabled before you can use the mpls ip default-route command.

Examples

The following example shows how to enable the distribution of labels associated with the IP default route:

Router# configure terminal
Router(config)# mpls ip
Router(config)# mpls ip default-route

Related Commands

Command
Description

mpls ip (global configuration)

Enables MPLS forwarding of IPv4 packets along normally routed paths for the platform.

mpls ip (interface configuration)

Enables MPLS forwarding of IPv4 packets along normally routed paths for a particular interface.


mpls ip encapsulate explicit-null

To encapsulate all packets forwarded from the interface or subinterface with an explicit NULL label header, use the mpls ip encapsulate explicit-null command in interface configuration or subinterface configuration mode. To disable this function, use the no form of this command.

mpls ip encapsulate explicit-null

no mpls ip encapsulate explicit-null

Syntax Description

This command has no arguments or keywords.

Defaults

Packets are sent out without an explicit NULL label header.

Command Modes

Interface configuration
Subinterface configuration

Command History

Release
Modification

12.2(13)T

This command was introduced.


Usage Guidelines

This is a per-interface command. The command establishes an explicit NULL LSP at the customer edge (CE) router. If MPLS is configured on a router and you enter this command, an error message occurs. This command is also supported on the Cisco 2600 series and Cisco 3600 series platforms.

Examples

The following example shows how to encapsulate all packets forwarded onto the interface or subinterface with an explicit NULL label header:

Router(config-if)# mpls ip encapsulate explicit-null 

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

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 forwarded 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 this 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

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 ipv6 source-interface


Note Effective with Cisco IOS Release 12.2(25)S, the mpls ipv6 source-interface command is no longer available in Cisco IOS software.


To specify an IPv6 address of an interface to be used as the source address for locally generated IPv6 packets to be sent over a Multiprotocol Label Switching (MPLS) network, use the mpls ipv6 source-interface command in global configuration mode. To disable this feature, use the no form of this command.

mpls ipv6 source-interface type number

no mpls ipv6 source-interface

Syntax Description

type number

The interface type and number whose IPv6 address is to be used as the source for locally generated IPv6 packets to be sent over an MPLS backbone.

Note A space between the type and number arguments is not required.


Defaults

This command is disabled.

Command Modes

Global configuration

Command History

Release
Modification

12.0(22)S

This command was introduced.

12.2(14)S

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

12.2(25)S

This command was removed and is no longer available in Cisco IOS software.


Usage Guidelines

Use this command in conjunction with the neighbor send-label address family configuration command to allow IPv6 traffic to run over an IPv4 MPLS network without any software or hardware configuration changes in the backbone. Edge routers, configured to run both IPv4 and IPv6, forward IPv6 traffic using MPLS and multiprotocol internal BGP (MP-iBGP).

Examples

The following example shows loopback interface 0 being configured as a source address for locally generated IPv6 packets:

interface Loopback0
 ip address 192.168.99.5 255.255.255.255
 ipv6 address 2001:0DB8::1/32
!
mpls ipv6 source-interface loopback0

Related Commands

Command
Description

neighbor send-label

Advertises the capability of the router to send MPLS labels with BGP routes.


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 does 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 to 200, and the max value is set to 120000. Because the new range does not overlap the current label range, the new range does 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.