IB/ipoib: Set MTU to max allowed by mode when mode changes
authorErez Shitrit <erezsh@mellanox.com>
Sun, 7 Jun 2015 10:36:11 +0000 (13:36 +0300)
committerDoug Ledford <dledford@redhat.com>
Tue, 14 Jul 2015 17:20:13 +0000 (13:20 -0400)
When switching between modes (datagram / connected) change the MTU
accordingly.
datagram mode up to 4K, connected mode up to (64K - 0x10).

Signed-off-by: ELi Cohen <eli@mellanox.com>
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index 59604a7e5e3e84f0d556ae09ea235acdb41ab542..b2943c84a5dda0aecdd8904917f2ebbb02b9b013 100644 (file)
@@ -232,6 +232,7 @@ int ipoib_set_mode(struct net_device *dev, const char *buf)
                ipoib_warn(priv, "enabling connected mode "
                           "will cause multicast packet drops\n");
                netdev_update_features(dev);
+               dev_set_mtu(dev, ipoib_cm_max_mtu(dev));
                rtnl_unlock();
                priv->tx_wr.send_flags &= ~IB_SEND_IP_CSUM;