SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: Value of "unlimited". Was Re: iSCSI: current UNH Plugfest



    Julian:
    
    If I understand correctly what Tow was asking for, and your response to
    him, this means that the statement:
    
    "A value of 0 MAY be used as a "don't care" offer in negotiations."
    
    should be removed from the description in Appendix D of draft 9 for
    the 6 keys:
    
    MaxRecvPDULength
    MaxBurstSize
    FirstBurstSize
    LogoutLoginMaxTime
    LogoutLoginMinTime
    MaxOutstandingR2T
    
    
    The statement in section 2.2.4 on page 31 should also be removed:
    
    "For numerical negotiations, the value 0 MAY be specified by the
    offering party as a "don't care"/"unlimited" value for parameters
    that explicitly allow it; in this case, the responder may choose any
    legal value for the parameter."
    
    
    Thanks,
    
    Bob Russell
    InterOperability Lab
    University of New Hampshire
    rdr@iol.unh.edu
    603-862-3774
    
    
    
    On Thu, 29 Nov 2001, Julian Satran wrote:
    
    > 0 as a stand in for "whatever" is out of version 09.
    > We don't see any need for it. It was originally provide for compatibility
    > with the T10 docs when we had values "residing" in mode pages accessible
    > by SCSI commands.
    >
    > Julo
    >
    >
    >
    >
    > Tow Wang <Tow_Wang@adaptec.com>
    > Sent by: owner-ips@ece.cmu.edu
    > 28-11-01 01:55
    >
    >
    >         To:     "Robert D. Russell" <rdr@io.iol.unh.edu>, ips@ece.cmu.edu
    >         cc:
    >         Subject:        Value of "unlimited". Was Re: iSCSI: current UNH Plugfest
    >
    >
    >
    > Hi all.
    >
    > I fully agree with the suggestions for issue 4. If we really need to
    > reserve a
    > value to mean "unlimited" or "infinite", could we use a value of all bits
    > set to
    > one to indicate this? (Specifically, 0xFFFFFF or 0xFFFFFFFF would be great
    > for
    > most 32-bit processors and above.) This would make arithmetic comparisons
    > more
    > intuitive, IMHO.
    >
    > "Robert D. Russell" wrote:
    >
    > > Attached are the new issues that arose during the iSCSI plugfest
    > > at UNH on Wednesday 31-Oct-2001.
    > >
    > > (Note: these issues do not take into account any modifications or
    > > clarifications that occured in the standard due to the issues raised
    > > on Monday or Tuesday.)
    > >
    > > 4. Three numeric keys (MaxRecvPDULength, MaxBurstSize, FirstBurstSize)
    > >    now allow: "A value of 0 indicates no limit."
    > >
    > >    Is this useful?  Does it buy anything?
    > >
    > >    The difficulties implementers are having with this are:
    > >
    > >    1) It is a special case.
    > >    2) It causes discontinuous ranges (for example, [0,64..2**24])
    > >    3) It violates the min/max function normally used for the key.
    > >    4) There is always a limit anyway.
    > >
    > >    Consider FirstBurstSize, which can have a value that is described
    > >    as "<0|number-64-2**24>", and for which the minimum of the 2 numbers
    > >    is selected.
    > >
    > >    I one side offers 0 to mean unlimited, and the other side
    > >    has a limit, it will reply with that limit, say 128 Kbytes.
    > >    Therefore, the result is not min(0, 128K) but rather max(0, 128K).
    > >    The statement in the standard that "the minimum of the 2 numbers is
    > >    selected" is therefore wrong when one of the numbers is 0.
    > >
    > >    Furthermore, when an initiator or target receives an offer for one
    > >    of these keys, it cannot simply check that the offered value is
    > >    legal by testing it against some minimum and maximum.  It must first
    > >    check for 0 and then only if that check shows the value is non-zero
    > >    can it do the min/max range check for legality (i.e., 64-2**24).
    > >
    > >    Finally, there is always a limit. If nothing else it is the
    > >    limit imposed by the 24-bit DataSegmentLength field of the PDU
    > >    requesting the transfer.  It is useless to specify a FirstBurstSize
    > >    (or MaxRecvPDULength or MaxBurstSize) any bigger than that, because
    > >    the largest possible DataSegmentLength in any PDU that can use
    > >    this value is 2**24-1.
    > >
    > >    The suggestion is to just eliminate this special case of 0 and
    > require
    > >    that the range 64-to-(2**24-1) be used instead -- it has exactly the
    > >    same effect in all cases, it is easier to describe in the standard
    > >    because it avoids all the extra words, and it is easier to code
    > >    because it avoids all the special cases.
    > >
    > >    NOTE: the standard should specify the limit in the ranges for
    > >    MaxRecvPDULength, MaxBurstSize, and FirstBurstSize as 2**24-1 instead
    > >    of 2**24.  The number 2**24 cannot be represented in the 24-bit
    > >    DataSegmentLength field and therefore can never be used.
    >
    > --
    > Tow Wang
    > Adaptec Software Engineer       Telephone: 408 957 4838
    > Mail stop 46                               800 869 8883 x4838
    > 691 South Milpitas Boulevard    Fax:       530 686 8023
    > Milpitas, California 95035      E-mail:    Tow_Wang@adaptec.com
    >
    >
    >
    >
    >
    


Home

Last updated: Thu Nov 29 22:17:42 2001
7947 messages in chronological order