diff options
author | Mark Zhang <markzhang@nvidia.com> | 2022-09-08 12:09:03 +0200 |
---|---|---|
committer | Leon Romanovsky <leon@kernel.org> | 2022-09-22 11:35:31 +0200 |
commit | eb8336dbe373edd1ad6061c543e4ba6ea60f6cc9 (patch) | |
tree | f4049acda44c00546abdaba60b82f7e26a7650ab /include/rdma | |
parent | RDMA/cm: Use SLID in the work completion as the DLID in responder side (diff) | |
download | linux-eb8336dbe373edd1ad6061c543e4ba6ea60f6cc9.tar.xz linux-eb8336dbe373edd1ad6061c543e4ba6ea60f6cc9.zip |
RDMA/cm: Use DLID from inbound/outbound PathRecords as the datapath DLID
In inter-subnet cases, when inbound/outbound PRs are available,
outbound_PR.dlid is used as the requestor's datapath DLID and
inbound_PR.dlid is used as the responder's DLID. The inbound_PR.dlid
is passed to responder side with the "ConnectReq.Primary_Local_Port_LID"
field. With this solution the PERMISSIVE_LID is no longer used in
Primary Local LID field.
Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Link: https://lore.kernel.org/r/b3f6cac685bce9dde37c610be82e2c19d9e51d9e.1662631201.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'include/rdma')
-rw-r--r-- | include/rdma/ib_cm.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h index 8dae5847020a..a2ac62b4a6cf 100644 --- a/include/rdma/ib_cm.h +++ b/include/rdma/ib_cm.h @@ -348,6 +348,8 @@ struct ib_cm_id *ib_cm_insert_listen(struct ib_device *device, struct ib_cm_req_param { struct sa_path_rec *primary_path; + struct sa_path_rec *primary_path_inbound; + struct sa_path_rec *primary_path_outbound; struct sa_path_rec *alternate_path; const struct ib_gid_attr *ppath_sgid_attr; __be64 service_id; |