|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] iscsi: Suggested change to Task Management Function PDU
Julian,
This minor, and if it is not possible, I can live without it. I apologize for not noticing it earlier.
I suggest to move ExpDataSN to offset 36 in Task Management Function Request PDU. This eliminates 1) inconsistent offset for same field name, and 2) two fields at same offset in same PDU.
Currently, in the SCSI Response PDU, ExpDataSN is at offset 36. In Task Management Function Request, ExpDataSN is at offset 32 sharing this offset with RefCmdSN. The word at offset 36 is reserved.
This is the only instance where there are two fields at the same offset in the same PDU. It is also the only instance where the same field name appears at two different offsets in two different PDUs.
The current table and text from draft 11-94 and my suggested replacement PDU format table and field description text are attached.
<<oldtable.txt>> <<newtable.txt>> <<oldtext.txt>> <<newtext.txt>>
I have also pasted them at the end for those who may have trouble with attachments.
Thanks,
Nick
------------------------------------------------------------------
Nick Martin
Systems Engineer
Server Storage Products
Compaq Computer Corporation
old table
9.5 Task Management Function Request
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+---------------+---------------+---------------+---------------+
0|.|I| x02 |1| Function | Reserved |
+---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| Logical Unit Number (LUN) or Reserved |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag |
+---------------+---------------+---------------+---------------+
20| Referenced Task Tag or 0xffffffff |
+---------------+---------------+---------------+---------------+
24| CmdSN |
+---------------+---------------+---------------+---------------+
28| ExpStatSN |
+---------------+---------------+---------------+---------------+
32| RefCmdSN or ExpDataSN |
+---------------+---------------+---------------+---------------+
36/ Reserved /
+/ /
+---------------+---------------+---------------+---------------+
48
new table
9.5 Task Management Function Request
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+---------------+---------------+---------------+---------------+
0|.|I| x02 |1| Function | Reserved |
+---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| Logical Unit Number (LUN) or Reserved |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag |
+---------------+---------------+---------------+---------------+
20| Referenced Task Tag or 0xffffffff |
+---------------+---------------+---------------+---------------+
24| CmdSN |
+---------------+---------------+---------------+---------------+
28| ExpStatSN |
+---------------+---------------+---------------+---------------+
32| RefCmdSN or Reserved |
+---------------+---------------+---------------+---------------+
36| ExpDataSN or Reserved |
+---------------+---------------+---------------+---------------+
40/ Reserved /
+/ /
+---------------+---------------+---------------+---------------+
48
old text
9.5.4 RefCmdSN or ExpDataSN
For the ABORT TASK function, initiators MUST always set this to the
CmdSN of the task identified by the Initiator Task Tag field. Targets
must use this field as described in section 9.6.1 when the task
identified by the ITT field is not with the target.
If the function is TASK REASSIGN, which establishes a new connection
allegiance for a previously issued Read or Bidirectional command,
this field will contain the next consecutive input DataSN number
expected by the initiator (no gaps) for the referenced command in a
previous execution. The initiator MUST discard any discontiguous data
PDUs from the previous execution and the target MUST retransmit all
data previously transmitted in Data-in PDUs (if any) starting with
ExpDataSN. The number of retransmitted PDUs, may or may not be the
same as the original transmission, depending on if there was a change
in MaxRecvPDULength in the reassignment.
Otherwise, this field is reserved.
new text
9.5.4 RefCmdSN
For the ABORT TASK function, initiators MUST always set this to the
CmdSN of the task identified by the Initiator Task Tag field. Targets
must use this field as described in section 9.6.1 when the task
identified by the ITT field is not with the target.
Otherwise, this field is reserved.
9.5.5 ExpDataSN
If the function is TASK REASSIGN, which establishes a new connection
allegiance for a previously issued Read or Bidirectional command,
this field will contain the next consecutive input DataSN number
expected by the initiator (no gaps) for the referenced command in a
previous execution. The initiator MUST discard any discontiguous data
PDUs from the previous execution and the target MUST retransmit all
data previously transmitted in Data-in PDUs (if any) starting with
ExpDataSN. The number of retransmitted PDUs, may or may not be the
same as the original transmission, depending on if there was a change
in MaxRecvPDULength in the reassignment.
Otherwise, this field is reserved.
9.5 Task Management Function Request
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+---------------+---------------+---------------+---------------+
0|.|I| x02 |1| Function | Reserved |
+---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| Logical Unit Number (LUN) or Reserved |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag |
+---------------+---------------+---------------+---------------+
20| Referenced Task Tag or 0xffffffff |
+---------------+---------------+---------------+---------------+
24| CmdSN |
+---------------+---------------+---------------+---------------+
28| ExpStatSN |
+---------------+---------------+---------------+---------------+
32| RefCmdSN or ExpDataSN |
+---------------+---------------+---------------+---------------+
36/ Reserved /
+/ /
+---------------+---------------+---------------+---------------+
48
9.5 Task Management Function Request
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+---------------+---------------+---------------+---------------+
0|.|I| x02 |1| Function | Reserved |
+---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| Logical Unit Number (LUN) or Reserved |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag |
+---------------+---------------+---------------+---------------+
20| Referenced Task Tag or 0xffffffff |
+---------------+---------------+---------------+---------------+
24| CmdSN |
+---------------+---------------+---------------+---------------+
28| ExpStatSN |
+---------------+---------------+---------------+---------------+
32| RefCmdSN or Reserved |
+---------------+---------------+---------------+---------------+
36| ExpDataSN or Reserved |
+---------------+---------------+---------------+---------------+
40/ Reserved /
+/ /
+---------------+---------------+---------------+---------------+
48
9.5.4 RefCmdSN or ExpDataSN
For the ABORT TASK function, initiators MUST always set this to the
CmdSN of the task identified by the Initiator Task Tag field. Targets
must use this field as described in section 9.6.1 when the task
identified by the ITT field is not with the target.
If the function is TASK REASSIGN, which establishes a new connection
allegiance for a previously issued Read or Bidirectional command,
this field will contain the next consecutive input DataSN number
expected by the initiator (no gaps) for the referenced command in a
previous execution. The initiator MUST discard any discontiguous data
PDUs from the previous execution and the target MUST retransmit all
data previously transmitted in Data-in PDUs (if any) starting with
ExpDataSN. The number of retransmitted PDUs, may or may not be the
same as the original transmission, depending on if there was a change
in MaxRecvPDULength in the reassignment.
Otherwise, this field is reserved.
9.5.4 RefCmdSN
For the ABORT TASK function, initiators MUST always set this to the
CmdSN of the task identified by the Initiator Task Tag field. Targets
must use this field as described in section 9.6.1 when the task
identified by the ITT field is not with the target.
Otherwise, this field is reserved.
9.5.5 ExpDataSN
If the function is TASK REASSIGN, which establishes a new connection
allegiance for a previously issued Read or Bidirectional command,
this field will contain the next consecutive input DataSN number
expected by the initiator (no gaps) for the referenced command in a
previous execution. The initiator MUST discard any discontiguous data
PDUs from the previous execution and the target MUST retransmit all
data previously transmitted in Data-in PDUs (if any) starting with
ExpDataSN. The number of retransmitted PDUs, may or may not be the
same as the original transmission, depending on if there was a change
in MaxRecvPDULength in the reassignment.
Otherwise, this field is reserved.
Home Last updated: Tue Apr 16 14:18:25 2002 9687 messages in chronological order |