Guest

Cisco IOS Software Releases 12.2 SB

MPLS MTU Command Changes

  • Viewing Options

  • PDF (171.6 KB)
  • Feedback
MPLS MTU Command Changes

Table Of Contents

MPLS MTU Command Changes

Contents

Information About MPLS MTU Command Changes

MPLS MTU Values During Upgrade

Guidelines for Setting MPLS MTU and Interface MTU Values

MPLS MTU Values for Ethernet Interfaces

How to Configure MPLS MTU Values

Setting the Interface MTU and MPLS MTU Values

Setting the MPLS MTU Value on an Ethernet Interface

Configuration Examples for Setting the MPLS MTU Values

Setting the Interface MTU and MPLS MTU: Example

Setting the MPLS MTU Value on an Ethernet Interface: Example

Command Reference

mpls mtu

Feature Information for MPLS MTU Command Changes


MPLS MTU Command Changes


First Published: August 11, 2004
Last Updated: June 19, 2007

This document explains the the behavior of the mpls mtu command in Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and later releases. You cannot set the MPLS MTU value larger than the interface MTU value. This eliminates problems, such as dropped packets, data corruption, and high CPU rates from occurring when MPLS MTU value settings are larger than interface MTU values. Cisco IOS software allows the MPLS MTU value to be higher than the interface MTU value only for interfaces that have a default interface MTU value of 1580 or less.

Finding Feature Information in This Module

Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for MPLS MTU Command Changes" section.

Finding Support Information for Platforms and Cisco IOS Software Images

Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.

Contents

Information About MPLS MTU Command Changes

How to Configure MPLS MTU Values

Configuration Examples for Setting the MPLS MTU Values

Command Reference

Feature Information for MPLS MTU Command Changes

Information About MPLS MTU Command Changes

Before configuring the interface or MPLS MTU values, you should understand the following concepts:

MPLS MTU Values During Upgrade

Guidelines for Setting MPLS MTU and Interface MTU Values

MPLS MTU Values for Ethernet Interfaces

MPLS MTU Values During Upgrade

If you have configuration files with MPLS MTU values that are larger than the interface MTU values and you upgrade to Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH or later releases, the software does not change the MPLS MTU value. When you reboot the router, the software accepts the values that are set for the MPLS MTU and the interface MTU. The following error message is displayed during system initialization:

Setting the mpls mtu to xxxx on interface x/x, which is higher than the interface MTU 
xxxx. This could lead to packet forwarding problems including packet drops. 

You must set the MPLS MTU values equal to or lower than the interface MTU values.

Caution If you do not set the MPLS MTU less than or equal to the interface MTU, data corruption, dropped packets, and high CPU conditions can occur.

Guidelines for Setting MPLS MTU and Interface MTU Values

When configuring the network to use MPLS, set the core-facing interface MTU values greater than the edge-facing interface MTU values, using one of the following methods:

Set the interface MTU values on the core-facing interfaces to a higher value than the interface MTU values on the customer-facing interfaces to accommodate any packet labels, such as MPLS labels, that an interface might encounter. Make sure that the interface MTUs on the remote end interfaces have the same interface MTU values. The interface MTU values on both ends of the link must match.

Set the interface MTU values on the customer-facing interfaces to a lower value than the interface MTU on the core-facing interfaces to accommodate any packet labels, such as MPLS labels, than an interface might encounter. When you set the interface MTU on the edge interfaces, ensure that the interface MTUs on the remote end interfaces have the same values. The interface MTU values on both ends of the link must match.

Changing the interface MTU can also modify the IP MTU, Connectionless Network Service (CLNS) MTU, and other MTU values, because they depend on the value of the interface MTU. The Open Shortest Path First (OSPF) routing protocol requires that the IP MTU values match on both ends of the link. Similarly, the Intermediate System-to-Intermediate System (IS-IS) routing protocol requires that the CLNS MTU values match on both ends of the link. If the values on both ends of the link do not match, IS-IS or OSPF cannot complete its initialization.

If the configuration of the adjacent router does not include the mpls mtu and mtu commands, add these commands to the router.


Note The MPLS MTU setting is displayed only in the show running-config output if the MPLS MTU value is different from the interface MTU value. If the values match, only the interface MTU value is displayed.


If you attempt to set the MPLS MTU value higher than the interface MTU value, the software displays the following error, which reminds you to set the interface MTU to a higher value before you set the MPLS MTU value:

% Please increase interface mtu to xxxx and then set mpls mtu

MPLS MTU Values for Ethernet Interfaces

If you have an interface with a default interface MTU value of 1580 or less (such as an Ethernet interface), the mpls mtu command provides an override keyword, which allows you to set the MPLS MTU value higher than the interface MTU value. The override keyword is not available for interface types that do not have a default interface MTU value of 1580 or less. For configuration details, see the "Setting the MPLS MTU Value on an Ethernet Interface" section.

Setting the MPLS MTU value higher than the Ethernet interface MTU value can lead to dropped packets, data corruption, or high CPU rates. When you set the MPLS MTU value higher than the Ethernet interface MTU value, the software displays the following message:

%MFI-30-MPLS_MTU_SET: Setting the mpls mtu to xxxx on Ethernet x/x, which is higher than 
the interface MTU xxxx. This could lead to packet forwarding problems including packet 
drops. 
Most drivers will be able to support baby giants and will gracefully drop packets that are 
too large. Certain drivers will have packet forwarding problems including data corruption. 
Setting the mpls mtu higher than the interface mtu can lead to packet forwarding problems 
and may be blocked in a future release. 

Note The override keyword is supported in Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and later releases, but may not be supported in a future release.


How to Configure MPLS MTU Values

The following sections explain how to configure MPLS MTU and interface MTU values:

Setting the Interface MTU and MPLS MTU Values

Setting the MPLS MTU Value on an Ethernet Interface

Setting the Interface MTU and MPLS MTU Values

Use the following steps to set the interface MTU and the MPLS MTU.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type slot/port

4. mtu bytes

5. mpls mtu bytes

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type slot/port

Example:

Router(config)# interface Serial 1/0

Enters interface configuration mode to configure the interface.

Step 4 

mtu bytes

Example:

Router(config-if) mtu 1520

Sets the interface MTU size.

Step 5 

mpls mtu bytes

Example:

Router(config-if) mpls mtu 1520

Sets the MPLS MTU to match the interface MTU.

Setting the MPLS MTU Value on an Ethernet Interface

Use the following steps to set the MPLS MTU value on an Ethernet interface.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type slot/port

4. mpls mtu override bytes

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type slot/port

Example:

Router(config)# interface ethernet 1/0

Enters interface configuration mode to configure the Ethernet interface.

Step 4 

mpls mtu override bytes

Example:

Router(config-if) mpls mtu override 1510

Sets the MPLS MTU to a value higher than the interface MTU value.


Caution Setting the MPLS MTU value higher than the Ethernet interface MTU value can lead to dropped packets, data corruption, or high CPU rates.

Configuration Examples for Setting the MPLS MTU Values

This section includes the following examples:

Setting the Interface MTU and MPLS MTU: Example

Setting the MPLS MTU Value on an Ethernet Interface: Example

Setting the Interface MTU and MPLS MTU: Example

The following example shows how to set the interface and MPLS MTU values. The serial interface in the following configuration examples is at the default interface MTU value. The MPLS MTU value is not set. The interface settings are as follows:

interface Serial 4/0
 ip unnumbered Loopback0
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000
end

The following example attempts to set the MPLS MTU value to 1520. This returns an error, because the MPLS MTU value cannot be set to a greater value than the interface MTU.

Router# configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# interface serial 4/0

Router(config-if)# mpls mtu 1520

% Please increase interface mtu to 1520 and then set mpls mtu

The following example first sets the interface MTU to 1520 and then sets the MPLS MTU to 1520:

Router(config-if)# mtu 1520
Router(config-if)# mpls mtu 1520

The following example shows the new interface MTU value. The MPLS MTU value is not displayed, because it is equal to the interface value.

Router# show running-config interface serial 4/0

