mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
net: bridge: set min MTU on port events and allow user to set max
Recently the bridge was changed to automatically set maximum MTU on port events (add/del/changemtu) when vlan filtering is enabled, but that actually changes behaviour in a way which breaks some setups and can lead to packet drops. In order to still allow that maximum to be set while being compatible, we add the ability for the user to tune the bridge MTU up to the maximum when vlan filtering is enabled, but that has to be done explicitly and all port events (add/del/changemtu) lead to resetting that MTU to the minimum as before. Suggested-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
56c03cbf8c
commit
f40aa23339
4 changed files with 18 additions and 32 deletions
|
@ -224,7 +224,8 @@ static void br_get_stats64(struct net_device *dev,
|
|||
static int br_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
struct net_bridge *br = netdev_priv(dev);
|
||||
if (new_mtu > br_mtu(br))
|
||||
|
||||
if (new_mtu > br_mtu(br, br_vlan_enabled(dev)))
|
||||
return -EINVAL;
|
||||
|
||||
dev->mtu = new_mtu;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue