From: Leon Romanovsky <leon@kernel.org>
To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
RDMA mailing list <linux-rdma@vger.kernel.org>,
Bart Van Assche <bvanassche@acm.org>,
Sean Hefty <sean.hefty@intel.com>
Subject: [PATCH rdma-rc v2 08/48] RDMA/cm: Reply To Request for communication (REP) definitions
Date: Thu, 12 Dec 2019 11:37:50 +0200 [thread overview]
Message-ID: <20191212093830.316934-9-leon@kernel.org> (raw)
In-Reply-To: <20191212093830.316934-1-leon@kernel.org>
From: Leon Romanovsky <leonro@mellanox.com>
Add REP message definitions as it is written
in IBTA release 1.3 volume 1.
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
drivers/infiniband/core/cm.c | 4 ++--
drivers/infiniband/core/cm_msgs.h | 2 +-
drivers/infiniband/core/cma.c | 2 +-
include/rdma/ib_cm.h | 1 -
include/rdma/ibta_vol1_c12.h | 19 +++++++++++++++++++
5 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index f19c817ac99f..ffdca9d1c3f6 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -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);
@@ -2197,7 +2197,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)
diff --git a/drivers/infiniband/core/cm_msgs.h b/drivers/infiniband/core/cm_msgs.h
index 48c97ec4ae13..b66e9eaf9721 100644
--- a/drivers/infiniband/core/cm_msgs.h
+++ b/drivers/infiniband/core/cm_msgs.h
@@ -474,7 +474,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;
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 8495ad001e92..ece92889aa88 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -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;
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h
index a5b9bd49041b..ebfbf63388de 100644
--- a/include/rdma/ib_cm.h
+++ b/include/rdma/ib_cm.h
@@ -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,
diff --git a/include/rdma/ibta_vol1_c12.h b/include/rdma/ibta_vol1_c12.h
index 08378eb4d6df..966517ed229d 100644
--- a/include/rdma/ibta_vol1_c12.h
+++ b/include/rdma/ibta_vol1_c12.h
@@ -107,4 +107,23 @@
#define CM_REJ_PRIVATE_DATA CM_FIELD_MLOC(struct cm_rej_msg, 84, 1184)
#define CM_REJ_PRIVATE_DATA_SIZE 148
+/* Table 110 REP Message Contents */
+#define CM_REP_LOCAL_COMM_ID CM_FIELD32_LOC(struct cm_rep_msg, 0, 32)
+#define CM_REP_REMOTE_COMM_ID CM_FIELD32_LOC(struct cm_rep_msg, 4, 32)
+#define CM_REP_LOCAL_Q_KEY CM_FIELD32_LOC(struct cm_rep_msg, 8, 32)
+#define CM_REP_LOCAL_QPN CM_FIELD32_LOC(struct cm_rep_msg, 12, 24)
+#define CM_REP_LOCAL_EE_CONTEXT_NUMBER CM_FIELD32_LOC(struct cm_rep_msg, 16, 24)
+#define CM_REP_STARTING_PSN CM_FIELD32_LOC(struct cm_rep_msg, 20, 24)
+#define CM_REP_RESPONDER_RESOURCES CM_FIELD8_LOC(struct cm_rep_msg, 24, 8)
+#define CM_REP_INITIATOR_DEPTH CM_FIELD8_LOC(struct cm_rep_msg, 25, 8)
+#define CM_REP_TARGET_ACK_DELAY CM_FIELD8_LOC(struct cm_rep_msg, 26, 5)
+#define CM_REP_FAILOVER_ACCEPTED CM_FIELD_BLOC(struct cm_rep_msg, 26, 5, 2)
+#define CM_REP_END_TO_END_FLOW_CONTROL \
+ CM_FIELD_BLOC(struct cm_rep_msg, 26, 7, 1)
+#define CM_REP_RNR_RETRY_COUNT CM_FIELD8_LOC(struct cm_rep_msg, 27, 3)
+#define CM_REP_SRQ CM_FIELD_BLOC(struct cm_rep_msg, 27, 3, 1)
+#define CM_REP_LOCAL_CA_GUID CM_FIELD64_LOC(struct cm_rep_msg, 28, 64)
+#define CM_REP_PRIVATE_DATA CM_FIELD_MLOC(struct cm_rep_msg, 36, 1568)
+#define CM_REP_PRIVATE_DATA_SIZE 196
+
#endif /* _IBTA_VOL1_C12_H_ */
--
2.20.1
next prev parent reply other threads:[~2019-12-12 9:39 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-12 9:37 [PATCH rdma-rc v2 00/48] Organize code according to IBTA layout Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 01/48] RDMA/cm: Provide private data size to CM users Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 02/48] RDMA/srpt: Use private_data_len instead of hardcoded value Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 03/48] RDMA/ucma: Mask QPN to be 24 bits according to IBTA Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 04/48] RDMA/cm: Add SET/GET implementations to hide IBA wire format Leon Romanovsky
2020-01-04 2:15 ` Jason Gunthorpe
2019-12-12 9:37 ` [PATCH rdma-rc v2 05/48] RDMA/cm: Request For Communication (REQ) message definitions Leon Romanovsky
2020-01-07 1:17 ` Jason Gunthorpe
2019-12-12 9:37 ` [PATCH rdma-rc v2 06/48] RDMA/cm: Message Receipt Acknowledgment (MRA) " Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 07/48] RDMA/cm: Reject (REJ) " Leon Romanovsky
2019-12-12 9:37 ` Leon Romanovsky [this message]
2019-12-12 9:37 ` [PATCH rdma-rc v2 09/48] RDMA/cm: Ready To Use (RTU) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 10/48] RDMA/cm: Request For Communication Release (DREQ) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 11/48] RDMA/cm: Reply To Request For Communication Release (DREP) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 12/48] RDMA/cm: Load Alternate Path (LAP) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 13/48] RDMA/cm: Alternate Path Response (APR) message definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 14/48] RDMA/cm: Service ID Resolution Request (SIDR_REQ) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 15/48] RDMA/cm: Service ID Resolution Response (SIDR_REP) definitions Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 16/48] RDMA/cm: Convert QPN and EECN to be u32 variables Leon Romanovsky
2019-12-12 9:37 ` [PATCH rdma-rc v2 17/48] RDMA/cm: Convert REQ responded resources to the new scheme Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 18/48] RDMA/cm: Convert REQ initiator depth " Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 19/48] RDMA/cm: Convert REQ remote response timeout Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 20/48] RDMA/cm: Simplify QP type to wire protocol translation Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 21/48] RDMA/cm: Convert REQ flow control Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 22/48] RDMA/cm: Convert starting PSN to be u32 variable Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 23/48] RDMA/cm: Update REQ local response timeout Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 24/48] RDMA/cm: Convert REQ retry count to use new scheme Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 25/48] RDMA/cm: Update REQ path MTU field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 26/48] RDMA/cm: Convert REQ RNR retry timeout counter Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 27/48] RDMA/cm: Convert REQ MAX CM retries Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 28/48] RDMA/cm: Convert REQ SRQ field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 29/48] RDMA/cm: Convert REQ flow label field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 30/48] RDMA/cm: Convert REQ packet rate Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 31/48] RDMA/cm: Convert REQ SL fields Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 32/48] RDMA/cm: Convert REQ subnet local fields Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 33/48] RDMA/cm: Convert REQ local ack timeout Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 34/48] RDMA/cm: Convert MRA MRAed field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 35/48] RDMA/cm: Convert MRA service timeout Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 36/48] RDMA/cm: Update REJ struct to use new scheme Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 37/48] RDMA/cm: Convert REP target ack delay field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 38/48] RDMA/cm: Convert REP failover accepted field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 39/48] RDMA/cm: Convert REP flow control field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 40/48] RDMA/cm: Convert REP RNR retry count field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 41/48] RDMA/cm: Convert REP SRQ field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 42/48] RDMA/cm: Delete unused CM LAP functions Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 43/48] RDMA/cm: Convert LAP flow label field Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 44/48] RDMA/cm: Convert LAP fields Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 45/48] RDMA/cm: Delete unused CM ARP functions Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 46/48] RDMA/cm: Convert SIDR_REP to new scheme Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 47/48] RDMA/cm: Add Enhanced Connection Establishment (ECE) bits Leon Romanovsky
2019-12-17 12:33 ` Leon Romanovsky
2019-12-12 9:38 ` [PATCH rdma-rc v2 48/48] RDMA/cm: Convert private_date access Leon Romanovsky
2019-12-12 12:06 ` [PATCH rdma-rc v2 00/48] Organize code according to IBTA layout Leon Romanovsky
2020-01-07 18:40 ` Jason Gunthorpe
2020-01-16 7:32 ` Leon Romanovsky
2020-01-16 19:24 ` Jason Gunthorpe
2020-01-16 19:31 ` Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191212093830.316934-9-leon@kernel.org \
--to=leon@kernel.org \
--cc=bvanassche@acm.org \
--cc=dledford@redhat.com \
--cc=jgg@mellanox.com \
--cc=leonro@mellanox.com \
--cc=linux-rdma@vger.kernel.org \
--cc=sean.hefty@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.