Re: [PATCH] net:bridge:always disable auto-tuning when the user specified MTU

From: Stephen Hemminger
Date: Tue Apr 09 2019 - 22:39:18 EST


On Wed, 10 Apr 2019 02:32:08 +0000
Huang Rui <huangruippp@xxxxxxxxx> wrote:

> For example.
> My purpose is to create a bridge br0 and join eth0 into br0.
> if we use this following way, the auto-tuning flag will not be disabled.
>
> If eth0's mtu is 1200
> step 1.brctl addbr br0
> step 2.brctl addif br0 eth0
> step 3.ifconfig br0 mtu 1200
> step 4.ifconfig eth0 mtu 1500
>
> Result:
> br0's MTU: 1500, eth0's MTU: 1500
>
> Expected:
> br0's MTU: 1200, eth0's MTU: 1500
>
> I have specified br0's MTU, but auto-min policy works. So the MTU is
> not the result what we expected.
> As expected, if i have specified bridge's MTU, it will set the flag:
> BROPT_MTU_SET_BY_USER in net_bridge_opts disabled and auto-min/max
> policy will not work.But in this case, because the dev_set_mtu return
> early, the BROPT_MTU_SET_BY_USER flag will not be disabled and
> auto-min/max policy will still work.
>
> Signed-off-by: Huang Rui <huangruiPPP@xxxxxxxxx>

A bridge like this going to drop frames.
A frame received with MTU of 1200 will get dropped.
The proper way to do this is to change MTU of both interfaces to match.