[ewg] [PATCH] IB/ipoib: send creation parameters with send-only join requests
Moni Shoua
monis at Voltaire.COM
Tue Feb 15 02:14:03 PST 2011
When IPoiB joins to a MC group as send only it doesn't send creation parameters
to the SM and if the group does not exis it won't be created. This is typical
when a gateway sperates ETH receivers from IPoIB senders.
This patch fixes bug #1153 in bugzilla.
Signed-off-by: Yossi Etigin <yosefe at voltaire.com>
Reviewd-by: Moni Shoua <monis at mellanox.com>
--
Index: b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
===================================================================
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2008-11-26 18:28:04.000000000 +0200
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2008-11-26 18:30:41.000000000 +0200
@@ -325,6 +325,7 @@ static int ipoib_mcast_sendonly_join(str
.join_state = 1
#endif
};
+ ib_sa_comp_mask comp_mask;
int ret = 0;
if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags)) {
@@ -341,12 +342,38 @@ static int ipoib_mcast_sendonly_join(str
rec.port_gid = priv->local_gid;
rec.pkey = cpu_to_be16(priv->pkey);
+ comp_mask =
+ IB_SA_MCMEMBER_REC_MGID |
+ IB_SA_MCMEMBER_REC_PORT_GID |
+ IB_SA_MCMEMBER_REC_PKEY |
+ IB_SA_MCMEMBER_REC_JOIN_STATE;
+
+ if (priv->broadcast) {
+ comp_mask |=
+ IB_SA_MCMEMBER_REC_QKEY |
+ IB_SA_MCMEMBER_REC_MTU_SELECTOR |
+ IB_SA_MCMEMBER_REC_MTU |
+ IB_SA_MCMEMBER_REC_TRAFFIC_CLASS |
+ IB_SA_MCMEMBER_REC_RATE_SELECTOR |
+ IB_SA_MCMEMBER_REC_RATE |
+ IB_SA_MCMEMBER_REC_SL |
+ IB_SA_MCMEMBER_REC_FLOW_LABEL |
+ IB_SA_MCMEMBER_REC_HOP_LIMIT;
+
+ rec.qkey = priv->broadcast->mcmember.qkey;
+ rec.mtu_selector = IB_SA_EQ;
+ rec.mtu = priv->broadcast->mcmember.mtu;
+ rec.traffic_class = priv->broadcast->mcmember.traffic_class;
+ rec.rate_selector = IB_SA_EQ;
+ rec.rate = priv->broadcast->mcmember.rate;
+ rec.sl = priv->broadcast->mcmember.sl;
+ rec.flow_label = priv->broadcast->mcmember.flow_label;
+ rec.hop_limit = priv->broadcast->mcmember.hop_limit;
+ }
+
mcast->mc = ib_sa_join_multicast(&ipoib_sa_client, priv->ca,
priv->port, &rec,
- IB_SA_MCMEMBER_REC_MGID |
- IB_SA_MCMEMBER_REC_PORT_GID |
- IB_SA_MCMEMBER_REC_PKEY |
- IB_SA_MCMEMBER_REC_JOIN_STATE,
+ comp_mask,
GFP_ATOMIC,
ipoib_mcast_sendonly_join_complete,
mcast);
More information about the ewg
mailing list