SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: advancing CmdSN after a command retry rule




    Pat,

    If the connection went through a "restart" (login with the same CID) then the "cleaning" is also not needed.
    Your text modified as follows is acceptable:

    If an initiator issues a command retry for a command with CmdSN R on
    a connection when the session CmdSN register is Q, it MUST NOT advance the CmdSN past R + 2**31 -1 unless the connection is no longer operational, or the connection has been reinstated (see Section 4.3.4 Connection reinstatement), or a non-immediate command with CmdSN equal or greater than Q was issued on the same connection and the reception of the command is acknowledged by the target (see Section 8.4 Command Retry and Cleaning Old Command Instances).

    Thanks,
    Julo



    "THALER,PAT (A-Roseville,ex1)" <pat_thaler@agilent.com>

    06/15/2002 03:39 AM
    Please respond to "THALER,PAT (A-Roseville,ex1)"

           
            To:        Julian Satran/Haifa/IBM@IBMIL, ips@ece.cmu.edu
            cc:        
            Subject:        iSCSI: advancing CmdSN after a command retry rule

           


    Julian,

    I'm having a little trouble understanding this text near the end of 2.2.2.1:

    If an initiator issues a command retry for a command with CmdSN R on
    a connection when the session CmdSN register is Q, it MUST NOT
    advance the CmdSN past R + 2**31 -1 unless a different non-immediate
    command with CmdSN equal or greater than Q was issued on the same
    connection if the connection is still operational, and the reception
    of the command is acknowledged by the target (see Section 8.4 Command
    Retry and Cleaning Old Command Instances). The second non-immediate
    command when sent, MUST be sent in-order after the retried
    command on the same connection.

    What does "different" mean in a different non-immediate command with CmdSN equal or greater than Q"? Isn't any command with a new CmdSN because it has a new CmdSN?

    What is the purpose of "if the connection is still operational"? If a new command is issued on the connection it must still be operational. Perhaps it was intended to mean that if the connection was not operational then CmdSN can be advanced past the limit without this requirement being met.

    There doesn't seem to be any definition of when a connection is "operational". Does the connection leave the operational state when it leaves S5 or is it when it has returned to S1?

    Does "second non-immediate command" mean the command sent on this connection with CmdSN equal or greater than Q? Other commands with Q <= CmdSN < R + 2**31 - 1 may be sent on other connections, so the second command is the second command on this connection, right?

    It isn't clear what the last sentence was intended to do since any command sent before the retry would advance Q so inherently any command sent after the retry with a new CmdSN must be in-order after the retry.

    I suggest the following text plus clarification of the meaning of operational for a connection:
    "If an initiator issues a command retry for a command with CmdSN R on
    a connection when the session CmdSN register is Q, it MUST NOT
    advance the CmdSN past R + 2**31 -1 unless the connection is no longer operational or a non-immediate command with CmdSN equal or greater than Q was issued on the same
    connection and the reception of the command is acknowledged by the target (see Section 8.4 Command Retry and Cleaning Old Command Instances).

    Pat




Home

Last updated: Mon Jun 17 13:18:48 2002
10859 messages in chronological order