User is currently responsible for setting the RQ PSN in the QP attributes
when transitioning to RTR.

signed-off-by: Sean Hefty <[EMAIL PROTECTED]>

Index: include/ib_cm.h
===================================================================
--- include/ib_cm.h     (revision 1654)
+++ include/ib_cm.h     (working copy)
@@ -329,7 +329,7 @@
        struct ib_sa_path_rec   *primary_path;
        struct ib_sa_path_rec   *alternate_path;
        u64                     service_id;
-       u32                     starting_send_psn;
+       u32                     starting_psn;
        void                    *private_data;
        u8                      private_data_len;
        u8                      peer_to_peer;
@@ -355,7 +355,7 @@
 
 struct ib_cm_rep_param {
        struct ib_qp    *qp;
-       u32             starting_send_psn;
+       u32             starting_psn;
        void            *private_data;
        u8              private_data_len;
        u8              responder_resources;
Index: core/cm.c
===================================================================
--- core/cm.c   (revision 1654)
+++ core/cm.c   (working copy)
@@ -111,8 +111,8 @@
 
        u32 local_qpn;
        u32 remote_qpn;
-       u32 send_psn;
-       u32 recv_psn;
+       u32 sq_psn;
+       u32 rq_psn;
        u64 remote_ca_guid;
        int timeout_ms;
        u8 max_cm_retries;
@@ -708,7 +708,7 @@
                                       param->remote_cm_response_timeout);
        cm_req_set_qp_type(req_msg, param->qp->qp_type);
        cm_req_set_flow_ctrl(req_msg, param->flow_control);
-       cm_req_set_starting_psn(req_msg, cpu_to_be32(param->starting_send_psn));
+       cm_req_set_starting_psn(req_msg, cpu_to_be32(param->starting_psn));
        cm_req_set_local_resp_timeout(req_msg,
                                      param->local_cm_response_timeout);
        cm_req_set_retry_count(req_msg, param->retry_count);
@@ -825,7 +825,7 @@
        cm_id_priv->msg->sent_state = IB_CM_REQ_SENT;
 
        cm_id_priv->local_qpn = cm_req_get_local_qpn(req_msg);
-       cm_id_priv->send_psn = cm_req_get_starting_psn(req_msg);
+       cm_id_priv->rq_psn = cm_req_get_starting_psn(req_msg);
        cm_id_priv->local_ack_timeout =
                                cm_req_get_primary_local_ack_timeout(req_msg);
 
@@ -1072,7 +1072,7 @@
        cm_id_priv->remote_qpn = cm_req_get_local_qpn(req_msg);
        cm_id_priv->initiator_depth = cm_req_get_resp_res(req_msg);
        cm_id_priv->responder_resources = cm_req_get_init_depth(req_msg);
-       cm_id_priv->recv_psn = cm_req_get_starting_psn(req_msg);
+       cm_id_priv->sq_psn = cm_req_get_starting_psn(req_msg);
        cm_id_priv->local_ack_timeout =
                                cm_req_get_primary_local_ack_timeout(req_msg);
        cm_id_priv->retry_count = cm_req_get_retry_count(req_msg);
@@ -1099,7 +1099,7 @@
        rep_msg->local_comm_id = cm_id_priv->id.local_id;
        rep_msg->remote_comm_id = cm_id_priv->id.remote_id;
        cm_rep_set_local_qpn(rep_msg, param->qp->qp_num);
-       cm_rep_set_starting_psn(rep_msg, param->starting_send_psn);
+       cm_rep_set_starting_psn(rep_msg, param->starting_psn);
        rep_msg->resp_resources = param->responder_resources;
        rep_msg->initiator_depth = param->initiator_depth;
        cm_rep_set_target_ack_delay(rep_msg, param->target_ack_delay);
@@ -1171,8 +1171,7 @@
        cm_id_priv->msg = msg;
        cm_id_priv->initiator_depth = param->initiator_depth;
        cm_id_priv->responder_resources = param->responder_resources;
-       cm_id_priv->send_psn = cpu_to_be32(param->starting_send_psn &
-                                          0x00FFFFFF);
+       cm_id_priv->rq_psn = cm_rep_get_starting_psn(rep_msg);
        spin_unlock_irqrestore(&cm_id_priv->lock, flags);
 out:
        return ret;
@@ -1309,7 +1308,7 @@
        cm_id_priv->remote_qpn = cm_rep_get_local_qpn(rep_msg);
        cm_id_priv->initiator_depth = rep_msg->resp_resources;
        cm_id_priv->responder_resources = rep_msg->initiator_depth;
-       cm_id_priv->recv_psn = cm_rep_get_starting_psn(rep_msg);
+       cm_id_priv->sq_psn = cm_rep_get_starting_psn(rep_msg);
        cm_id_priv->rnr_retry_count = cm_rep_get_rnr_retry_count(rep_msg);
 
        /* todo: handle peer_to_peer
@@ -2593,7 +2592,7 @@
                                IB_QP_MIN_RNR_TIMER;
                qp_attr->ah_attr = cm_id_priv->av.ah_attr;
                qp_attr->dest_qp_num = be32_to_cpu(cm_id_priv->remote_qpn);
-               qp_attr->rq_psn = be32_to_cpu(cm_id_priv->recv_psn);
+               qp_attr->rq_psn = be32_to_cpu(cm_id_priv->rq_psn);
                qp_attr->max_rd_atomic = cm_id_priv->initiator_depth;
                qp_attr->min_rnr_timer = 0;
                if (cm_id_priv->alt_av.ah_attr.dlid) {
@@ -2630,7 +2629,7 @@
                qp_attr->timeout = cm_id_priv->local_ack_timeout;
                qp_attr->retry_cnt = cm_id_priv->retry_count;
                qp_attr->rnr_retry = cm_id_priv->rnr_retry_count;
-               qp_attr->sq_psn = cm_id_priv->send_psn;
+               qp_attr->sq_psn = cm_id_priv->sq_psn;
                qp_attr->max_dest_rd_atomic = cm_id_priv->responder_resources;
                if (cm_id_priv->alt_av.ah_attr.dlid) {
                        *qp_attr_mask |= IB_QP_PATH_MIG_STATE;
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to