Re: [PATCH net] net: vlan: allow vlan device MTU change follow real device from smaller to bigger

From: Guillaume Nault
Date: Wed Feb 23 2022 - 11:58:46 EST


On Wed, Feb 23, 2022 at 08:03:42AM -0800, Jakub Kicinski wrote:
> On Wed, 23 Feb 2022 12:26:18 +0100 Guillaume Nault wrote:
> > Do you mean something like:
> >
> > ip link set dev eth0 vlan-mtu-policy <policy-name>
> >
> > that'd affect all existing (and future) vlans of eth0?
>
> I meant
>
> ip link set dev vlan0 mtu-policy blah
>
> but also
>
> ip link set dev bond0 mtu-policy blah
>
> and
>
> ip link set dev macsec0 mtu-policy blah2
> ip link set dev vxlan0 mtu-policy blah2
>
> etc.

Unless I'm missing something, that looks very much like what I proposed
(these are all ARPHRD_ETHER devices). It's just a bit unclear whether
"ip link set dev vlan0 mtu-policy blah" applies to vlan0 or to the vlans
that might be stacked on top of it (given your other examples, I assume
it's the later).

> > Then I think that for non-ethernet devices, we should reject this
> > option and skip it when dumping config. But yes, that's another
> > possibility.
> >
> > I personnaly don't really mind, as long as we keep a clear behaviour.
> >
> > What I'd really like to avoid is something like:
> > - By default it behaves this way.
> > - If you modified the MTU it behaves in another way
> > - But if you modified the MTU but later restored the
> > original MTU, then you're back to the default behaviour
> > (or not?), unless the MTU of the upper device was also
> > changed meanwhile, in which case ... to be continued ...
> > - BTW, you might not be able to tell how the VLAN's MTU is going to
> > behave by simply looking at its configuration, because that also
> > depends on past configurations.
> > - Well, and if your kernel is older than xxx, then you always get the
> > default behaviour.
> > - ... and we might modify the heuristics again in the future to
> > accomodate with situations or use cases we failed to consider.
>
> To be honest I'm still not clear if this is a real problem.
> The patch does not specify what the use case is.

It's probably not a problem as long as we keep sane behaviour by
default. Then we can let admins opt in for something more complex or
loosely defined.