[openib-general] [PATCH] RE: compliancy issue?

Sean Hefty sean.hefty at intel.com
Tue May 9 14:47:47 PDT 2006


>CA4-24.2.3: The connecting peer shall terminate the connection attempt
>if ExtMaxAdverts of the HAH is set to zero.
>
>This means that SDP must examine the HAH before RTU is sent.
>But, CMA currently sends RTU from cma_rep_recv, before notifying
>the user.

Can you try this simple patch and see if it fixes your problem?  You will
need to call rdma_accept() or rdma_reject() after receiving a CONNECT_RESPONSE
event.  The conn_param to rdma_accept() should be NULL.

Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
Index: cma.c
===================================================================
--- cma.c	(revision 6948)
+++ cma.c	(working copy)
@@ -778,7 +778,7 @@ static int cma_ib_handler(struct ib_cm_i
 		status = cma_verify_rep(id_priv, ib_event->private_data);
 		if (status)
 			event = RDMA_CM_EVENT_CONNECT_ERROR;
-		else if (id_priv->id.qp) {
+		else if (id_priv->id.qp && id_priv->id.ps != RDMA_PS_SDP) {
 			status = cma_rep_recv(id_priv);
 			event = status ? RDMA_CM_EVENT_CONNECT_ERROR :
 					 RDMA_CM_EVENT_ESTABLISHED;




More information about the general mailing list