MTU Troubleshooting on Cisco IOS

Hello David

The tunnel transport MTU of 1476 is as you described it. It is essentially the maximum size that the unencapsulated packet can have before it is encapsulated on the Layer 2 physical interface. The fact that GRE uses 4 additional bytes, plus 20 bytes for the additional IP header requires that the maximum MTU of the packet that will then be encapsulated over Ethernet be 1500-24=1476. This is the default of a GRE tunnel transport MTU.

Now the MTU of 17916 is that of the virtual tunnel interface. That tunnel interface can handle MTUs of that size. If a packet of that size arrives on the tunnel interface, it would need to be fragmented before it can be encapsulated into the tunneled packets, based on the tunnel transport MTU. So yes you are correct when you say:

You can set the ip mtu of the tunnel interface, but this will not change the MTU or the transport MTU of the tunnel interface as shown in the output of your post. This is because these are different values and serve different purposes.

The ip mtu setting focuses on the size of the IP payload before tunnel encapsulation while the tunnel transport MTU focuses on the size of the packet after it has been encapsulated and is ready to be transported over the underlying network.

On a Cisco device, when you configure a tunnel interface (like a GRE tunnel), the default value for the ip mtu of the tunnel interface is typically set to 1400 bytes. This is a default on some platforms, while others may have a slightly different value. This default is chosen as a conservative value to reduce the likelihood of fragmentation due to the overhead introduced by tunneling protocols.

Again, the typical default bandwidth value set on GRE tunnels on Cisco devices is 100Kbps. You should consider changing this to make sure that your IGPs and QoS mechanisms work correctly.

I hope this has been helpful!

Laz

1 Like