SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: CmdSN during the Login phase



    Julian Satran wrote:
    > The issue of the leading connection goes beyon numbering. The leading
    > connection login has to end (successfully) before any other login (if any)
    > can start. Obviously CmdSN starts from the leading login.
    > 
    > The text for CmdSN in Login now reads:
    > 
    > 1.1.1     CmdSN
    > 
    >    CmdSN is either the initial command sequence number of a session (for
    >    the first Login of a session - the "leading" login) or the command
    >    sequence number in the command stream.
    
      That text in 1.1.1 by itself is not sufficient to convince me that
    CmdSN starts from the leading login.  It also needs to be made clear
    that the leading Login PDU is considered part of the session.  In
    earlier drafts, the Login PDU had a field called InitCmdRN, and the
    text seemed to imply the InitCmdRN (and InitStatRN of the Login
    response) refered only to subsequent PDUs, not the current PDU.
    
      If the Login PDU is going to have a valid CmdSN rather than an
    InitCmdSN, why does the Login Response have an InitStatSN rather than
    a StatSN?  The naming is inconsistent, and the InitStatSN text in
    2.11.5 still reads to me as if the InitStatSN refers only to
    subsequent PDUs, and is telling the initiator what StatSN the target
    will start with later, not acting as a StatSN itself.  It would seem
    more consistent for the Login Response to have a StatSN it could use.
    Perhaps that is already the intended meaning, and I'm just finding
    2.11.5 unclear.
    
      Somewhere in the draft, I'd like to see a precise definition of when
    a session starts.  I don't think that either defat 06 or 06-97 is
    sufficiently clear on that point.  By putting a CmdSN on the leading
    Login PDU and calling it the initial CmdSN of a session, a session
    appears to be defined as existing before any PDUs are sent, which
    seems rather odd to me, and not what I would have expected.  It seems
    more natural to me to define a session as existing after a successful
    leading Login.
    
      I suppose a session could be defined as existing as soon as the
    target receives a leading Login PDU, though I'm not sure that
    definition is consistent with section 1.2.1, which states that "A
    session is defined by a session ID that is composed of an initiator
    part and a target part."  I read that as saying that a session exists
    when you have a session id, which contains an ISID and a TSID.  To get
    a TSID, you need the initiator to send the target a Login PDU with an
    ISID.  To get a Login PDU to the target, you need to already have a
    session, since the leading Login PDU is the first PDU of a session.
    There's a circular dependency there.
    
      That definition also seems inconsistent with the first paragraph of
    section 1.2.3, which seems to imply a connection becomes part of
    session only at the end of a login by placing "and mark the connection
    as belonging to an iSCSI session" last, after all of the other login
    activities.
    
      From just a numbering perspective, I agree that numbering starting
    from the Login PDU makes a lot of sense.  The problems I have with the
    draft 06 (and 06-97) come from the definition of a session, since the
    CmdSN is defined as numbering PDUs in a session, not just numbering
    PDUs.
    
    -- 
    Scott M. Ferris,
    sferris@acm.org 
    


Home

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