Index: ib_types.h =================================================================== --- ib_types.h (revision 230) +++ ib_types.h (working copy) @@ -8764,6 +8750,17 @@ IB_WCS_RNR_RETRY_ERR, IB_WCS_TIMEOUT_RETRY_ERR, IB_WCS_REM_INVALID_REQ_ERR, + IB_WCS_LOCAL_EEC_OP_ERR, + IB_WCS_BAD_RESP_ERR, + IB_WCS_LOCAL_ACCESS_ERR, + IB_WCS_REM_INV_REQ_ERR, + IB_WCS_LOCAL_RDD_VIOL_ERR, + IB_WCS_REM_ABORT_ERR, + IB_WCS_INV_EECN_ERR, + IB_WCS_INV_EEC_STATE_ERR, + IB_WCS_FATAL_ERR, + IB_WCS_RESP_TIMEOUT_ERR, + IB_WCS_GENERAL_ERR, IB_WCS_UNMATCHED_RESPONSE, /* InfiniBand Access Layer */ IB_WCS_CANCELED, /* InfiniBand Access Layer */ IB_WCS_UNKNOWN /* Must be last. */ @@ -8827,6 +8824,50 @@ * - There was insufficient buffers to receive a new atomic operation. * - An RDMA request was larger than 2^31 bytes. * + * IB_WCS_LOCAL_EEC_OP_ERR, + * An internal EE Context consistency error was detected + * while processing this Work Request. + * + * IB_WCS_BAD_RESP_ERR, + * An unexpected transport layer opcode was returned + * by the responder. + * + * IB_WCS_LOCAL_ACCESS_ERR, + * A protection error occurred on a local data buffer + * during the processing of a RDMA Write with Immediate Data + * operation sent from the remote node. + * + * IB_WCS_REM_INV_REQ_ERR, + * The responder detected an invalid message on the channel. + * Possible causes include the operation is: + * - not supported by this receive queueó + * - insufficient buffering to receive a new RDMA or Atomic Operation request; + * - the length specified in an RDMA request is greater than 231 bytes. + * + * IB_WCS_LOCAL_RDD_VIOL_ERR, + * The RDD associated with the QP does not match the RDD + * associated with the EE Context. + * + * IB_WCS_REM_ABORT_ERR, + * The operation was aborted: + * - For RD, the requester aborted the operation. One possible cause is + * the requester suspended the operation and will retry it later using + * a new Receive WQE. The other possible cause is the requester + * abandoned the operation and placed the requester QP in + * the SQEr state. + * - For UD QPs associated with an SRQ, the responder aborted the operation. + * + * IB_WCS_INV_EECN_ERR, + * An invalid EE Context number was detected. + * + * IB_WCS_INV_EEC_STATE_ERR, + * Operation is not legal for the specified EE Context state. + * + * IB_WCS_FATAL_ERR, + * + * IB_WCS_RESP_TIMEOUT_ERR, + * + * * IB_WCS_UNMATCHED_RESPONSE * A response MAD was received for which there was no matching send. The * send operation may have been canceled by the user or may have timed @@ -8834,6 +8875,10 @@ * * IB_WCS_CANCELED * The completed work request was canceled by the user. + * + * IB_WCS_GENERAL_ERR, + * Any other error + * *****/ @@ -8968,21 +9013,23 @@ ib_wc_status_t status; uint64_t vendor_specific; + uint32_t qp_num; + union _wc_recv { struct _wc_conn { - ib_recv_opt_t recv_opt; + ib_recv_opt_t recv_opt; ib_net32_t immediate_data; } conn; struct _wc_ud { - ib_recv_opt_t recv_opt; + ib_recv_opt_t recv_opt; ib_net32_t immediate_data; ib_net32_t remote_qp; - uint16_t pkey_index; + uint16_t pkey_index; ib_net16_t remote_lid; uint8_t remote_sl; uint8_t path_bits; Index: ib_statustext.c =================================================================== --- ib_statustext.c (revision 230) +++ ib_statustext.c (working copy) @@ -163,6 +163,17 @@ "IB_WCS_RNR_RETRY_ERR", "IB_WCS_TIMEOUT_RETRY_ERR", "IB_WCS_REM_INVALID_REQ_ERR", + "IB_WCS_LOCAL_EEC_OP_ERR", + "IB_WCS_BAD_RESP_ERR", + "IB_WCS_LOCAL_ACCESS_ERR", + "IB_WCS_REM_INV_REQ_ERR", + "IB_WCS_LOCAL_RDD_VIOL_ERR", + "IB_WCS_REM_ABORT_ERR", + "IB_WCS_INV_EECN_ERR", + "IB_WCS_INV_EEC_STATE_ERR", + "IB_WCS_FATAL_ERR", + "IB_WCS_RESP_TIMEOUT_ERR", + "IB_WCS_GENERAL_ERR", "IB_WCS_UNMATCHED_RESPONSE", /* InfiniBand Access Layer */ "IB_WCS_CANCELED", /* InfiniBand Access Layer */ "IB_WCS_UNKNOWN"