SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: Serial Number Arithmetic




    Pat - Comments in text - Thanks, Julo
    _____________________
    Julian,

    The draft says serial number arithmetic as defined in RFC 1982 is to be used
    for comparisons and arithmetic on CmdSN but but it uses operations which are
    inconsistant with that statement.

    2.2.2.1 (bottom half of page 26) re: the processing for MaxCmdSN and
    ExpCmdSN - "and with a difference bounded by 2**31-1" should be deleted (3
    places). The RFC 1982 Serial Number Arithmetic rules cover the meaning of
    addition of a positive integer of limited range and comparison (<, > and =)
    for serial numbers. "Only two operations are defined upon serial numbers,
    addition of a positive integer of limited range, and comparison with another
    serial number."  The operation difference is not defined for Serial
    Numbers.<?xml:namespace prefix = o ns =
    "urn:schemas-microsoft-com:office:office" />

    +++ will fix - 2**31-1 is implied by serial arithmetic+++

    2.2.2.2 re: "difference is greater than 2**31-1" - The operation difference
    is not defined for Serial number arithmetic. Even if it was defined as the
    inverse of addition, addition is only defined for adding a value up to
    2**31-1. Is the intent of the statement that it should cover only the value
    where the results of StatSN > ExpStatSN and StatSN < ExpStatSN are undefined
    or is the intent that it cover that value plus the values where ExpStat >
    StatSN? The former doesn't seem useful and the latter seems rather severe.

    Regards,
    Pat Thaler

    ++++ StatSN follows regular mod(2**32) arithmetic. 2**31 is meant to state the limit at which recovery action becomes mandatory
    Here is a new 2.2.2.2 that perhaps states this clearer+++


    1.1.1.1        Response/Status Numbering and Acknowledging

    Responses in transit from the target to the initiator are numbered.  The StatSN (Status Sequence Number) is used for this purpose. StatSN is a counter maintained per connection.  ExpStatSN is used by the initiator to acknowledge status. The status sequence number space is that of 32bit integers and the arithmetic operations are the regular mod(2**32) arithmetic.

    Status numbering starts with the Login response to the first Login request of the connection. The Login response includes an initial value for status numbering.

    To enable command recovery the target MAY maintain enough state information to enable data and status recovery after a connection failure.  A target can discard all the state information maintained for recovery after the status delivery is acknowledged through ExpStatSN.

    A large absolute difference between StatSN and ExpStatSN may indicate a failed connection. Initiators undertake recovery actions if the difference is greater than an implementation defined constant that SHALL NOT exceed 2**31-1.

    Initiators and Targets MUST support the response-numbering scheme.



Home

Last updated: Tue Oct 09 17:17:25 2001
7165 messages in chronological order