Re: [PATCH v3 net-next 2/2] net: deprecate eth_change_mtu, remove usage

From: David Miller
Date: Mon Oct 17 2016 - 13:26:41 EST


From: Jakub Kicinski <kubakici@xxxxx>
Date: Mon, 17 Oct 2016 18:20:49 +0100

> Hm. I must be missing something really obvious. I just booted
> net-next an hour ago and couldn't set MTU to anything larger than 1500
> on either nfp or igb. As far as I can read the code it will set the
> max_mtu to 1500 in setup_ether() but none of the jumbo-capable drivers
> had been touched by Jarod so far...

Indeed.

Jarod, this doesn't work.

I guess the idea was that if the driver overrides ndo_change_mtu and
enforeced it's limits there, the driver would still work after your
changes.

But that isn't what is happening, look at the IGB example.

It uses ether_setup(), which sets those new defaults, but now when
the MTU is changed you enforce those default min/max before the
driver's ->ndo_change_mtu() has a change to step in front and make
the decision on it's own.

This means your changes pretty much did indeed break a lot of
drivers's ability to set larger than a 1500 byte MTU.