diff options
author | dingtianhong <dingtianhong@huawei.com> | 2014-05-13 08:39:27 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-14 21:35:03 +0200 |
commit | 3763e7ef17143f5e9ae044638e65d2b0c0305fcf (patch) | |
tree | 2db78cfb6855a1bc040fb55915a13fbe47b53ef4 /drivers/net/macvlan.c | |
parent | dccp: make the request_retries minimum is 1 (diff) | |
download | linux-3763e7ef17143f5e9ae044638e65d2b0c0305fcf.tar.xz linux-3763e7ef17143f5e9ae044638e65d2b0c0305fcf.zip |
macvlan: Propagate lowerdev MTU changes
When the physical MTU changes we should ensure that all existing MACVLAN
dev MTU do not exceed the new lowerdev MTU. This patch adds that
propagation.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Reviewed-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index f0118d1a3e46..e03707de1eee 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1091,6 +1091,13 @@ static int macvlan_device_event(struct notifier_block *unused, netdev_update_features(vlan->dev); } break; + case NETDEV_CHANGEMTU: + list_for_each_entry(vlan, &port->vlans, list) { + if (vlan->dev->mtu <= dev->mtu) + continue; + dev_set_mtu(vlan->dev, dev->mtu); + } + break; case NETDEV_UNREGISTER: /* twiddle thumbs on netns device moves */ if (dev->reg_state != NETREG_UNREGISTERING) |