Commit 142a9c28 authored by Muhammad Sammar's avatar Muhammad Sammar Committed by Jason Gunthorpe

IB/ipoib: Ensure that MTU isn't less than minimum permitted

It is illegal to change MTU to a value lower than the minimum MTU
stated in ethernet spec. In addition to that we need to add 4 bytes
for encapsulation header (IPOIB_ENCAP_LEN).

Before "ifconfig ib0 mtu 0" command, succeeds while it obviously shouldn't.
Signed-off-by: default avatarMuhammad Sammar <muhammads@mellanox.com>
Reviewed-by: default avatarFeras Daoud <ferasda@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 6c75520f
...@@ -243,7 +243,8 @@ static int ipoib_change_mtu(struct net_device *dev, int new_mtu) ...@@ -243,7 +243,8 @@ static int ipoib_change_mtu(struct net_device *dev, int new_mtu)
return 0; return 0;
} }
if (new_mtu > IPOIB_UD_MTU(priv->max_ib_mtu)) if (new_mtu < (ETH_MIN_MTU + IPOIB_ENCAP_LEN) ||
new_mtu > IPOIB_UD_MTU(priv->max_ib_mtu))
return -EINVAL; return -EINVAL;
priv->admin_mtu = new_mtu; priv->admin_mtu = new_mtu;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment