Overview of MPLS MTU
The MTU of an interface determines whether a packet is too large to be transmitted across it. You can configure three types of MTU values on a router interface:
-
Layer 2 (L2) or Ethernet MTU which specifies the maximum transmittable size of the packet, measured from the ethernet header until the end of the packet. The default value of L2 MTU for a main interface is 1514 bytes. This value is configurable with the mtu command.
-
IP MTU which specifies the maximum transmittable size of the packet, measured from the IP header until the end of the packet. This value is applicable only for unlabeled IPv4 or IPv6 packets. The default value of IP MTU is L2 MTU subtracted by 14 bytes which is the size of the ethernet header of the main interface. You can configure the IP MTU with the ip mtu command.
-
MPLS MTU which specifies the maximum transmittable size of the packet measured from the MPLS labels until the end of the packet. This value is applicable only for labeled packets. The default value of MPLS MTU is L2 MTU subtracted by 14 bytes which is the size of the ethernet header of the main interface. You can configure the MPLS MTU with the mpls mtu command.
The following figure depicts the different portions of the egress packet that the router considers for MTU checks.
In an IPv4 network with MPLS enabled, the Label Switching Routers add one or more MPLS labels to all IPv4 packets. Each label is 4 bytes. So, a packet with n number of labels, would have n x 4 bytes added to it. Consider that the maximum size of an IPv4 packet on this network is 1592 bytes. If the router imposes a maximum of two labels on all IPv4 packets transmitted, then you can set the following values for L2 MTU and MPLS MTU:
-
L2 MTU = 1592 + size of two MPLS labels + size of the ethernet header = 1592 + (2 x 4) + 14 = 1614 bytes
-
MPLS MTU = 1592 + size of two MPLS labels = 1592 + (2 x 4) = 1600 bytes
Configuring these values ensures that the router can transmit all IPv4 packets without fragmentation or packet drops.
In cases where the MPLS frame size exceeds the MPLS MTU of the interface, the router sends the packet to the LC CPU for exception processing. Exception processing depends on whether the underlying packet is IPv4 or IPv6.
If an MPLS frame exceeds MPLS MTU and has an underlying IPv4 packet, then the LC CPU fragments or drops the packet based on the Don't Fragment (DF) bit. DF bit is a bit within the IP header that determines whether a router can fragment a packet. The packet originator usually sets the DF bit. But it's possible for any device in the path to set it too.
-
If the DF bit isn't set, the LC CPU of the router fragments the packet. After fragmentation, the LC CPU attaches the MPLS header on each of the fragments, and then forwards each fragment to the destination. Since all fragments require their own header, it adds bandwidth overheads and is not desirable.
-
If the DF bit is set, the LC CPU of the router drops the packet and generates ICMP unreachable messages which the router sends to the device where the packet originated.
If the MPLS frame that exceeded MPLS MTU has an underlying IPv6 packet, the LC CPU drops the packet and generates ICMPv6 packet-too-big messages which the router sends to the device where the packet originated.
Note |
There are two scenarios where the router applies a default value of MPLS MTU, that equals the L2 MTU subtracted by the ethernet header size of the main interface, which is 14 bytes:
The MTU field in the output of the command show interface interface-name displays the L2 MTU of the interface.
|
For more information on IP MTU and L2 MTU, refer the topics IP MTU and Ethernet MTU in the chapter Configuring Ethernet Interfaces in the Interface and Hardware Component Configuration Guide for Cisco 8000 Series Routers.
Restrictions for MPLS MTU
The following restrictions apply for MPLS MTU:
-
Routers and line cards with the Cisco Silicon One Q200, Q201, or Q202 ASIC support the MPLS MTU feature. For more information on the routers and line cards with the Q200, Q201, or Q202 ASIC, refer Cisco 8000 Series Routers Data Sheet.
-
If you configure MPLS MTU to a value greater than the L2 MTU, the router restricts the MPLS MTU to the value that equals the L2 MTU subtracted by the L2 header size of the main interface, which is 14 bytes.
-
You can't configure MPLS MTU on Bridged Virtual Interfaces (BVI). Instead, the router applies a default MPLS MTU that equals the L2 MTU subtracted by the L2 header size of the BVI, which is 14 bytes.