Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1617024
| From | David Miller <davem@davemloft.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH net-next] net: stmmac: allow changing the MTU while the interface is running |
| Date | 2017-04-05 17:00 +0200 |
| Message-ID | <tsUzD-3Vt-11@gated-at.bofh.it> (permalink) |
| References | <tsvBg-4KM-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Niklas Cassel <niklas.cassel@axis.com> Date: Tue, 4 Apr 2017 14:18:54 +0200 > From: Niklas Cassel <niklas.cassel@axis.com> > > Setting ethtool ops for stmmac is only allowed when the interface is up. > Setting MTU (a netdev op) for stmmac is only allowed when the interface > is down. > > It seems that the only reason why MTU cannot be changed when running is > that we have not bothered to implement a nice way to dealloc/alloc the > descriptor rings. > > To make it less confusing for the user, call ndo_stop() and ndo_open() > from ndo_change_mtu(). This is not a nice way to dealloc/alloc the > descriptor rings, since it will announce that the interface is being > brought down/up to user space, but there are several other drivers doing > it this way, and it is arguably better than just returning -EBUSY. > > Signed-off-by: Niklas Cassel <niklas.cassel@axis.com> You can't do this with no error handling. Instead, you must do this using a "prepare", "commit" sequence. First making sure you can reallocate all necessary resources, and make the config change, before actually doing so. You're not even checking if the re-open fails, meaning that an MTU change can cause the interface to shut down. That is simply not acceptable.
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH net-next] net: stmmac: allow changing the MTU while the interface is running Niklas Cassel <niklas.cassel@axis.com> - 2017-04-04 14:20 +0200 Re: [PATCH net-next] net: stmmac: allow changing the MTU while the interface is running David Miller <davem@davemloft.net> - 2017-04-05 17:00 +0200
csiph-web