Building configuration...
interface Serial4/0
 mtu 1520
 ip unnumbered Loopback0
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000
end

The following example sets the MPLS MTU value to 1510:

Router(config-if)# mpls mtu 1510

The following example shows the new interface MTU value. The MPLS MTU value is displayed, because it is different than the interface MTU value.

Router# show running-config interface serial 4/0

Building configuration...
interface Serial4/0
 mtu 1520
 ip unnumbered Loopback0
 mpls mtu 1510
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000
end

Setting the MPLS MTU Value on an Ethernet Interface: Example


Caution Setting the MPLS MTU value higher than the Ethernet interface MTU value can lead to dropped packets, data corruption, or high CPU rates.

The following example shows how to set the MPLS MTU values on an Ethernet interface. The Ethernet interface in the following configuration examples is at the default interface MTU value. The MPLS MTU value is not set. The interface settings are as follows:

interface Ethernet 2/0
 ip unnumbered Loopback0
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000
end

The following example uses the override keyword to set the MPLS MTU to 1520, which is higher than the Ethernet interface's MTU value:

Router(config-if)# mpls mtu override 1520

%MFI-30-MPLS_MTU_SET: Setting the mpls mtu to 1520 on Ethernet2/0, which is higher than 
the interface MTU 1500. This could lead to packet forwarding problems including packet 
drops. 

The following example shows the new MPLS MTU value:

Router# show running-config interface serial 4/0

Building configuration...
interface Ethernet 2/0
 mtu 1500
 ip unnumbered Loopback0
 mpls mtu 1520
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000
end

Command Reference

This section documents the following modified command:

mpls mtu

mpls mtu

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

mpls mtu [override] bytes

no mpls mtu

Syntax Description

override

(Optional) Allows you to set the MPLS MTU value higher than the interface MTU value on interfaces (such as Ethernet) that have a default interface MTU value of 1580 or less. The override keyword is not available for interface types that do not have a default MTU value of 1580 or less.

bytes

The MTU in bytes includes the label stack in the value.


Defaults

The default MPLS MTU is the MTU configured for the interface.

Command Modes

Interface configuration

Command History

Release
Modification

11.1CT

This command was introduced.

12.1(3)T

This command was modified to incorporate new MPLS terminology.

12.2(25)S

The command changed the maximum allowable MPLS MTU values. See the "Usage Guidelines for Cisco IOS Release 12.2(25)S" section for more information.

12.2(27)SBC

The command changed so that you cannot set the MPLS MTU value larger than the interface MTU value. The override keyword was introduced. See the "Usage Guidelines for Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and Later Releases" section for more information.

12.(28)SB

This command was integrated into Cisco IOS Release 12.2(28)SB.

12.2(33)SRA

This command was integrated into Cisco IOS Release 12.2(33)SRA.

12.4(11)T

This command was integrated into Cisco IOS Release 12.4(11)T.

12.2(33)SXH

This command was integrated into Cisco IOS Release 12.2(33)SXH.


Usage Guidelines

Usage Guidelines for Cisco IOS Release 12.2(25)S


Caution Although you can set the MPLS MTU to a value greater than the interface MTU, set the MPLS MTU less than or equal to the interface MTU to prevent data corruption, dropped packets, and high CPU conditions. A best practice is to set the interface MTU of the core-facing interface to a value greater than either the IP MTU or interface MTU of the edge-facing interface.

If the interface MTU is less than 1524 bytes, you can set the maximum MPLS MTU to 24 bytes more than the interface MTU. For example, if the interface MTU is set to 1510 bytes, then you can set the maximum MPLS MTU to 1534 bytes (1510 + 24).

If the interface MTU is greater than or equal to 1524 bytes, then you can set the maximum MPLS MTU as high as the interface MTU. For example, if the interface MTU is set to 1600 bytes, then you can set the MPLS MTU to a maximum of 1600 bytes. If you set the MPLS MTU higher than the interface MTU, traffic is dropped.

For interfaces that do not allow you to configure the interface MTU value and the interface MTU is
1500 bytes, the MPLS MTU range is 64 to 1524 bytes.

