[ewg] [PATCH] rdma_cm: Use rate from ipoib broadcast when joining ipoib multicast

Yossi Etigin root at voltaire.com
Thu Apr 2 14:07:21 PDT 2009


   When joining IPoIB multicast group, use the same rate as in the broadcast
group. Otherwise, if rdma_cm creates this group before IPoIB does, it might get
a different rate. This will cause IPoIB to fail joining to the same group later
on, because IPoIB has a strict rate selection.

Signed-off-by: Yossi Etigin <yosefe at voltaire.com>

---

Vlad, this was accepted by Roland, please add it to OFED as well.

Index: b/drivers/infiniband/core/cma.c
===================================================================
--- a/drivers/infiniband/core/cma.c	2009-03-30 19:53:19.000000000 +0300
+++ b/drivers/infiniband/core/cma.c	2009-03-30 21:38:02.000000000 +0300
@@ -2726,6 +2726,10 @@ static int cma_join_ib_multicast(struct
  		    IB_SA_MCMEMBER_REC_FLOW_LABEL |
  		    IB_SA_MCMEMBER_REC_TRAFFIC_CLASS;

+	if (id_priv->id.ps == RDMA_PS_IPOIB)
+		comp_mask |= IB_SA_MCMEMBER_REC_RATE |
+			     IB_SA_MCMEMBER_REC_RATE_SELECTOR;
+
  	mc->multicast.ib = ib_sa_join_multicast(&sa_client, id_priv->id.device,
  						id_priv->id.port_num, &rec,
  						comp_mask, GFP_KERNEL,



More information about the ewg mailing list