This exposes the WC status codes supported by uverbs as part of the uapi
headers.  It follows the same scheme as the WR opcodes.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 include/rdma/ib_verbs.h      | 44 ++++++++++++++++++++++----------------------
 include/uapi/rdma/ib_verbs.h | 25 +++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 337db70..48bfcf5 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -792,28 +792,28 @@ struct ib_ah_attr {
 };
 
 enum ib_wc_status {
-       IB_WC_SUCCESS,
-       IB_WC_LOC_LEN_ERR,
-       IB_WC_LOC_QP_OP_ERR,
-       IB_WC_LOC_EEC_OP_ERR,
-       IB_WC_LOC_PROT_ERR,
-       IB_WC_WR_FLUSH_ERR,
-       IB_WC_MW_BIND_ERR,
-       IB_WC_BAD_RESP_ERR,
-       IB_WC_LOC_ACCESS_ERR,
-       IB_WC_REM_INV_REQ_ERR,
-       IB_WC_REM_ACCESS_ERR,
-       IB_WC_REM_OP_ERR,
-       IB_WC_RETRY_EXC_ERR,
-       IB_WC_RNR_RETRY_EXC_ERR,
-       IB_WC_LOC_RDD_VIOL_ERR,
-       IB_WC_REM_INV_RD_REQ_ERR,
-       IB_WC_REM_ABORT_ERR,
-       IB_WC_INV_EECN_ERR,
-       IB_WC_INV_EEC_STATE_ERR,
-       IB_WC_FATAL_ERR,
-       IB_WC_RESP_TIMEOUT_ERR,
-       IB_WC_GENERAL_ERR
+       IB_WC_SUCCESS           = IB_UVERBS_WC_SUCCESS,
+       IB_WC_LOC_LEN_ERR       = IB_UVERBS_WC_LOC_LEN_ERR,
+       IB_WC_LOC_QP_OP_ERR     = IB_UVERBS_WC_LOC_QP_OP_ERR,
+       IB_WC_LOC_EEC_OP_ERR    = IB_UVERBS_WC_LOC_EEC_OP_ERR,
+       IB_WC_LOC_PROT_ERR      = IB_UVERBS_WC_LOC_PROT_ERR,
+       IB_WC_WR_FLUSH_ERR      = IB_UVERBS_WC_WR_FLUSH_ERR,
+       IB_WC_MW_BIND_ERR       = IB_UVERBS_WC_MW_BIND_ERR,
+       IB_WC_BAD_RESP_ERR      = IB_UVERBS_WC_BAD_RESP_ERR,
+       IB_WC_LOC_ACCESS_ERR    = IB_UVERBS_WC_LOC_ACCESS_ERR,
+       IB_WC_REM_INV_REQ_ERR   = IB_UVERBS_WC_REM_INV_REQ_ERR,
+       IB_WC_REM_ACCESS_ERR    = IB_UVERBS_WC_REM_ACCESS_ERR,
+       IB_WC_REM_OP_ERR        = IB_UVERBS_WC_REM_OP_ERR,
+       IB_WC_RETRY_EXC_ERR     = IB_UVERBS_WC_RETRY_EXC_ERR,
+       IB_WC_RNR_RETRY_EXC_ERR = IB_UVERBS_WC_RNR_RETRY_EXC_ERR,
+       IB_WC_LOC_RDD_VIOL_ERR  = IB_UVERBS_WC_LOC_RDD_VIOL_ERR,
+       IB_WC_REM_INV_RD_REQ_ERR= IB_UVERBS_WC_REM_INV_RD_REQ_ERR,
+       IB_WC_REM_ABORT_ERR     = IB_UVERBS_WC_REM_ABORT_ERR,
+       IB_WC_INV_EECN_ERR      = IB_UVERBS_WC_INV_EECN_ERR,
+       IB_WC_INV_EEC_STATE_ERR = IB_UVERBS_WC_INV_EEC_STATE_ERR,
+       IB_WC_FATAL_ERR         = IB_UVERBS_WC_FATAL_ERR,
+       IB_WC_RESP_TIMEOUT_ERR  = IB_UVERBS_WC_RESP_TIMEOUT_ERR,
+       IB_WC_GENERAL_ERR       = IB_UVERBS_WC_GENERAL_ERR,
 };
 
 const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status);
diff --git a/include/uapi/rdma/ib_verbs.h b/include/uapi/rdma/ib_verbs.h
index c40c00b..fbadb29 100644
--- a/include/uapi/rdma/ib_verbs.h
+++ b/include/uapi/rdma/ib_verbs.h
@@ -55,4 +55,29 @@ enum ib_uverbs_wc_flags {
        IB_UVERBS_WC_WITH_NETWORK_HDR_TYPE      = (1 << 6),
 };
 
+enum ib_uverbs_wc_status {
+       IB_UVERBS_WC_SUCCESS,
+       IB_UVERBS_WC_LOC_LEN_ERR,
+       IB_UVERBS_WC_LOC_QP_OP_ERR,
+       IB_UVERBS_WC_LOC_EEC_OP_ERR,
+       IB_UVERBS_WC_LOC_PROT_ERR,
+       IB_UVERBS_WC_WR_FLUSH_ERR,
+       IB_UVERBS_WC_MW_BIND_ERR,
+       IB_UVERBS_WC_BAD_RESP_ERR,
+       IB_UVERBS_WC_LOC_ACCESS_ERR,
+       IB_UVERBS_WC_REM_INV_REQ_ERR,
+       IB_UVERBS_WC_REM_ACCESS_ERR,
+       IB_UVERBS_WC_REM_OP_ERR,
+       IB_UVERBS_WC_RETRY_EXC_ERR,
+       IB_UVERBS_WC_RNR_RETRY_EXC_ERR,
+       IB_UVERBS_WC_LOC_RDD_VIOL_ERR,
+       IB_UVERBS_WC_REM_INV_RD_REQ_ERR,
+       IB_UVERBS_WC_REM_ABORT_ERR,
+       IB_UVERBS_WC_INV_EECN_ERR,
+       IB_UVERBS_WC_INV_EEC_STATE_ERR,
+       IB_UVERBS_WC_FATAL_ERR,
+       IB_UVERBS_WC_RESP_TIMEOUT_ERR,
+       IB_UVERBS_WC_GENERAL_ERR
+};
+
 #endif /* _UAPI_RDMA_IB_VERBS_H */
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to