SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    iscsi: Suggested change to Task Management Function PDU


    • To: "Julian Satran" <Julian_Satran@il.ibm.com>
    • Subject: iscsi: Suggested change to Task Management Function PDU
    • From: "Martin, Nick" <Nick.Martin@compaq.com>
    • Date: Thu, 11 Apr 2002 19:06:57 -0500
    • Cc: <ips@ece.cmu.edu>
    • Content-Class: urn:content-classes:message
    • Content-Type: multipart/mixed;boundary="----_=_NextPart_001_01C1E1B5.F628AAC6"
    • Sender: owner-ips@ece.cmu.edu
    • thread-index: AcHhtfYVw2OjB1IeSfqH/+tgFs6z1w==
    • Thread-Topic: 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