|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: definition of TSID (2.11.4 of draft 07)Jim, Sorry, I was travelling, so couldn't get back sooner. Let me say first off that I am not disagreeing with you, only suggesting more explicit wording. I see that the text you sent offline does contain "assumption A" stated explicitly - thanks. I believe that's necessary since one could very well attach new connections to an existing SSID when its uniqueness is maintained between just the target portal group and the initiator. I am still though missing the rationale for mandating uniqueness of SSID between the target (across all portals) and initiator. I assume target knows the portal group based on which IP address the login arrives on - eventhough not explicitly carried in the payload. Coming to my harping on the nexus identifier, there are two reasons - - It seems to provide a nice rationale for the above issue (refer to my previous mail at the bottom on how). Please set me straight if I am totally ignoring something I shouldn't. - You stated that iSCSI is the first transport which opens the possibility of "parallel nexus" and so iSCSI mandates implementations not to allow it - but appears to stop short of specifying an identifier/means to enforce this mandatory requirement. May be it's just me who is troubled by this... Regards. -- Mallikarjun Mallikarjun Chadalapaka Networked Storage Architecture Network Storage Solutions Organization MS 5668 Hewlett-Packard, Roseville. cbm@rose.hp.com Jim Hafner wrote: > > Mallikarjun, > > There are two assumptions that go into the model and requirements (as I see > it). One is currently implicit in draft-07 and is an iSCSI issue, the > other is a bit more explicit and is a SCSI issue with iSCSI implications. > These are > > A) (Uniqueness of SIDs) Between a given iSCSI Initiator Node and iSCSI > Target Node there can be only one session with a given SID. [This is > implied by the language that says that a login attempt that uses an > existing SID=ISID||TSID is an attempt to *add* a connection to the existing > session. (This is the response I got from Julian when I suggested making > this explicit.) > > B) (No parallel I_T nexus) Between a given SCSI Initiator Port and SCSI > Target Port there can be only one nexus. [With the definition of SCSI > Initiator Port as the endpoint of a session identified by iSCSI Initiator > Name + ISID, and with the definition of the SCSI Target Port as the target > portal group identified by the iSCSI Target Name + portal group tag, we get > the ISID RULE as stated (or intended) in the draft.] > > The minimalist requirement is to meet the these two rules (assumptions). > > There is a typo in the text you quote. It should read "The TSID name space > of the iSCSI Target should be partitioned among the target portal groups". > But as we've discussed this really less of a requirement than it is a > desirable "note to implementers" (and I'm going to propose that this sort > of text move to that section). > > In what you say below, the "no parallel nexus" (assumption B) is enforced > by the ISID RULE. Assumption A (uniquely identified sessions) is enforced > if the target does the right thing when selecting a TSID *to pair with* an > ISID. My text for the definition of TSID simply says that the target > should find a new TSID that enforces Assumption A (no more and no less). > All the stuff about partitioning name space belongs in "notes to > implementers". So, between my proposed definition of TSID and the ISID > RULE, both assumptions are satisfied and the model works. No finer > restrictions are required *by the model*. > > Note that in all this description, we haven't had to provide a formal > definition of "nexus identifier". > The reason is two fold. First, independent of what we might use to > identify them, the I_T nexus is defined as a relationship between a SCSI > Initiator Port and a SCSI Target Port. Assumption B says we can't have two > such relationships active at one time. As I've noted above, the ISID RULE > enforces that. Second, the nexus identifier doesn't get used in SAM-2 > explicitly anyway and in SAM-3 it will probably be "up to the transport to > define AND relative to the viewpoint of the initiator or target". That > last part means that the nexus identifier may not need a globally unique > value, but may depend on whose end of the nexus you're looking from. E.g., > the target side need only track the "relative target port" and need not > care about the external address/name/identifier of that port when defining > its value for the nexus identifier. In short, the nexus identifier issue > is tangential (and we can safely skip it formally). > > Jim Hafner > > [P.S. See also the proposed rewrite of the relevant draft sections in the > stuff I sent you off-line, as well, and see if that doesn't help clarify.] > > "Mallikarjun C." <cbm@rose.hp.com>@ece.cmu.edu on 08/28/2001 06:20:16 pm > > Please respond to cbm@rose.hp.com > > Sent by: owner-ips@ece.cmu.edu > > To: ips@ece.cmu.edu > cc: > Subject: RE: iSCSI: definition of TSID (2.11.4 of draft 07) > > Jim, > > Thanks for the explanation. > > >The model says that the *combination of ISID || TSID* has to be unique > >between a given initiator and a given target. > > Actually, I do not find this formulation stated anywhere > in rev07. > > The closest about TSID assignment policy is this sentence > in section 1.5.3: "The TSID name space of the iSCSI Initiator > should be partitioned among the target portal groups." > My earlier comments were based on this quote. > > More importantly, let me try to understand the reasoning > behind this formulation. The only reason that I could come > up with is to preclude a "parallel nexus". In our previous > conversation, we identified two types of nexus ids for this > enforcement - a)InitiatorName-ISID-TargetName-TargetPortalGroupTag > b)SSID-InitiatorName-TargetName. By choosing the stated > formulation (in conjunction with the ISID RULE), are you > attempting to ensure that a parallel nexus cannot be created > if one goes with either definition? > > Thanks. > -- > Mallikarjun > > Mallikarjun Chadalapaka > Networked Storage Architecture > Network Storage Solutions Organization > MS 5668 Hewlett-Packard, Roseville. > cbm@rose.hp.com > > >Mallikarjun, > > > >What you suggest is *more* than is required for uniqueness! Again, that's > >an implementation choice that goes beyond the model. > > > >The model says that the *combination of ISID || TSID* has to be unique > >between a given initiator and a given target. > >When you say " If there are multiple sessions with an initiator, each > would > >anyway be assigned a different TSID" you are assuming that the TSID alone > >provide the uniqueness (between a pair). It can, but it's more than is > >necessary. > > > >In short, you're still selecting an implementation. Here's two other > >implementations. Suppose I have exactly one Target Portal Group. Then I > >can meet the uniqueness requirements by (a) enforcing the ISID RULE and > (b) > >using TSID=1 *for every session*! This one is "minimalist" with respect > to > >the model. (Because there is only one portal group, I can leverage the > >uniqueness of the ISID to meet the general uniqueness rule -- it's very > >different if I have more portal groups (see note below)) The "maximalist" > >implementation with respect to the model is (a) enforce the ISID RULE and > >(b') use a unique TSID for each session I have regardless of initiator > >name! > > > >The spec should say what is required to implement the model. In my mind, > >that's the rule that says the combination of ISID and TSID (the SID) must > >be unique between a pair (initiator and target). And that's all I'm > >asking for in the definition of TSID. > > > >Jim Hafner > > > >Note: If I had more than one portal group, I might legitimately see the > >same ISID (from the same initiator) come in to each portal group. In that > >case, I need to use a different TSID for each such occurrence. If I say, > >for example, that each portal group always uses it's portal group tag as > >it's TSID (not required, just a choice), then I get uniqueness of SID's > >again. This is again, a minimalist implementation with respect to the > >model. This also gives an example of why the TSID namespace "should" be > >partitioned between the portal groups, so they can always be sure that > they > >won't accidentally create an SID that is the same as an existing one. As > >long as the "half" of the SID one portal group generates is different from > >the half generated by another portal group, there will be no chance of > >collision. [This is delegation of naming authority!!!] The same > principle > >holds on the initiator side in how it generates ISIDs. > > > >Are we getting closer? > > > >"Mallikarjun C." <cbm@rose.hp.com>@ece.cmu.edu on 08/28/2001 04:10:24 pm > > > >Please respond to cbm@rose.hp.com > > > >Sent by: owner-ips@ece.cmu.edu > > > > > >To: Jim Hafner/Almaden/IBM@IBMUS > >cc: ips@ece.cmu.edu > >Subject: RE: iSCSI: definition of TSID (2.11.4 of draft 07) > > > > > > > >Jim, > > > >I see your point about the current wording possibly suggesting > >an implementation option. > > > >Can I suggest the following text: > > > > The TSID is a target-assigned tag which together with the InitiatorName > > uniquely identifies the session within the target. > > > >It appears to me that it's all that's required for uniqueness, I > >don't think we need to mention ISID here. If there are multiple > >sessions with an initiator, each would anyway be assigned a different > >TSID. What am I missing? > >-- > >Mallikarjun > > > > > >Mallikarjun Chadalapaka > >Networked Storage Architecture > >Network Storage Solutions Organization > >MS 5668 Hewlett-Packard, Roseville. > >cbm@rose.hp.com > > > > > >>Marj, > >> > >>Comments in line (as usual...). But for the person of few words, I'd > >agree > >>with just this text (your first sentence only): > >> > >>"The TSID is the target assigned tag for a session with a specific named > >>initiator > >>that, together with the ISID uniquely identifies a session with that > >>initiator." > >> > >>(I moved the word "name" around because the session is with the initiator > >>not with the name.) > >> > >>Jim Hafner > >> > >> > >>"KRUEGER,MARJORIE (HP-Roseville,ex1)" <marjorie_krueger@hp.com> > >@ece.cmu.edu > >>on 08/28/2001 02:46:45 pm > >> > >>Sent by: owner-ips@ece.cmu.edu > >> > >> > >>To: ips@ece.cmu.edu > >>cc: > >>Subject: RE: iSCSI: definition of TSID (2.11.4 of draft 07) > >> > >> > >> > >>I'm curious why you've phrased it this way. I think of it more like; > >> > >>"The TSID is the target assigned tag for a session with a specific > >>initiator > >>name that, together with the ISID uniquely identifies a session with that > >>initiator. > >><JLH> > >>I don't really see the subtle difference between this text and mine, so I > >>guess I don't have any problem with it. At least it doesn't bind the > >>definition to anything SCSI'ish. > >></JLH> > >> > >>However, the target MUST enforce uniqueness of the SSID for a given I_T > >>combination (in order for login and recovery rules to make sense). > >><JLH> > >>I think I see what you're getting at here, but I don't think the words > >>capture it (it looks like an incorrect use of "I_T nexus" (a SCSI thing). > >>Do you mean: > >> > >> "However, the target MUST enforce the uniqueness of the SSID [aside: > >>isn't this 'SID'?] for sessions with a given initiator." > >> > >>If so, I can go with this text, but I think this is stated in other > places > >>and need not be here. But I won't argue if it is also here. > >></JLH> > >> > >>The TSID MAY be a unique tag for a session with a specific initiator > >name." > >><JLH> > >>I don't think this belongs at all. It is an implementation statement and > >>so outside the scope. It's a true statement, but I don't think it should > >>be made explicit (especially in this part of the document -- I'd have > less > >>problem with this in the "Notes to Implementers" but even then it is > >>suggesting a prefered(?) implementation). > >></JLH> > >> > >>I know the last "rule" is more for convenience than to follow the > >"modeling > >>rules" (but that's the most straight forward way to implement TSID > >>assignment?). From the target viewpoint, it must first set the context > of > >>the initiator name, secondly the ISID. > >><JLH> > >>First, it's not necessarily the most straightforward way. It could > >generate > >>a unique TSID for every session regardless of initiator name. That gives > >>it a twobyte pointer to the session context. That's a lot more efficient > >>(perhaps) than having to also have an initiator name in that "pointer". > >>So, if you go with your implementation, you have to index on the > >name+TSID, > >>and that's too big, so you need an indirect pointer to the context and at > >>that point it doesn't really matter what the TSID is relative to other > >>TSIDs; you can use the name + joint SID=ISID||TSID as your index (it's > >only > >>2 bytes more out of a possible 258!). > >> > >>So, I argue for no statement about implementation options, leave that to > >>the clever programmers! > >></JLH> > >> > >>Marjorie Krueger > >>Networked Storage Architecture > >>Networked Storage Solutions Org. > >>Hewlett-Packard > >>tel: +1 916 785 2656 > >>fax: +1 916 785 0391 > >>email: marjorie_krueger@hp.com > >> > >>> -----Original Message----- > >>> From: Jim Hafner [mailto:hafner@almaden.ibm.com] > >>> Sent: Tuesday, August 28, 2001 12:59 PM > >>> To: ips@ece.cmu.edu > >>> Subject: iSCSI: definition of TSID (2.11.4 of draft 07) > >>> > >>> > >>> Folks, > >>> > >>> The following text defines TSID in referenced document (and with the > >>> changes proposed by Mallikarjun): > >>> > >>> "The TSID is a tag that identifies the SCSI initiator port. > >>> TSID is set by > >>> the target. It MUST be valid only in the final response." > >>> > >>> I'm trying to figure out what the TSID has to do with the > >>> SCSI initiator > >>> port. As I understand it, they are completely unrelated (at an > >>> architecture level). In implementation may choose to use the > >>> TSID as a > >>> pointer to the session in a unique way across all sessions in > >>> the target or > >>> in a unique way across all sessions with a given named iSCSI > >>> initiator or > >>> it can do any number of other things. It is, in my opinion, > >>> unrelated to > >>> the SCSI initiator port. > >>> > >>> I would propose the following alternative text: > >>> > >>> "The TSID is a tag set by the target that, together with the ISID, > >>> identifies a unique session with the initiator." > >>> > >>> Comments? > >>> > >>> Jim Hafner > >>> > >> > >> > >> > >> > > > > > > > > > > > >
Home Last updated: Tue Sep 04 01:03:49 2001 6315 messages in chronological order |