SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI state transitions



    
    Ok.. here is what I had in mind before I saw the new state diagram.
     See http://www.bell-labs.com/user/sandeepj/conn.pdf
    
    This is probably not detailing all the events/actions but I sincerely
    think the current 14-state machine probably wont make it as-is 
    into most implementations (i.e. it will get ignored by the 
    silent majority - overspecification creates the same result as
    underspecification)
    
    To respond to all the comments below :
    
    1) You are right, the states for target & initiator may be
       the same but the transitions events are different.  
       Separating the diagrams will make it *much* easier to read.
       See Barry's (Reinhold) login phase diagrams for a good example.
      
    2) State S13-BUSY can get confused with full-feature phase.
       RECOVERY_START sounds like a better name.  
    
    3) As regards TCP-related state, I think we are talking of nested
       state machines.  From my limited knowledge of VHDL, I think
       these would become nested entities in a design hierarchy with
       their own state machines - the iSCSI state machine would be
       blocked until the TCP state machine comes back with a new
       connection and then enable the READY/GRANT signal or whatever.
       I still dont think the TCP state needs to show up in iSCSI 
       connection state - it may be correct but it does not seem necessary.
    
    regards,
    -Sandeep
    
    "Mallikarjun C." wrote:
    > 
    > Sandeep,
    > 
    > Thanks for the comments.
    > 
    > >pages 5-6 look good
    > >but pages 1-4 have a high information density.
    > >(Uneasy rests the eye which traces the transitions..)
    > 
    > Not sure what's implied above....
    > 
    > I was merely trying to keep the pdf file small.
    > 
    > >I suspect the primary problem is that the initiator and
    > >target connection state diagrams have got combined into
    > >one diagram.
    > 
    > Depends on the viewpoint.  Out of 30 transitions, 7 are
    > role-specific, rest are role-agnostic - that is 76.6% are
    > the same.  I consider duplicating >75% in two separate diagrams
    > as unnecessary.  Besides, 100% of the transitions are the same
    > for both roles in both connection recovery and session state
    > diagrams.  While this hasn't been a "problem" for any of the
    > reviewers so far, let us wait for more comments.
    > 
    > >State S13 should be called "suspended" or "to_be_recovered"
    > >  The tasks are undoubtedly "busy" but the connection is
    > >  certainly suspended.
    > 
    > I am not that certain.  The connection state machine is simply
    > entering into the recovery state diagram, S13 is _not_ a suspended
    > dead end.  When in S13, CSM-R is actively counting time to
    > possibly take transition M1 to get to R3.
    > 
    > Would RECOVERY_START be a better name than BUSY?
    > 
    > > We seem to be tracking the TCP state (S2, S12 for SYN,FIN)
    > >  It adds to the complexity and sidetracks one
    > >  from the main purpose, which (i thought) was to document
    > >  error recovery.
    > 
    > Sorry, not true - section 6 goes beyond error recovery(section 7).
    > As stated in the preface, these document the entire life of the
    > iSCSI connection and iSCSI session.
    > 
    > At the iSCSI level, we have to clearly specify how iSCSI state
    > machines react to transport connection events, since an implementation
    > must deal with those.  Section 1.2.6 clearly lays out how to deal with
    > transport connection termination events for the same reason.
    > 
    > >Assume that connection
    > >  establishment and destruction is an action on transition
    > ..
    > >  On error, the connection will be closed and the state can be
    > >  restored to S1 in one step.
    > 
    > These state diagrams are hoped to be implementable "as is".
    > In reality, connection establishment is not atomic - an iSCSI
    > driver/ASIC has to send a connect request and wait for the
    > result, S2 represents the state of the iSCSI connection record
    > during that time.  Similar comments apply for connection
    > termination.
    > 
    > Regards.
    > --
    > Mallikarjun
    > 
    > Mallikarjun Chadalapaka
    > Networked Storage Architecture
    > Network Storage Solutions Organization
    > MS 5668 Hewlett-Packard, Roseville.
    > cbm@rose.hp.com
    > 
    > >Mallikarjun,
    > >
    > >Just a few comments on this.. pages 5-6 look good
    > >but pages 1-4 have a high information density.
    > >(Uneasy rests the eye which traces the transitions..)
    > >
    > >I suspect the primary problem is that the initiator and
    > >target connection state diagrams have got combined into
    > >one diagram.  As a result, most states as well as transitions
    > >have got special-cased as initiator-only or target-only.
    > >
    > >(For example, T1, T2, T3, T7, T15 are all initiator-only)
    > >
    > >Other points:
    > >a) State S13 should be called "suspended" or "to_be_recovered"
    > >  The tasks are undoubtedly "busy" but the connection is
    > >  certainly suspended.  The state name must reflect the state
    > >  of the connection, not the individual tasks.
    > >
    > >b) We seem to be tracking the TCP state (S2, S12 for SYN,FIN)
    > >  It adds to the complexity and sidetracks one
    > >  from the main purpose, which (i thought) was to document
    > >  error recovery.   If we remove the TCP state tracking, we
    > >  may be be able to eliminate some states (S2, S12, etc)
    > >  and keep the focus on iSCSI.  Assume that connection
    > >  establishment and destruction is an action on transition,
    > >  not a whole new state to document.
    > >
    > >c) Transitions T7, T8 can be removed. How individual implementations
    > >  behave on login errors (do a retry/bailout) need not be covered.
    > >  On error, the connection will be closed and the state can be
    > >  restored to S1 in one step.
    > >
    > >All in all, it should be possible to express the connection state
    > >for each end (with error recovery) in about 7-8 states.
    > >
    > >The following patterns would then be easy to spot:
    > >1) There is one way to move from FREE to LOGGED_IN
    > >2) There are four ways to move from LOGGED_IN to FREE
    > >   a) by self-initiated logout
    > >         -target sends Async
    > >         -initiator sends Logout command
    > >   b) by "other-end" requested logout
    > >         -target receives a Logout command
    > >         -initiator receives an Async message
    > >   c) a transport failure followed by connection recovery failure
    > >         which indicates a need to abort tasks.
    > >   d) a transport failure followed by connection recovery success
    > >         which indicates a clean shutdown.
    > >
    > >regards,
    > >-Sandeep
    > >
    > >
    > >"Mallikarjun C." wrote:
    > >>
    > >> All:
    > >>
    > >> Excuse my posting of the (relatively small sized, 27KB)
    > >> pdf file with the iSCSI state diagrams.  I'll post a URL
    > >> shortly, but I wanted to get this out sooner to give
    > >> reviewers a graphical description of rev07, section 6.
    > >>
    > >> This was reviewed in the ERT forum, and the ASCII versions
    > >> of this slide set were incorporated into rev07.
    > >>
    > >> Mallikarjun
    > >>
    > >> Mallikarjun Chadalapaka
    > >> Networked Storage Architecture
    > >> Network Storage Solutions Organization
    > >> Hewlett-Packard, Roseville
    > >> cbm@rose.hp.com
    > >>
    > >>   ------------------------------------------------------------------------
    > >>                               Name: iscsi_states.pdf
    > >>    iscsi_states.pdf           Type: Portable Document Format (application/pdf)
    > >>                           Encoding: base64
    > >>                    Download Status: Not downloaded with message
    > >
    


Home

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