]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
scm: incorrectly sends user reject during CR callback errors
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 9 Jan 2012 23:03:21 +0000 (15:03 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 9 Jan 2012 23:03:21 +0000 (15:03 -0800)
Add reason checking on provider rejects and set appropriate op type
in reject message. Reject can be called from cr callback during
failures. User reject will be IB_CM_REJ_REASON_CONSUMER_REJ.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_scm/cm.c

index b6109f116dd334afd5c739beaf061bc8bf1909e4..a34965b8ca35ab2a739ecb4908783927d6199e07 100644 (file)
@@ -1666,7 +1666,11 @@ dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_ptr,
                 return DAT_LENGTH_ERROR;
 
        /* write reject data to indicate reject */
-       cm_ptr->msg.op = htons(DCM_REJ_USER);
+       if (reason == IB_CM_REJ_REASON_CONSUMER_REJ)
+               cm_ptr->msg.op = htons(DCM_REJ_USER);
+       else
+               cm_ptr->msg.op = htons(DCM_REJ_CM);
+
        cm_ptr->msg.p_size = htons(psize);
        
        iov[0].iov_base = (void *)&cm_ptr->msg;