|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: CmdSN during the Login phaseJulian 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 |