SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: Use of the A bit




    That is neither the intent nor good enough.

    Status ack may be delayed due to some other hole or no outgoing PDUs. In which case the initiator MUST issue the ACK.
    The text says that if the initiator decides to issue an ACK it must issue it before the status ACK.

    The target MUST take a status ACK as an implicit data ACK.

    I could rephrase the text as follows:

     For sessions with ErrorRecoveryLevel 1 or higher, the target sets this bit to 1 to indicate that it requests a positive acknowledgement from the initiator for the data received.  The target should use the A bit moderately; it MAY set the A bit to 1 only once every MaxBurstSize bytes or on the last Data-In PDU that concludes the entire requested read data transfer for the task from the target's perspective, and MUST NOT do so more frequently than this.

    On receiving a Data-In PDU with the A bit set to 1, the initiator MUST issue a SNACK of type DataACK unless it has received the status and it is able to acknowledge the status on some other outgoing PDU (through ExpStatSN) in which case sending the SNACK of type DataACK is not man-adatory.  If the initiator has detected holes in the input sequence, it MUST postpone issuing the SNACK of type DataACK until the holes are filled. An initiator MUST NOT send a SNACK of type DataACK for the last Data-In PDU for a command after acknowledging the status for com-mand. A status acknowledgement for a command that generated Data-In PDUs is considered by the target as an implicit acknowledgement of the Data-In PDUs if such an acknowledgement was requested by the target.

    Julo


    "Mallikarjun C." <cbm@rose.hp.com>

    18-03-02 19:58
    Please respond to "Mallikarjun C."

           
            To:        Julian Satran/Haifa/IBM@IBMIL, John Hufferd/San Jose/IBM@IBMUS
            cc:        <ips@ece.cmu.edu>
            Subject:        Re: iSCSI: Use of the A bit

           


    John,

    I think you're describing the intent of the wording, though the
    paragraph you point out doesn't seem consistent.

    Here's what I suggest with a few tweaks -

          On receiving a Data-In PDU with the A bit set to 1, if there are no holes
          in the read data until that Data-In PDU, the initiator MUST issue a SNACK
          of type DataACK , or alternatively MAY acknowledge the status for the task
          immediately via ExpStatSN on other outbound PDUs if the status for the task
          is also received.  If the initiator has detected holes in the read data until that Data-In
          PDU, it MUST postpone issuing the SNACK of type DataACK until the holes
          are filled. An initiator also MUST NOT acknowledge the status for the task
          before those holes are filled.  A status acknowledgement for a task that generated
          the Data-In PDUs is considered by the target as an implicit acknowledgement
         of the Data-In PDUs if an acknowledgement was requested by the target.

    I hope this works better....
    --
    Mallikarjun

    Mallikarjun Chadalapaka
    Networked Storage Architecture
    Network Storage Solutions Organization
    Hewlett-Packard MS 5668
    Roseville CA 95747
    cbm@rose.hp.com

    ----- Original Message -----
    From: "John Hufferd" <hufferd@us.ibm.com>
    To: "Julian Satran" <Julian_Satran@il.ibm.com>
    Cc: "Mallikarjun C." <cbm@rose.hp.com>; <ips@ece.cmu.edu>; <owner-ips@ece.cmu.edu>
    Sent: Monday, March 18, 2002 9:17 AM
    Subject: Re: iSCSI: Use of the A bit


    >
    > Julian the following statement is confusing:
    >
    >  "An initiator MUST ONLY acknowledge the status for command that produced
    >  Data-In PDUs after acknowledging the Data-In PDUs if Data-In PDU
    >  acknowledgment is requested by the target.  A status acknowledgement for a
    >  command that generated Data-In PDUs is considered by the target as an
    >  implicit acknowledgement of the Data-In PDUs if such an acknowledgement
    >  was requested by the target."
    >
    > What did you intend to say.  All commands MUST have t status acknowledge,
    > via ExpStatSN, so I do not understand the first sentence.  And if the
    > Data-In PDUs must be acknowledged (if the A bit is set), what is the
    > meaning of the last statement.
    >
    > Since I do not believe there is a need to ack the last Data-In PDU, I am
    > hoping you agree.  But it is not clear.
    >
    > If the Target sets the A bit on the last Data-In PDU, which also has good
    > status set -- and the Initiator has a PDU ready to send to which it can
    > attach the value of ExpStatSN, which will show that the Data-In PDU was
    > received -- there should be no reason to send a extra SNACK for the Data-In
    > PDU.
    >
    > Please tell me that is what you intended to say in the above quoted text.
    >
    >
    > .
    > .
    > .
    > John L. Hufferd
    > Senior Technical Staff Member (STSM)
    > IBM/SSG San Jose Ca
    > Main Office (408) 256-0403, Tie: 276-0403,  eFax: (408) 904-4688
    > Home Office (408) 997-6136, Cell: (408) 499-9702
    > Internet address: hufferd@us.ibm.com
    >
    >
    > "Julian Satran" <Julian_Satran@il.ibm.com>@ece.cmu.edu on 03/17/2002
    > 05:52:46 PM
    >
    > Sent by:    owner-ips@ece.cmu.edu
    >
    >

    > To:    "Mallikarjun C." <cbm@rose.hp.com>
    > cc:    ips@ece.cmu.edu, owner-ips@ece.cmu.edu
    > Subject:    Re: iSCSI: Use of the A bit
    >
    >
    >
    > Dear all,
    >
    > The text for the A bit part (9.7.2) reads now:
    >
    >    A (Acknowledge) bit
    >
    >
    >        For sessions with ErrorRecoveryLevel 1 or higher, the target sets
    >        this bit to 1 to indicate that it requests a positive
    >        acknowledgement from the initiator for the data received.  The
    >        target should use the A bit moderately; it MAY set the A bit to 1
    >        only once every MaxBurstSize bytes or on the last Data-In PDU that
    >        concludes the entire requested read data transfer for the task from
    >        the target's perspective, and MUST NOT do so more frequently than
    >        this.
    >
    >        On receiving a Data-In PDU with the A bit set to 1, the initiator
    >        MUST issue a SNACK of type DataACK.  If the initiator has detected
    >        holes in the input sequence, it MUST postpone issuing the SNACK of
    >        type DataACK until the holes are filled. An initiator MUST ONLY
    >        acknowledge the status for command that produced Data-In PDUs after
    >        acknowledging the Data-In PDUs if Data-In PDU acknowledgment is
    >        requested by the target. A status acknowledgement for a command that
    >        generated Data-In PDUs is considered by the target as an implicit
    >        acknowledgement of the Data-In PDUs if such an acknowledgement was
    >        requested by the target.
    >
    > The ITT mandating text in 9,16.1 will read:
    >
    >        For Status SNACK and DataACK, the Initiator Task Tag is reserved. In
    >        all other cases, the Initiator Task Tag field MUST be set to the
    >        Ini-tiator Task Tag of the referenced command.
    >
    >
    >        Julo
    >
    >
    >
    >
    >




Home

Last updated: Mon Mar 18 18:18:12 2002
9189 messages in chronological order