From: Arlin Davis Date: Mon, 9 Jan 2012 23:03:21 +0000 (-0800) Subject: scm: incorrectly sends user reject during CR callback errors X-Git-Tag: dapl-2.0.35-1~20 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=3b35315460b7412605affff6f9a22532c738e1c9;p=~ardavis%2Fdapl.git scm: incorrectly sends user reject during CR callback errors 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 --- diff --git a/dapl/openib_scm/cm.c b/dapl/openib_scm/cm.c index b6109f1..a34965b 100644 --- a/dapl/openib_scm/cm.c +++ b/dapl/openib_scm/cm.c @@ -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;