mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
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>
This commit is contained in:
parent
feafa20433
commit
16d14e01b7
@ -4174,6 +4174,11 @@ static int __init srp_init_module(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
BUILD_BUG_ON(sizeof(struct srp_imm_buf) != 4);
|
||||
BUILD_BUG_ON(sizeof(struct srp_login_req) != 64);
|
||||
BUILD_BUG_ON(sizeof(struct srp_login_req_rdma) != 56);
|
||||
BUILD_BUG_ON(sizeof(struct srp_cmd) != 48);
|
||||
|
||||
if (srp_sg_tablesize) {
|
||||
pr_warn("srp_sg_tablesize is deprecated, please use cmd_sg_entries\n");
|
||||
if (!cmd_sg_entries)
|
||||
|
@ -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 */
|
||||
};
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user