If you upgrade to Cisco IOS Release 12.2(25)S from an earlier release and you have an MPLS MTU setting that does not conform to these guidelines, the MPLS MTU setting is not accepted by the system. If this happens, reconfigure the MPLS MTU setting to conform to the guidelines.

Usage Guidelines for Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and Later Releases

In Cisco IOS Release 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and later releases, you cannot set the MPLS MTU value larger than the interface MTU value. This is to prevent conditions such as dropped packets, data corruption, and high CPU rates.

If you attempt to set the MPLS MTU value higher than the interface MTU value, the software displays the following error, which reminds you to set the interface MTU to a higher value before you set the MPLS MTU value:

% Please increase interface mtu to xxxx and then set mpls mtu

If you have an interface with a default interface MTU value of 1580 or less (such as an Ethernet interface), the mpls mtu command provides the override keyword, which allows you to set the MPLS MTU value higher than the interface MTU value. The override keyword is not available for interface types that do not have a default interface MTU value of 1580 or less.


Note The override keyword is supported in 12.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, and later releases.


If you have configuration files with MPLS MTU values that are larger than the interface MTU values and you upgrade to Cisco IOS Release 2.2(27)SBC, 12.2(33)SRA, 12.4(11)T, 12.2(33)SXH, or a later release, the software does not change the MPLS MTU value. When you reboot the router, the software accepts whatever values are set for the MPLS MTU and the interface MTU. The following error message is displayed during system initialization:

Setting the mpls mtu to xxxx on interface x/x, which is higher than the interface MTU 
xxxx. This could lead to packet forwarding problems including packet drops. 

Make the MPLS MTU values lower than the interface MTU values. 

Caution If you do not set the MPLS MTU less than or equal to the interface MTU, data corruption, dropped packets, and high CPU conditions can occur.

Changing the interface MTU can also modify the IP MTU, Connectionless Network Service (CLNS) MTU, and other MTU values, if they depend on the value of the interface MTU. The Open Shortest Path First (OSPF) routing protocol requires that the IP MTU values match on both ends of the link. Similarly, the Intermediate System-to-Intermediate System (IS-IS) routing protocol requires that the CLNS MTU values match on both ends of the link. If the values on both ends of the link do not match, IS-IS or OSPF cannot complete its initialization.

General Usage Guidelines

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. In Cisco IOS Release 12.2(25)S and later releases, the MPLS MTU cannot be larger than the interface MTU.

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 commands set the interface MTU value and MPLS MTU value for a serial interface:

interface Serial4/0
 mtu 1520
 ip unnumbered Loopback0
 mpls mtu 1510
 mpls traffic-eng tunnels
 mpls ip
 serial restart-delay 0
 ip rsvp bandwidth 2000 2000

The following example sets the maximum labeled packet size for the FastEthernet interface to 1508, which is common in an MPLS core carrying MPLS Virtual Private Network (VPN) traffic:

interface Fastethernet0
  mpls mtu override 1508

Related Commands

Command
Description

mtu

Sets the MTU size for the interface.


Feature Information for MPLS MTU Command Changes

Table 1 lists the release history for this feature.

Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.

Cisco IOS software images are specific to a Cisco IOS software release, a feature set, and a platform. Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.


Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.


Table 1 Feature Information for MPLS MTU Command Changes 

Feature Name
Releases
Feature Information

MPLS MTU Command Changes

12.2(27)SBC
12.2(28)SB
12.2(33)SRA
12.4(11)T
12.2(33)SXH

This document explains the changes to the mpls mtu command. You cannot set the MPLS MTU value larger than the interface MTU value, except for Ethernet interfaces.

In 12.2(28)SB, support was added for the Cisco 10000 router.

In 12.2(33)SRA, support was added for the Cisco 7600 series router.

This feature was integrated into Cisco IOS Release 12.4(11)T.

This feature was integrated into Cisco IOS Release 12.2(33)SXH.

The following sections provide information about this feature:

Information About MPLS MTU Command Changes

How to Configure MPLS MTU Values

Configuration Examples for Setting the MPLS MTU Values