The maximum MTU I can set is between 9000 an 10,000 for a Ethernet interface.

I have the following message for high values

ifconfig eth0 mtu 10000
SIOCSIFMTU: Invalid argument

What is the origin of this limitation and how can I find the limit value without using bruteforce?

  • 1
    I guess you'll find it in your kernel source. However you will need to consider the maximum MTU supported by your switch infrastructure and other devices on the VLAN. – marctxk Nov 2 '16 at 13:03
  • 1
    The maximum MTU for Ethernet is 1500 and a maximum of 9000 bytes when using Jumbo frames, providing your switches support this. Not sure where you got the range 9000 to 10,000 from as this is not correct as per Ethernet standards. – SleepyMan Nov 2 '16 at 13:08
  • Force10 uses 12K :) – Jacob Evans Nov 3 '16 at 1:09
  • Unfortunately, questions about host configurations are off-topic here. There is no actual standard for jumbo ethernet frames. The ethernet standard is 1518 for frames without VLAN tags, and 1522 for frames with VLAN tags, and not all devices even support the frame size with VLAN tags. – Ron Maupin Nov 3 '16 at 1:26

9k is the standard for "jumbo frames" on host interfaces, switches must support higher numbers to allow for vlans and other extra header info.

Cisco 9216 Force10 12K

This has a lot to do with the back-plane buffer size, some ISP's support 9K globally (Hurricane Electric).

On a host you should never exceed 9K. You must control all systems end to end or you'll spend more time trying to figure out what packet fits. This is why SANs are typically 9K, it fits a NTFS block nicely AND you control all devices and switches (SAN, HBA and Switch), cutting down on the number of trips to move your data.

Not the answer you're looking for? Browse other questions tagged or ask your own question.