SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: CmdSN during login



    This seems too clever by half.  If I understand Julian's
    example correctly, it looks like a task management command
    sent for immediate delivery is being retried on the second
    connection.  Retrying a command that was sent for immediate
    delivery and hence does not have its own CmdSN sounds difficult;
    how is the target supposed to figure out whether the original
    was executed?  Clear-ACA is somewhat unique in this fashion
    as unintentionally doing it twice is a cause of potential
    grief - hence it needs its own CmdSN if it's ever going
    to be retried, and I suspect the upshot here is to
    RECOMMEND use of a CmdSN and ordered delivery for Clear ACA.
    
    I am completely mystified about why the Login ought to be
    ordered with respect to the Clear ACA on the other connection,
    as there's no interaction between those two commands.
    Retrying the Clear ACA seems preferable, and one then gets
    some sort of reasonable interaction between the original
    Clear ACA and the retry.
    
    In contrast, I think Julian's original concern about the
    LU and Target Resets is misplaced.  If the initiator is
    not sure whether the reset occurred, the right thing to
    do is open up a new connection and issue a new reset (i.e.,
    not a retry of the one from the old connection) using
    immediate delivery just to be sure.  A well-placed TCP
    RST on the original connection wouldn't hurt either.
    Once the target's in a known state, it becomes possible
    to resume operations.
    
    Let's keep in mind that we're dealing with error situations
    in which correctness is more important than performance,
    and hence the inability to issue more commands until things
    settle down is acceptable.  I agree with Mark that requiring
    immediate delivery on all login commands and text commands
    in the login phase seems like the right approach.
    
    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
    ---------------------------------------------------
    
    > -----Original Message-----
    > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > Sent: Wednesday, August 15, 2001 9:28 AM
    > To: ips@ece.cmu.edu
    > Subject: Re: CmdSN during login
    > 
    > 
    > Mark,
    > 
    > I am uneasy about mandating the I bit instead of recommending it strongly
    > and I am against recommending for the CmdSN field other values than our
    > "reference" CmdSN (i.e., your preferred 0).
    > 
    > Consider the following scenario:
    > 
    > Connection1:
    > I->T 
    > c1(lu1)c2(lu1)c3(lu1)c4(lu2)c5(lu2)c6(lu2)Clear-ACA-LU1(#7) c7(lu1)
    > c8(lu1) c9(lu1)
    > 
    > Command are executed at target but no statuses make it hardly back.
    > C2 ends in an error that blocks the execution of C3.  Clear-LU1 is meant
    to
    > clean the error.
    > No other traffic after the error report makes it back.
    > 
    > Initiator starts connection 2 and issues a login+restart for connection 1
    > 
    > The target sees the following sequence
    > 
    > c1,c2,c3,c4,c5,c6, Login, Clear-LU1(#7), c7, c8, c9
    > 
    > Target not having a reference for the logout/login will probably not
    > execute Clear-ACA-LU1(#7).
    > 
    > The initiator can now reissue c9,c8,c7,Clear-ACA-LU1 and all will be
    > dropped (when c7 arrives)  before Clear-ACA-LU1 is executed.
    > 
    > Although this a "legal" sequence and actions are legal (but not optimal) I
    > am afraid that there are other sequences in which the side effects are
    > "non-serial" schedules.
    > 
    > Julo
    > 
    > 
    > 
    > 
    > 
    > 
    > Please respond to Mark Bakke <mbakke@cisco.com>
    > 
    > Sent by:  mbakke@cisco.com
    > 
    > 
    > To:   Julian Satran/Haifa/IBM@IBMIL
    > cc:   ips@ece.cmu.edu
    > Subject:  Re: CmdSN during login
    > 
    > 
    > 
    > Julian-
    > 
    > What are the specific scenarios where this would happen?  My
    > assumption has been that there is exactly one login exchange
    > when a connection is established, and if a connection is logged
    > out for some reason, that connection is destroyed.  To do
    > another login, a new connection would have to be created.  If
    > a connection is joining a session already in progress, how
    > would it make any difference if task management commands were
    > happening in full feature phase within other connections on
    > the session?  Why would the login have to wait?  You mentioned
    > that there were other ways to handle this.  Can we settle on
    > using the "other ways" instead?
    > 
    > I do think that your suggestion of mandating the I bit set
    > during login and negotiation would work; if the I bit is set,
    > the CmdSN is ignored and can be set to anything (I'd prefer
    > zero).  This effectively means that CmdSN does not start
    > incrementing until full feature phase, which is what we wanted,
    > but is still in the login and text command format "just in case"
    > it's needed at some other time.
    > 
    > However, I would like to strongly word this such that the login
    > and negotiation phases always set the I bit, send CmdSN=0, and
    > ignore CmdSN on receive, until full feature phase is started.
    > I think that a statement like "use whenever adequate" is too
    > weak and ambiguous.
    > 
    > --
    > Mark
    > 
    > Julian Satran wrote:
    > >
    > > I can see scenarios in which you would want the login 
    > request  be regular
    > -
    > > as when you issue it after
    > > a task management clear LU or reset command and want to 
    > make sure that it
    > > executed after the clear and the CmdSN clearly indicates 
    > that.  However
    > > even this effect can be achieved by other means and the 
    > discussion is
    > > rather academic - should we mandate the I bit in the login 
    > phase (MUST)
    > or
    > > just say that it should be used whenever adequate and 
    > explain why (which
    > I
    > > prefer) as it won't be required in all cases (e.g., it is 
    > not necessary
    > in
    > > a session establishing login).
    > >
    > > Julo
    > >
    > > "BURBRIDGE,MATTHEW (HP-UnitedKingdom,ex2)" 
    > <matthew_burbridge@hp.com>
    > > @ece.cmu.edu on 13-08-2001 19:34:56
    > >
    > > Please respond to "BURBRIDGE,MATTHEW (HP-UnitedKingdom,ex2)"
    > >       <matthew_burbridge@hp.com>
    > >
    > > Sent by:  owner-ips@ece.cmu.edu
    > >
    > > To:   ips@ece.cmu.edu
    > > cc:
    > > Subject:  RE: CmdSN during login
    > >
    > > Could commands sent during the login phase (ie LOGIN + 
    > TEXT) be mandatory
    > > to
    > > be immediate and therefore MUST have the I bit set or is 
    > there a reason
    > why
    > > non-immediate login phase commands make sense?
    > >
    > > Cheers
    > >
    > > Matthew Burbridge
    > >
    > > -----Original Message-----
    > > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > > Sent: Saturday, August 11, 2001 4:37 PM
    > > To: ips@ece.cmu.edu
    > > Subject: Re: CmdSN during login
    > >
    > > There was ambiguity at first login that we have cleared in 
    > text and as I
    > > said I don't see any good reason
    > > for another case of immediate when we have the immediate 
    > bit available.
    > > What we could do is add anothe pragraph to 8
    > > recommending when to use the I bit in login.
    > >
    > > Julo
    > >
    > > "Eddy Quicksall" <ESQuicksall@hotmail.com> on 10-08-2001 18:13:32
    > >
    > > Please respond to "Eddy Quicksall" <ESQuicksall@hotmail.com>
    > >
    > > To:   Julian Satran/Haifa/IBM@IBMIL
    > > cc:   <ips@ece.cmu.edu>
    > > Subject:  Re: CmdSN during login
    > >
    > > But, what if someone does this without setting the 
    > Immediate bit? What
    > > would
    > > one do?
    > >
    > > What is wrong with just making the CmdSN not run during 
    > login? It seems
    > > like
    > > it was an arbitrary choice in the first place since it was 
    > originally
    > > optional and not using it actually worked.
    > >
    > > If CmdSN is stated as only used in FFP, then I don't see 
    > any ambiguity.
    > >
    > > Eddy
    > > ----- Original Message -----
    > > From: "Julian Satran" <Julian_Satran@il.ibm.com>
    > > To: <ips@ece.cmu.edu>
    > > Sent: Friday, August 10, 2001 2:43 AM
    > > Subject: Re: CmdSN during login
    > >
    > > >
    > > > Sanjay,
    > > >
    > > > If you want to ignore CmdSN and expedite Login processing 
    > you can do so
    > > by
    > > > having the commands being issued as immediate.
    > > > This will help us keep away from creating ambiguity about 
    > (or another
    > > > conditional) for when CmdSN is to be used or not.
    > > >
    > > > Julo
    > > >
    > > > Mark Bakke <mbakke@cisco.com>@ece.cmu.edu on 09-08-2001 23:55:25
    > > >
    > > > Please respond to Mark Bakke <mbakke@cisco.com>
    > > >
    > > > Sent by:  owner-ips@ece.cmu.edu
    > > >
    > > >
    > > > To:   Sanjay Goyal <sanjay_goyal@ivivity.com>
    > > > cc:   "Ips (E-mail)" <ips@ece.cmu.edu>
    > > > Subject:  Re: CmdSN during login
    > > >
    > > >
    > > >
    > > >
    > > > Sanjay-
    > > >
    > > > I absolutely agree with this; CmdSN is owned by the session, and
    > > > should not be used until the connection has fully joined 
    > the session,
    > > > which means full feature phase.
    > > >
    > > > This should also clean up any ambiguity on when to start
    > > > using CmdSN.
    > > >
    > > > --
    > > > Mark
    > > >
    > > > Sanjay Goyal wrote:
    > > > >
    > > > > Hi
    > > > >
    > > > >  Assuming Target and Initiator support multiple 
    > connections and the
    > > > session
    > > > > is having multiple connections. Assuming out-of-order CmdSN is a
    > > > possibility
    > > > > for this session.
    > > > >
    > > > >  Connection #   1       |       2       |       3
    > > > > -------------------------------------------------------
    > > > > Login Cmd  CmdSN=0      |   CmdSN=8     |  CmdSN=9
    > > > > Txt   Cmd  CmdSN=1      |               |
    > > > >                                 |               |
    > > > >                                 |               |
    > > > > Login Cmd  CmdSN=7      |  CmdSN=10     |  CmdSN=11
    > > > > -------------------------------------------------------
    > > > > Data Cmd   CmdSN=12     | CmdSN=14      | CmdSN=15
    > > > > Data Cmd   CmdSN=13     |               |
    > > > >                                 |               |
    > > > >
    > > > > CmdSN=7 is last of the Login sequence and it is 
    > acknowledged by the
    > > > Target
    > > > > with "accept login" response.
    > > > >
    > > > > Target would receive the PDUs in this CmdSN order
    > > > >  0 to 7, 8, 9, 12, 10, 11, 13, 14, 15
    > > > >
    > > > > Now as Login and Text PDUs are being processed even 
    > though you have
    > > > received
    > > > > Data Cmd PDUs, you can not pass them to iSCSI layer and 
    > hence you are
    > > > adding
    > > > > latency.
    > > > >
    > > > > What I want to convey from this example is why not use 
    > CmdSN just
    > > during
    > > > the
    > > > > FullFeature phase only.
    > > > >
    > > > > Regards
    > > > > Sanjay Goyal
    > > > >
    > > > >
    > > >
    > >
    > --------------------------------------------------------------
    > ------------
    > > --------------------------
    > > >
    > > > >
    > > > >    Part 1.2    Type: application/ms-tnef
    > > > >            Encoding: base64
    > > >
    > > > --
    > > > Mark A. Bakke
    > > > Cisco Systems
    > > > mbakke@cisco.com
    > > > 763.398.1054
    > > >
    > > >
    > > >
    > > >
    > 
    > --
    > Mark A. Bakke
    > Cisco Systems
    > mbakke@cisco.com
    > 763.398.1054
    > 
    > 
    > 
    


Home

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