aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/iscsi_tcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/iscsi_tcp.h')
-rw-r--r--drivers/scsi/iscsi_tcp.h43
1 files changed, 17 insertions, 26 deletions
diff --git a/drivers/scsi/iscsi_tcp.h b/drivers/scsi/iscsi_tcp.h
index e35701305fc9..32736831790e 100644
--- a/drivers/scsi/iscsi_tcp.h
+++ b/drivers/scsi/iscsi_tcp.h
@@ -31,23 +31,21 @@
31#define IN_PROGRESS_DDIGEST_RECV 0x3 31#define IN_PROGRESS_DDIGEST_RECV 0x3
32 32
33/* xmit state machine */ 33/* xmit state machine */
34#define XMSTATE_IDLE 0x0 34#define XMSTATE_IDLE 0x0
35#define XMSTATE_R_HDR 0x1 35#define XMSTATE_R_HDR 0x1
36#define XMSTATE_W_HDR 0x2 36#define XMSTATE_W_HDR 0x2
37#define XMSTATE_IMM_HDR 0x4 37#define XMSTATE_IMM_HDR 0x4
38#define XMSTATE_IMM_DATA 0x8 38#define XMSTATE_IMM_DATA 0x8
39#define XMSTATE_UNS_INIT 0x10 39#define XMSTATE_UNS_INIT 0x10
40#define XMSTATE_UNS_HDR 0x20 40#define XMSTATE_UNS_HDR 0x20
41#define XMSTATE_UNS_DATA 0x40 41#define XMSTATE_UNS_DATA 0x40
42#define XMSTATE_SOL_HDR 0x80 42#define XMSTATE_SOL_HDR 0x80
43#define XMSTATE_SOL_DATA 0x100 43#define XMSTATE_SOL_DATA 0x100
44#define XMSTATE_W_PAD 0x200 44#define XMSTATE_W_PAD 0x200
45#define XMSTATE_DATA_DIGEST 0x400 45#define XMSTATE_W_RESEND_PAD 0x400
46 46#define XMSTATE_W_RESEND_DATA_DIGEST 0x800
47#define ISCSI_CONN_RCVBUF_MIN 262144 47
48#define ISCSI_CONN_SNDBUF_MIN 262144
49#define ISCSI_PAD_LEN 4 48#define ISCSI_PAD_LEN 4
50#define ISCSI_R2T_MAX 16
51#define ISCSI_SG_TABLESIZE SG_ALL 49#define ISCSI_SG_TABLESIZE SG_ALL
52#define ISCSI_TCP_MAX_CMD_LEN 16 50#define ISCSI_TCP_MAX_CMD_LEN 16
53 51
@@ -85,9 +83,6 @@ struct iscsi_tcp_conn {
85 /* iSCSI connection-wide sequencing */ 83 /* iSCSI connection-wide sequencing */
86 int hdr_size; /* PDU header size */ 84 int hdr_size; /* PDU header size */
87 85
88 struct crypto_hash *rx_tfm; /* CRC32C (Rx) */
89 struct hash_desc data_rx_hash; /* CRC32C (Rx) for data */
90
91 /* control data */ 86 /* control data */
92 struct iscsi_tcp_recv in; /* TCP receive context */ 87 struct iscsi_tcp_recv in; /* TCP receive context */
93 int in_progress; /* connection state machine */ 88 int in_progress; /* connection state machine */
@@ -97,9 +92,9 @@ struct iscsi_tcp_conn {
97 void (*old_state_change)(struct sock *); 92 void (*old_state_change)(struct sock *);
98 void (*old_write_space)(struct sock *); 93 void (*old_write_space)(struct sock *);
99 94
100 /* xmit */ 95 /* data and header digests */
101 struct crypto_hash *tx_tfm; /* CRC32C (Tx) */ 96 struct hash_desc tx_hash; /* CRC32C (Tx) */
102 struct hash_desc data_tx_hash; /* CRC32C (Tx) for data */ 97 struct hash_desc rx_hash; /* CRC32C (Rx) */
103 98
104 /* MIB custom statistics */ 99 /* MIB custom statistics */
105 uint32_t sendpage_failures_cnt; 100 uint32_t sendpage_failures_cnt;
@@ -158,19 +153,15 @@ struct iscsi_tcp_cmd_task {
158 struct scatterlist *bad_sg; /* assert statement */ 153 struct scatterlist *bad_sg; /* assert statement */
159 int sg_count; /* SG's to process */ 154 int sg_count; /* SG's to process */
160 uint32_t exp_r2tsn; 155 uint32_t exp_r2tsn;
161 int r2t_data_count; /* R2T Data-Out bytes */
162 int data_offset; 156 int data_offset;
163 struct iscsi_r2t_info *r2t; /* in progress R2T */ 157 struct iscsi_r2t_info *r2t; /* in progress R2T */
164 struct iscsi_queue r2tpool; 158 struct iscsi_queue r2tpool;
165 struct kfifo *r2tqueue; 159 struct kfifo *r2tqueue;
166 struct iscsi_r2t_info **r2ts; 160 struct iscsi_r2t_info **r2ts;
167 uint32_t datadigest; /* for recover digest */
168 int digest_count; 161 int digest_count;
169 uint32_t immdigest; /* for imm data */ 162 uint32_t immdigest; /* for imm data */
170 struct iscsi_buf immbuf; /* for imm data digest */ 163 struct iscsi_buf immbuf; /* for imm data digest */
171 struct iscsi_data_task *dtask; /* data task in progress*/
172 struct iscsi_data_task unsol_dtask; /* unsol data task */ 164 struct iscsi_data_task unsol_dtask; /* unsol data task */
173 int digest_offset; /* for partial buff digest */
174}; 165};
175 166
176#endif /* ISCSI_H */ 167#endif /* ISCSI_H */