|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI: ISID issueDavid, Comments in line. Jim Hafner Black_David@emc.com on 10/04/2001 06:56:46 PM To: Jim Hafner/Almaden/IBM@IBMUS, Black_David@emc.com cc: Subject: RE: iSCSI: ISID issue Jim, > As I said in my last note, I'm willing to abandon use of the ISID for the > purposes of naming SCSI Initiator Ports and replace that with some text key > (so that ISIDs are removed from the dual role of identifying sessions AND > SCSI initiator ports). But I haven't seen any specific proposal to that > effect and that addresses all the issues involved (as outlined also in my > last note). Ok, I think this is the key piece of your last note: > My point general point is > that I believe we need to have an unambiguous identifier of the SCSI > initiator port. This is for reasons of > (a) persistent reserverations (as defined today) as well as for future > extensions > (b) there is an obligation today (I think) for the transport layer to > present to the OS layers above a "picture" of the SCSI Initiator Ports > (isn't that what you keep saying goes in /dev stuff?). Wedge drivers rely > on this stuff too. > (c) some access control stuff (as defined by T10) but this is not a hard > requirement I would do the following: (a) Set aside all notion of "future extensions" thereby removing a need for an externally visible iSCSI Initiator Port Name for this purpose. (b) Use the iSCSI Initiator Node Name + iSCSI Target Node Name + TSID for this purpose. (c) Do nothing in the absence of a "hard requirement", and try to use the Initiator Node Name for this purpose rather than a Port Name. <JLH> If we do (b), then we're effectively having hte target "name/identify" SCSI Initiator Port. OK, now, suppose the initiator has two sessions active to given target portal group. On one (say with TSID=5) he sends persistent reserve registration and on another (say with TSID=7) he sends persistent reserve registration + reservation. Now the target resets and the initiator cleans up context and starts up one new session. What does the target do? Does it assign TSID=5 or 7 or 9? What logic does it use? The order in which they were originally established? Does it decide to use 7 cause that had more 'stuff' associated with it? Does it decide to use 9 so that it can forget/discard all the persistent reservation information? The point here is that the target doesn't have any basis on which to bind the persistence property based on initiator port identifier. I just don't see how that works even in today's model. I don't know what you mean by (c). What "purpose" are you talking about? </JLH> I would plan to deal with "future extensions" via a possible "future text key" to be specified after the "future extensions" are so that we have a concrete set of requirements and objectives to work to. In the Interim, we can advise T10 that iSCSI strongly prefers reservations to be associated with Initiators, rather than Initiator Ports. > In fact, if we do find an alternative to the ISID for naming SCSI Initiator > Ports, then the ISID would be irrelevant to the SCSI model (as the TSID is > now) and we won't need the ISID rule anymore (we'd need another rule for > port names, however). This includes one more reason: (d) iSCSI entity to which the SAM2 concept of SCSI Initiator Port maps to. As we discussed, and I think agreed, earlier, it is sufficient to assert the existence of such an entity in an iSCSI implementation (some sort of session data structure) for the purpose of mapping, but not provide an externally visible name that is independently useful outside the bounds of the specific iSCSI implementation. <JLH> But I also argued that existing OS's like to see some consistency (you've even said they put stuff in /dev) on their initiator ports. If these are all driven by the target (in the sense of identification), then where can the iSCSI layer provide such consistency? </JLH> I think this leads to removing ISIDs and the ISID RULE without substituting a port name rule. What goes wrong if this is done? <JLH> I hope my discussion above touches on what I see as going wrong. </JLH> > We can then ask if there is any value in the iSCSI > protocol for either the ISID or the TSID (as I did many many > months ago prior to this dicussion). I'm not seeing any. We might be better off using that field to hold the Target Portal Group number; TSIDs would then only need to be unique to an Initiator within a Target Portal Group, and hence could be independently managed on a per-Portal Group basis, as opposed to the current TSID RULE that spans the entire Target (instead of configuring TSID ranges, one configures the Portal Group Number, which probably needs to be configured anyway). This also makes any attempt to span Target Portal Groups or recover a session across Target Portal Groups immediately obvious to the Target (the first is forbidden, the second might work, but probably requires special handling at the Target, and may need some more protocol support). One consequence of this field change would be to add Target Portal Group to (b) above, and that may actually be a good thing as it forces exposure of this fundamental level of structure. <JLH> You're proposal to include the target portal group number in the TSID is an *implementation of configuring TSID ranges* for each target portal group, isn't it? In fact, that would be how I would implement it my target (if I was building one, whether the spec said that it had this form or not -- and I'm implement my host driver pretty much the same way, via enumeration of drivers/devices (which pretty much constitute initiator portal groups) as they are discovered/loaded by the OS). Such an implementation guarantees compliance with the TSID RULE (and would do the same for the ISID RULE as well). So, you haven't avoided it, you've simply spec'ed an implementation that meets the requirements. The proposal to include the target portal group tag in the message header (either within or separate from the TSID) is an independent issue from the ISID one. </JLH> John had previously had a bad reaction to my additional suggestion to change the TSID field size to 24 bits and the Portal Group field size to 8 bits if the ISID to Target Portal Group change is made, but that's a second order issue at best (and one that I don't care that strongly about). Are we getting anywhere? 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: Thu Oct 04 19:17:45 2001 7047 messages in chronological order |