SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    iSCSI: AHS use



    Title: iSCSI: AHS use

    I have some questions on the current AHS descriptions in 12-97. I just tripped over this, so I think maybe others might too.

     
    1. In 12-97, p.130 we have the definition of AHS as Multiple Additional Header Segments (plural); switching between "AHS (singular), AHS (plural), AHS header segments made me look closer:

     
    [quote]
    The BHS is a fixed-length 48-byte header segment. It MAY be followed by Additional Header Segments (AHS), a Header-Digest, a Data Segment, and/or a Data-Digest.

    [end quote]

    2. However, in the PDU format diagram on p. 131 of 12-97 it is not clear that we have the option of zero, one or more Additional Header Segments. After I re-read things a few times, and apologies if I have this wrong, I think that the use of multiple Additional Header Segments is along these lines:

    (a) Use one and only one Additional Header Segment for an extended CDB (SPC calls this a variable-length CDB). This extended CDB (or variable-length CDB) Additional Header Segment must immediately follow the BHS. (A suggested exact use definition of this type of Additional Header Segment coming up.)

    (b) Use one and only one Additional Header Segment for an Bidirectional Expected Read-Data Length. This Bidirectional Expected Read-Data Length Additional Header Segment must immediately follow the BHS.

    (c) Use of more than one Additional Header Segment is left up to the user.

    How many Additional Header Segments were we expecting to be able to be used? Would this maximum length of Additional Header Segments be limited only by the TotalAHSLength (8-bit field measuring length in four-byte words or ((2**8) - 1) * 4 bytes or roughly 1 kbyte)? Can we follow an extended CDB Additional Header Segment or a Bidirectional Expected Read-Data Length Additional Header Segment by one or more user-defined Additional Header Segment?

    Did I get this anywhere close to correct?

    3. In one of Bob Russell's emails we have the following, which does seem to make the use of multiple Additional Header Segments a little clearer to me:

     
    [quote http://www.pdl.cmu.edu/mailinglists/ips/mail/msg03784.html]
     
    [view in fixed-width font on wide window]
         +------------------------+
         |     required BHS       | > fixed length of 48 bytes
         +------------------------+
         |     optional AHS 1     |\
         | - - - - - - - - - - -  | \
         |     optional AHS 2     |  \
         | - - - - - - - - - - -  |   > total length in AHS_length field in BHS
         |        . . . .         |  /
         | - - - - - - - - - - -  | /
         |     optional AHS n     |/
         +------------------------+
         | optional header digest | -- covers preceding (48 + AHS_length) bytes
         +------------------------+
         |                        |\
         |     optional data      | > total length in DATA_length field in BHS
         |                        |/
         +------------------------+
         |  optional data digest  | -- covers preceding (DATA_length) bytes
         +------------------------+

    [end view in fixed-width font on wide window]
     
    [end quote http://www.pdl.cmu.edu/mailinglists/ips/mail/msg03784.html]

    Is it possible to add something like this picture to the format diagram on p.131. I wouldn't ask if I hadn't tripped myself up on this already.

     
    4. On p. 139 of 12-97 we have the following:
     
    [quote]
     
    9.3.5 CDB - SCSI Command Descriptor Block
    There are 16 bytes in the CDB field to accommodate the commonly used CDBs. Whenever the CDB is larger than 16 bytes, an Extended CDB AHS MUST be used to contain the CDB spillover.

     
    [end quote]

    I tripped again on the term "spillover". Could we perhaps change 9.3.5 to the following (thanks to Rob Elliott, see http://www.pdl.cmu.edu/mailinglists/ips/mail/msg10620.html):

    There are 16 bytes in the CDB field to accommodate bytes 0-15 of the commonly used CDBs. An Extended CDB AHS MUST be used to contain bytes 16-259 of a variable-length CDB [SPC].

    5. There is no description of ExtendedCDB...+ in 9.2.2.3 Extended CDB AHS

    I guess we would be repeating 9.3.5 if we defined ExtendedCDB as "bytes 16-259 of a variable-length CDB", but perhaps that is not a bad thing?

    Aloha
     
    Mike Smith
    CTO, iReady



Home

Last updated: Mon Jun 10 16:18:43 2002
10639 messages in chronological order