|
@@ -116,7 +116,7 @@ struct iscsi_ahs_hdr {
|
|
|
#define ISCSI_CDB_SIZE 16
|
|
|
|
|
|
/* iSCSI PDU Header */
|
|
|
-struct iscsi_cmd {
|
|
|
+struct iscsi_scsi_req {
|
|
|
uint8_t opcode;
|
|
|
uint8_t flags;
|
|
|
__be16 rsvd2;
|
|
@@ -161,7 +161,7 @@ struct iscsi_ecdb_ahdr {
|
|
|
};
|
|
|
|
|
|
/* SCSI Response Header */
|
|
|
-struct iscsi_cmd_rsp {
|
|
|
+struct iscsi_scsi_rsp {
|
|
|
uint8_t opcode;
|
|
|
uint8_t flags;
|
|
|
uint8_t response;
|
|
@@ -406,7 +406,7 @@ struct iscsi_text_rsp {
|
|
|
};
|
|
|
|
|
|
/* Login Header */
|
|
|
-struct iscsi_login {
|
|
|
+struct iscsi_login_req {
|
|
|
uint8_t opcode;
|
|
|
uint8_t flags;
|
|
|
uint8_t max_version; /* Max. version supported */
|
|
@@ -427,7 +427,13 @@ struct iscsi_login {
|
|
|
#define ISCSI_FLAG_LOGIN_TRANSIT 0x80
|
|
|
#define ISCSI_FLAG_LOGIN_CONTINUE 0x40
|
|
|
#define ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK 0x0C /* 2 bits */
|
|
|
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE1 0x04
|
|
|
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE2 0x08
|
|
|
+#define ISCSI_FLAG_LOGIN_CURRENT_STAGE3 0x0C
|
|
|
#define ISCSI_FLAG_LOGIN_NEXT_STAGE_MASK 0x03 /* 2 bits */
|
|
|
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE1 0x01
|
|
|
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE2 0x02
|
|
|
+#define ISCSI_FLAG_LOGIN_NEXT_STAGE3 0x03
|
|
|
|
|
|
#define ISCSI_LOGIN_CURRENT_STAGE(flags) \
|
|
|
((flags & ISCSI_FLAG_LOGIN_CURRENT_STAGE_MASK) >> 2)
|
|
@@ -550,17 +556,25 @@ struct iscsi_logout_rsp {
|
|
|
struct iscsi_snack {
|
|
|
uint8_t opcode;
|
|
|
uint8_t flags;
|
|
|
- uint8_t rsvd2[14];
|
|
|
+ uint8_t rsvd2[2];
|
|
|
+ uint8_t hlength;
|
|
|
+ uint8_t dlength[3];
|
|
|
+ uint8_t lun[8];
|
|
|
itt_t itt;
|
|
|
+ __be32 ttt;
|
|
|
+ uint8_t rsvd3[4];
|
|
|
+ __be32 exp_statsn;
|
|
|
+ uint8_t rsvd4[8];
|
|
|
__be32 begrun;
|
|
|
__be32 runlength;
|
|
|
- __be32 exp_statsn;
|
|
|
- __be32 rsvd3;
|
|
|
- __be32 exp_datasn;
|
|
|
- uint8_t rsvd6[8];
|
|
|
};
|
|
|
|
|
|
/* SNACK PDU flags */
|
|
|
+#define ISCSI_FLAG_SNACK_TYPE_DATA 0
|
|
|
+#define ISCSI_FLAG_SNACK_TYPE_R2T 0
|
|
|
+#define ISCSI_FLAG_SNACK_TYPE_STATUS 1
|
|
|
+#define ISCSI_FLAG_SNACK_TYPE_DATA_ACK 2
|
|
|
+#define ISCSI_FLAG_SNACK_TYPE_RDATA 3
|
|
|
#define ISCSI_FLAG_SNACK_TYPE_MASK 0x0F /* 4 bits */
|
|
|
|
|
|
/* Reject Message Header */
|