aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Cohen <eli@dev.mellanox.co.il>2008-04-29 16:46:53 -0400
committerRoland Dreier <rolandd@cisco.com>2008-04-29 16:46:53 -0400
commitb4132efa1a47858d741ecb05b8735e6fcb603bc8 (patch)
tree7345487035fb8725d5f6d3edeaf23839eef1da7e
parentbaaad380c0aa955f7d62e846467316c94067f1a5 (diff)
IPoIB: Copy child MTU from parent
When creating a child interface, copy the MTU information from the parent. Otherwise when the child's multicast join completes, the MTU will not be updated since the code does dev->mtu = min(priv->mcast_mtu, priv->admin_mtu); and priv->admin_mtu will be set to 0. Signed-off-by: Eli Cohen <eli@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_vlan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c
index 431fdeaa2dc4..1cdb5cfb0ff1 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c
@@ -90,6 +90,9 @@ int ipoib_vlan_add(struct net_device *pdev, unsigned short pkey)
90 } 90 }
91 91
92 priv->max_ib_mtu = ppriv->max_ib_mtu; 92 priv->max_ib_mtu = ppriv->max_ib_mtu;
93 /* MTU will be reset when mcast join happens */
94 priv->dev->mtu = IPOIB_UD_MTU(priv->max_ib_mtu);
95 priv->mcast_mtu = priv->admin_mtu = priv->dev->mtu;
93 set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags); 96 set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags);
94 97
95 priv->pkey = pkey; 98 priv->pkey = pkey;