Skip to contentSkip to conversation

RDMA/cm: Add Enhanced Connection Establishment (ECE) bits

PATCH New Leon Romanovsky 1 participant 1 message Oct 29, 2019 InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 RDMA/cm: Add Enhanced Connection Establishment (ECE) bits

From: Leon Romanovsky <[email protected]>

Extend REQ (request for communications), REP (reply to request for communication), rejected reason and SIDR_REP (service ID resolution response) structures with hardware vendor ID bits according to approved IBA Comment #9434.

---
 drivers/infiniband/core/cm_msgs.h | 12 ++++++++++++
 include/rdma/ib_cm.h              |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)
drivers/infiniband/core/cm_msgs.h +12 -0
index dba60f8dfafb..8c92e71b55ca 100644
@@ -91,6 +91,8 @@
 
 #define CM_REQ_LOCAL_COMM_ID_OFFSET 0
 #define CM_REQ_LOCAL_COMM_ID_MASK GENMASK(31, 0)
+#define CM_REQ_VENDORID_OFFSET 5
+#define CM_REQ_VENDORID_MASK GENMASK(24, 0)
 #define CM_REQ_SERVICE_ID_OFFSET 8
 #define CM_REQ_SERVICE_ID_MASK GENMASK_ULL(63, 0)
 #define CM_REQ_LOCAL_CA_GUID_OFFSET 16
@@ -220,10 +222,16 @@
 #define CM_REP_LOCAL_Q_KEY_MASK GENMASK(31, 0)
 #define CM_REP_LOCAL_QPN_OFFSET 12
 #define CM_REP_LOCAL_QPN_MASK GENMASK(23, 0)
+#define CM_REP_VENDORID_H_OFFSET 15
+#define CM_REP_VENDORID_H_MASK GENMASK(7, 0)
 #define CM_REP_LOCAL_EE_CONTEXT_NUMBER_OFFSET 16
 #define CM_REP_LOCAL_EE_CONTEXT_NUMBER_MASK GENMASK(23, 0)
+#define CM_REP_VENDORID_M_OFFSET 19
+#define CM_REP_VENDORID_M_MASK GENMASK(7, 0)
 #define CM_REP_STARTING_PSN_OFFSET 20
 #define CM_REP_STARTING_PSN_MASK GENMASK(23, 0)
+#define CM_REP_VENDORID_L_OFFSET 23
+#define CM_REP_VENDORID_L_MASK GENMASK(7, 0)
 #define CM_REP_RESPONDER_RESOURCES_OFFSET 24
 #define CM_REP_RESPONDED_RESOURCES_MASK GENMASK(7, 0)
 #define CM_REP_INITIATOR_DEPTH_OFFSET 25
@@ -333,8 +341,12 @@
 #define CM_SIDR_REP_STATUS_MASK GENMASK(7, 0)
 #define CM_SIDR_REP_ADDITIONAL_INFORMATION_LENGTH_OFFSET 5
 #define CM_SIDR_REP_ADDITIONAL_INFORMATION_LENGTH_MASK GENMASK(7, 0)
+#define CM_SIDR_REP_VENDORID_H_OFFSET 6
+#define CM_SIDR_REP_VENDORID_H_MASK GENMASK(15, 0)
 #define CM_SIDR_REP_QPN_OFFSET 8
 #define CM_SIDR_REP_QPN_MASK GENMASK(23, 0)
+#define CM_SIDR_REP_VENDORID_L_OFFSET 11
+#define CM_SIDR_REP_VENDORID_L_MASK GENMASK(7, 0)
 #define CM_SIDR_REP_SERVICEID_OFFSET 12
 #define CM_SIDR_REP_SERVICEID_MASK GENMASK_ULL(63, 0)
 #define CM_SIDR_REP_Q_KEY_OFFSET 20
include/rdma/ib_cm.h +2 -1
index adccdc12b8e3..72348475eee8 100644
@@ -147,7 +147,8 @@ enum ib_cm_rej_reason {
 	IB_CM_REJ_DUPLICATE_LOCAL_COMM_ID	= 30,
 	IB_CM_REJ_INVALID_CLASS_VERSION		= 31,
 	IB_CM_REJ_INVALID_FLOW_LABEL		= 32,
-	IB_CM_REJ_INVALID_ALT_FLOW_LABEL	= 33
+	IB_CM_REJ_INVALID_ALT_FLOW_LABEL	= 33,
+	IB_CM_REJ_VENDOR_OPTION_NOT_SUPPORTED	= 35
 };
 
 struct ib_cm_rej_event_param {
Signature · 1 line
2.20.1