SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: ExpDataSN overload




    It has popped now to the top of my stack - comments in text _ Julo


    Martins Krikis <mkrikis@yahoo.com>
    Sent by: owner-ips@ece.cmu.edu

    13-03-02 01:37
    Please respond to Martins Krikis

           
            To:        ips@ece.cmu.edu
            cc:        
            Subject:        ExpDataSN overload

           


    Dear list members,

    I've just noticed that ExpDataSN is used to denote
    a lot of different things (all references w.r.t.
    to draft 11):

    1) the total number of Data-In PDUs that a target
      has sent to complete a SCSI (read-like) command
      (2.5.1.2, 9.4.7, 6.6, E.9.2);

    2) next concecutive input DataSN number expected by
      the initiator for the referenced command in
    previous
      execution, used in TASK REASSIGN
      (6.1.2, 9.5.4);

    3) internal target variable used to track the next
      DataSN Expected from the initator or something
      like that
      (6.2).

    Regarding use 1: this is the most widespread, and
    there is nothing to object, except perhaps that the
    name ExpDataSN doesn't convey the exact meaning---
    "TotalDataPDUs" or "NumDataPDUs" or something like
    that. Anyway, I can live with this.


    +++ It coveys the name of register it copies into the PDU - +++

    Regarding use 2: the name conveys the meaning, but
    I don't like the wording of this spot in 6.1.2:
    "... for example taking advantage of ExpDataSN in
    the iSCSI command PDU for read commands...". The
    problem is that "read commands" don't have ExpDataSN
    in the PDU, it's the "Task Management Function
    Request"
    PDUs that do. Task Management Function Request PDUs
    are, of course, "iSCSI command PDUs", but the whole
    thing makes it too easy to make the mistake of
    remembering (the ill-named) ExpDataSN field in
    SCSI Response PDU, at which point nothing makes sense
    anymore, because that's the other meaning of
    ExpDataSN.
    I would appreciate if somebody could rephrase the
    sentence. I'll even volunteer:

    "In reassigning connection allegiance for a command,
    the targets SHOULD continue the command from its
    current state. For example, when reassigning read
    commands, the targets SHOULD take advantage of the
    ExpDataSN field provided by the Task Management
    Function Request PDU (which must be set to zero
    if there was no data transfer) and bring the command
    to completion by sending (or resending) the status."
    +++ I'll fix the wording +++
    Regarding use 3: I don't understand this. The last
    two sentences of 6.2 seem to be talking about
    Data-Out PDUs, therefore uses 1 and 2 of ExpDataSN
    (that are both Data-In PDU related) don't apply
    here. I'm concluding that these sentences are
    making some (unwelcome) assumptions about target
    implementation details (e.g., ExpDataSN in the role
    of a variable used to track the DataSN of the next
    Data-Out PDU that a target expects to receive for
    this command). If so, I would like such assumptions
    dropped and no MUSTs (and MAYs) imposed on a target
    implementation. If I'm wrong, somebody please explain
    to me what was meant here.
    +++ will fix text +++
    "Bonus" :-) problem:

    While we're at 6.1.2, the start of the 3rd paragraph
    also got me thinking and browsing the draft for
    quite a while. I don't like the "This is true even
    when the CmdSN can be reliably ascertained..."
    phrase. The problem is, I don't see how it could not
    be reliably determined for rejected PDUs. My thinking
    is that the only way to not be able to reliably
    determine CmdSN is in the case of header digest
    errors.  +++ Yes +++
    But in this case, the PDU must be silently dropped,
    and not be answered with a Reject PDU. Am I wrong

    somewhere? If not, can we change the sentence I
    mentioned to something that explains that for rejected
    PDUs, the target will necessarily have a good CmdSN,
    but still must not use it"?

    +++ because there was a feeling that retrying the whole PDU (even if only the immediate data failed was a simpler option +++

    Help on these issues will be much appreciated.

     Martins Krikis, Intel Corp.

    Disclaimer: These opinions are mine only and
               may not reflect those of my employer.





    __________________________________________________
    Do You Yahoo!?
    Try FREE Yahoo! Mail - the world's greatest free email!
    http://mail.yahoo.com/




Home

Last updated: Thu Mar 21 00:18:31 2002
9224 messages in chronological order