SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: ISCSI: Urgent Flag requirement violates TCP.



    Let me see if I can put a fast end to the ordering discussion.  Matt
    originally
    wrote: 
    
    > > For example, if the following iSCSI messages are sent:
    > >
    > > Command A sent to target  ->
    > > Command B sent to target  ->
    > > <- target sends data/status for command A
    > > <- target sends data/status for command B
    > >
    > > If the TCP segment containing the data/status for A was lost, but
    framing was
    > > regained to receive the data/status for B, there is nothing wrong with
    > > completing command B even though a message for command A was lost and
    > > needs retransmitting.  Indeed, the initiator SCSI layer would not know
    the
    > > difference than if the disk drive completed command B first instead of
    A.
    
    And Matt subsequently wrote:
    
    >  iSCSI already specifies that SCSI commands are to be
    > delivered to SCSI in the same order they were presented to iSCSI (and it
    > achieves this by useing the Command reference numbers).  Therefore, there
    should
    > be no requirements on the "orderness" on the SCSI/iSCSI interface based on
    what
    > the lower level transport is.
    
    That's part of the solution, but may not be the entire story.  The easiest
    scenario to
    understand is the transmission of commands to the target.  If the command
    for
    A is dropped, having the target complete B and send the response before A
    is retransmitted is clearly wrong because command A was supposed to be
    presented to the target first, so this has to be disallowed.  For
    data/status, the
    situation is less obvious, but still a potential problem.  Suppose command B
    aborts
    command A; if A's data/status is dropped and retransmitted, and B's
    data/status
    is presented to SCSI on arrival, the completion of A arrives after an abort
    of A
    has failed because there was nothing to abort at the target (A was complete
    at the target when B arrived to abort it).  This seems peculiar to say the
    least, and I can easily envision software/firmware getting confused by it.  
    FWIW, this can't happen in Fibre Channel because the completion of A won't
    be
    retransmitted.  If this is going to be allowed, it and related peculiarities
    need to
    be carefully documented, and I suspect that there are some existing OS
    implementations of SCSI that will get indigestion as a result.  I'm not sure
    that
    this is a good idea.
    
    The issue of whether the Urgent feature should be a "MUST", "SHOULD", or
    "MAY" will
    need to be determined by the WG.  My concern about the use of MUST in this
    instance
    is based on the following text from Section 6 of RFC 2119 (which defines
    MUST):
    
       Imperatives of the type defined in this memo must be used with care
       and sparingly.  In particular, they MUST only be used where it is
       actually required for interoperation or to limit behavior which has
       potential for causing harm (e.g., limiting retransmissions)  For
       example, they must not be used to try to impose a particular method
       on implementors where the method is not required for
       interoperability.
    
    It is not clear to me that the Urgent feature is "required for
    interoperation or to limit behavior
    which has potential for causing harm".  I'm prepared to be convinced
    otherwise, and would like
    to hear from implementers other than Matt on this subject, and specifically
    comments on
    his statement that:
    
    	... high speed implementations will require framing in order
    	to prevent a massive amount of buffer resources to "buffer up" TCP
    segments that
    	arrive after a dropped TCP segment.
    
    Thanks,
    --David
    
    ---------------------------------------------------
    David L. Black, Senior Technologist
    EMC Corporation, 42 South St., Hopkinton, MA  01748
    +1 (508) 435-1000 x75140     FAX: +1 (508) 497-8500
    black_david@emc.com       Mobile: +1 (978) 394-7754
    ---------------------------------------------------
    
    


Home

Last updated: Tue Sep 04 01:06:29 2001
6315 messages in chronological order