Subject: RE: iSCSI: definition of TSID (2.11.4 of draft 07)

From: "Jim Hafner" <[email-masked]>
Date: Tue, 28 Aug 2001 15:15:35 -0700

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)" <[email-masked]>@ece.cmu.edu
on 08/28/2001 02:46:45 pm

Sent by:  [email-masked]

To:   [email-masked]
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: [email-masked]

> -----Original Message-----
> From: Jim Hafner [mailto:[email-masked]]
> Sent: Tuesday, August 28, 2001 12:59 PM
> To: [email-masked]
> 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
>

---

From: "Mallikarjun C." <[email-masked]>
Date: Tue, 28 Aug 2001 16:10:24 PDT

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.
[email-masked]