diff options
| author | Bart Van Assche <bvanassche@acm.org> | 2018-12-17 13:20:33 -0800 | 
|---|---|---|
| committer | Doug Ledford <dledford@redhat.com> | 2018-12-19 15:07:25 -0500 | 
| commit | 16d14e01b7a100911804768b3ae4df083da2b53d (patch) | |
| tree | 6ad6b646fb3568412e4b134758d003617b4cdc92 /include/scsi | |
| parent | feafa20433466d6193d5686b188999391c873165 (diff) | |
include/scsi/srp.h: Add support for immediate data
Add constants and data structures to support immediate data. These
changes conform to SRP2r04.
Cc: Sergey Gorenko <sergeygo@mellanox.com>
Cc: Max Gurtovoy <maxg@mellanox.com>
Cc: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/scsi')
| -rw-r--r-- | include/scsi/srp.h | 19 | 
1 files changed, 16 insertions, 3 deletions
| diff --git a/include/scsi/srp.h b/include/scsi/srp.h index 15cb8cf8a604..9220758d5087 100644 --- a/include/scsi/srp.h +++ b/include/scsi/srp.h @@ -67,7 +67,8 @@ enum {  enum {  	SRP_NO_DATA_DESC	= 0,  	SRP_DATA_DESC_DIRECT	= 1, -	SRP_DATA_DESC_INDIRECT	= 2 +	SRP_DATA_DESC_INDIRECT	= 2, +	SRP_DATA_DESC_IMM	= 3,	/* new in SRP2 */  };  enum { @@ -111,9 +112,16 @@ struct srp_indirect_buf {  	struct srp_direct_buf	desc_list[0];  } __attribute__((packed)); +/* Immediate data buffer descriptor as defined in SRP2. */ +struct srp_imm_buf { +	__be32	len; +}; + +/* srp_login_req.flags */  enum {  	SRP_MULTICHAN_SINGLE = 0, -	SRP_MULTICHAN_MULTI  = 1 +	SRP_MULTICHAN_MULTI  = 1, +	SRP_IMMED_REQUESTED  = 0x80,	/* new in SRP2 */  };  struct srp_login_req { @@ -124,7 +132,9 @@ struct srp_login_req {  	u8	reserved2[4];  	__be16	req_buf_fmt;  	u8	req_flags; -	u8	reserved3[5]; +	u8	reserved3[1]; +	__be16	imm_data_offset;	/* new in SRP2 */ +	u8	reserved4[2];  	u8	initiator_port_id[16];  	u8	target_port_id[16];  }; @@ -144,6 +154,8 @@ struct srp_login_req_rdma {  	__be32	req_it_iu_len;  	u8	initiator_port_id[16];  	u8	target_port_id[16]; +	__be16	imm_data_offset; +	u8	reserved[6];  };  /* srp_login_rsp.rsp_flags */ @@ -151,6 +163,7 @@ enum {  	SRP_LOGIN_RSP_MULTICHAN_NO_CHAN	   = 0x0,  	SRP_LOGIN_RSP_MULTICHAN_TERMINATED = 0x1,  	SRP_LOGIN_RSP_MULTICHAN_MAINTAINED = 0x2, +	SRP_LOGIN_RSP_IMMED_SUPP	   = 0x80, /* new in SRP2 */  };  /* | 
