@@ -2068,7 +2068,7 @@ int ib_send_cm_rep(struct ib_cm_id *cm_id,
int ret;
if (param->private_data &&
- param->private_data_len > IB_CM_REP_PRIVATE_DATA_SIZE)
+ param->private_data_len > CM_REP_PRIVATE_DATA_SIZE)
return -EINVAL;
cm_id_priv = container_of(cm_id, struct cm_id_private, id);
@@ -2194,7 +2194,7 @@ static void cm_format_rep_event(struct cm_work *work, enum ib_qp_type qp_type)
param->rnr_retry_count = cm_rep_get_rnr_retry_count(rep_msg);
param->srq = cm_rep_get_srq(rep_msg);
work->cm_event.private_data = &rep_msg->private_data;
- work->cm_event.private_data_len = IB_CM_REP_PRIVATE_DATA_SIZE;
+ work->cm_event.private_data_len = CM_REP_PRIVATE_DATA_SIZE;
}
static void cm_dup_rep_handler(struct cm_work *work)
@@ -212,6 +212,38 @@
#define CM_REJ_PRIVATE_DATA_OFFSET 84
#define CM_REJ_PRIVATE_DATA_SIZE 148
+#define CM_REP_LOCAL_COMM_ID_OFFSET 0
+#define CM_REP_LOCAL_COMM_ID_MASK GENMASK(31, 0)
+#define CM_REP_REMOTE_COMM_ID_OFFSET 4
+#define CM_REP_REMOTE_COMM_ID_MASK GENMASK(31, 0)
+#define CM_REP_LOCAL_Q_KEY_OFFSET 8
+#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_LOCAL_EE_CONTEXT_NUMBER_OFFSET 16
+#define CM_REP_LOCAL_EE_CONTEXT_NUMBER_MASK GENMASK(23, 0)
+#define CM_REP_STARTING_PSN_OFFSET 20
+#define CM_REP_STARTING_PSN_MASK GENMASK(23, 0)
+#define CM_REP_RESPONDER_RESOURCES_OFFSET 24
+#define CM_REP_RESPONDED_RESOURCES_MASK GENMASK(7, 0)
+#define CM_REP_INITIATOR_DEPTH_OFFSET 25
+#define CM_REP_INITIATOR_DEPTH_MASK GENMASK(7, 0)
+#define CM_REP_TARGET_ACK_DELAY_OFFSET 26
+#define CM_REP_TARGET_ACK_DELAY_MASK GENMASK(4, 0)
+
+#define CM_REP_FAILOVER_ACCEPTED_OFFSET 26
+#define CM_REP_FAILOVER_ACCEPTED_MASK GENMASK(6, 5)
+#define CM_REP_END_TO_END_FLOW_CONTROL_OFFSET 26
+#define CM_REP_END_TO_END_FLOW_CONTROL_MASK GENMASK(7, 7)
+#define CM_REP_RNR_RETRY_COUNT_OFFSET 27
+#define CM_REP_RNR_RETRY_COUNT_MASK GENMASK(2, 0)
+#define CM_REP_SRQ_OFFSET 27
+#define CM_REP_SRQ_MASK GENMASK(3, 3)
+#define CM_REP_LOCAL_CA_GUID_OFFSET 28
+#define CM_REP_LOCAL_CA_GUID_MASK GENMASK_ULL(63, 0)
+#define CM_REP_PRIVATE_DATA_OFFSET 36
+#define CM_REP_PRIVATE_DATA_SIZE 196
+
struct cm_req_msg {
struct ib_mad_hdr hdr;
@@ -672,7 +704,7 @@ struct cm_rep_msg {
u8 offset27;
__be64 local_ca_guid;
- u8 private_data[IB_CM_REP_PRIVATE_DATA_SIZE];
+ u8 private_data[CM_REP_PRIVATE_DATA_SIZE];
} __packed;
@@ -1882,7 +1882,7 @@ static void cma_set_rep_event_data(struct rdma_cm_event *event,
void *private_data)
{
event->param.conn.private_data = private_data;
- event->param.conn.private_data_len = IB_CM_REP_PRIVATE_DATA_SIZE;
+ event->param.conn.private_data_len = CM_REP_PRIVATE_DATA_SIZE;
event->param.conn.responder_resources = rep_data->responder_resources;
event->param.conn.initiator_depth = rep_data->initiator_depth;
event->param.conn.flow_control = rep_data->flow_control;
@@ -65,7 +65,6 @@ enum ib_cm_event_type {
};
enum ib_cm_data_size {
- IB_CM_REP_PRIVATE_DATA_SIZE = 196,
IB_CM_RTU_PRIVATE_DATA_SIZE = 224,
IB_CM_DREQ_PRIVATE_DATA_SIZE = 220,
IB_CM_DREP_PRIVATE_DATA_SIZE = 224,