Bug 194855

Summary: VLAN interface MTU does not change on changing the base interface MTU
Product: Base System Reporter: Praveen <praveenchoudary.gokina>
Component: kernAssignee: Gleb Smirnoff <glebius>
Status: New ---    
Severity: Affects Many People CC: glebius, john, melifaro
Priority: ---    
Version: 10.0-RELEASE   
Hardware: amd64   
OS: Any   

Description Praveen 2014-11-06 04:24:25 UTC
Testmachine details:

OS:  FREEBSD 10.0

We are using Emulex skyhawk adapter.

oce0@pci0:4:0:0:        class=0x020000 card=0xe80110df chip=0x072010df rev=0x10 hdr=0x00
    vendor     = 'Emulex Corporation'
    device     = 'OneConnect NIC (Skyhawk)'
    class      = network
    subclass   = ethernet
    bar   [10] = type Prefetchable Memory, range 64, base rxfb340000, size 16384, enabled
    bar   [18] = type Prefetchable Memory, range 64, base rxfb320000, size 131072, enabled
    bar   [20] = type Prefetchable Memory, range 64, base rxfb300000, size 131072, enabled


Steps to recreate problem:

1. Create a VLAN on a jumbo MTU enabled interface.

ifconfig oce0 mtu 9000 up
ifconfig vlan4 create
ifconfig vlan4 vlan 4 vlandev oce0

2. Change the MTU of the base interface to 1500

ifconfig oce0 mtu 1500

ACTUAL RESULTS :

VLAN interface MTU does not change to 1500, still shows 9000.

EXPECTED RESULT:

VLAN interface MTU should change to the base interface MTU value.
Comment 1 John Nielsen 2015-03-09 18:30:30 UTC
I don't think that VLAN MTU should change automatically. In the example given it does make sense to either give a warning or prevent the parent interface MTU from being reduced smaller than any of the VLAN MTU (or conversely increasing the VLAN MTU above that of the parent), but I don't think that increasing the MTU on the parent should have any effect on the VLAN interfaces' MTU. I have certainly had cases where I used different MTU settings for different VLANs on the same parent interface (but of course not higher than the parent).
Comment 2 Praveen 2015-03-10 03:45:07 UTC
In Linux, when we change parent interface mtu, it will automatically update vlan mtu.

We can either make it similar to Linux or handle as you said 

"give a warning or prevent the parent interface MTU from being reduced smaller than any of the VLAN MTU (or conversely increasing the VLAN MTU above that of the parent)".