[ofa-general] [PATCH] rdma_cm: Use rate from ipoib broadcast when joining ipoib multicast

Yossi Etigin yosefe at Voltaire.COM
Mon Mar 30 11:48:58 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>

--

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 general mailing list