|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] iscsi: Suggested change to Task Management Function PDUJulian, 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 |