
On 01/10/2012, at 8:12, James Harper <james.harper@bendigoit.com.au> wrote:
I want my regular eth0 interface to have an MTU of 1500, and have eth0.12 with an MTU of 9000, but Linux seems to want to keep the MTU consistent across all VLAN interfaces.
Has anyone done this before? I don't know if it's a limitation of my Ethernet hardware or of Linux. In theory, as long as Linux only transmits <=1500 byte packets it shouldn't matter what the underlying hardware is set to, so I don't know why this restriction exists.
The base interface needs to have an MTU at least that of any vlan interface, but you should be able to set each vlan interface MTU to any value.
However each vlan interface MTU will need to be set explicitly, else it will inherit the MTU on creation.
What distro are you using? On Debian my interfaces file is similar to:
iface eth0 inet manual up ip link set $DEV up mtu 1540
iface eth0.10 inet static ... mtu 1500
I need it the other way around - eth0=1500, eth0.12=9000. I can't think of a reason why the hardware MTU couldn't be set to 9000 on the physical interface, but that Linux just doesn't send packets larger than 1500 on eth0. I guess I'll need to play with the switch to put vlan1 on another tagged vlan. Thanks James