diff options
author | Bart Van Assche <bart.vanassche@wdc.com> | 2018-01-22 14:27:12 -0800 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2018-01-23 11:35:04 -0500 |
commit | 19f313438c7754e6cc2bceddeebeaa5132e2e0a1 (patch) | |
tree | 3295d9bd2a0dd1b71ae2ea52278b8e146a26b7e3 /include/scsi | |
parent | 172856eac7cfaaeabad6a282d3c79d687ad69fc0 (diff) |
IB/srp: Add RDMA/CM support
Since the SRP_LOGIN_REQ defined in the SRP standard is larger than
what fits in the RDMA/CM login request private data, introduce a new
login request format for the RDMA/CM.
Note: since srp_daemon and ibsrpdm rely on the subnet manager and
since there is no equivalent of the IB subnet manager in non-IB
networks, login has to be performed manually for non-IB networks.
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/srp.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/scsi/srp.h b/include/scsi/srp.h index 5be834de491a..c16a3c9a4d9b 100644 --- a/include/scsi/srp.h +++ b/include/scsi/srp.h @@ -129,6 +129,23 @@ struct srp_login_req { u8 target_port_id[16]; }; +/** + * struct srp_login_req_rdma - RDMA/CM login parameters. + * + * RDMA/CM over InfiniBand can only carry 92 - 36 = 56 bytes of private + * data. The %srp_login_req_rdma structure contains the same information as + * %srp_login_req but with the reserved data removed. + */ +struct srp_login_req_rdma { + u64 tag; + __be16 req_buf_fmt; + u8 req_flags; + u8 opcode; + __be32 req_it_iu_len; + u8 initiator_port_id[16]; + u8 target_port_id[16]; +}; + /* * The SRP spec defines the size of the LOGIN_RSP structure to be 52 * bytes, so it needs to be packed to avoid having it padded to 56 |