aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br.c
diff options
context:
space:
mode:
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>2018-03-30 13:46:19 +0300
committerDavid S. Miller <davem@davemloft.net>2018-03-31 22:19:00 -0400
commit804b854d374e39f5f8bff9638fd274b9a9ca7d33 (patch)
tree3c81eed86eff79013e00169ac749661b7d6b4ca4 /net/bridge/br.c
parentnet: bridge: set min MTU on port events and allow user to set max (diff)
downloadlinux-dev-804b854d374e39f5f8bff9638fd274b9a9ca7d33.tar.xz
linux-dev-804b854d374e39f5f8bff9638fd274b9a9ca7d33.zip
net: bridge: disable bridge MTU auto tuning if it was set manually
As Roopa noted today the biggest source of problems when configuring bridge and ports is that the bridge MTU keeps changing automatically on port events (add/del/changemtu). That leads to inconsistent behaviour and network config software needs to chase the MTU and fix it on each such event. Let's improve on that situation and allow for the user to set any MTU within ETH_MIN/MAX limits, but once manually configured it is the user's responsibility to keep it correct afterwards. In case the MTU isn't manually set - the behaviour reverts to the previous and the bridge follows the minimum MTU. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br.c')
-rw-r--r--net/bridge/br.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c
index 565ff055813b..671d13c10f6f 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -52,7 +52,7 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
switch (event) {
case NETDEV_CHANGEMTU:
- dev_set_mtu(br->dev, br_mtu(br, false));
+ br_mtu_auto_adjust(br);
break;
case NETDEV_CHANGEADDR: