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>
This commit is contained in:
dingtianhong 2014-05-13 14:39:27 +08:00 committed by David S. Miller
parent 8ba7e7bfc3
commit 3763e7ef17

View file

@ -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)