Subject: is TargetName always mandatory or not?

From: "Andre Asselin" <[email-masked]>
Date: Tue, 30 Oct 2001 19:08:42 -0500

In section 5 of the spec, it says "If the SessionType is not
"discovery" then the initial Login Request MUST also include the key=value
pair TargetName.".  However, in Appendix D, the description for TargetName
says it is Leading Only.
     Should TargetName not be Leading Only, or should the text in section 5
say that TargetName must be in the initial Login Request of a leading
connection?

Andre Asselin
IBM ServeRAID Software Development
Research Triangle Park, NC

---

From: "Julian Satran" <[email-masked]>
Date: Wed, 31 Oct 2001 09:33:50 +0200

It is the leading login:

The section 5 paragraph will read:

The initial Login request of the first connection of a session (leading 
login) MUST include the InitiatorName key=value pair. The leading Login 
request MAY also include the SessionType key=value pair in which case if 
the SessionType is not "discovery" then the leading Login Request MUST 
also include the key=value pair TargetName.

Julo

Andre Asselin/Raleigh/IBM@IBMUS
Sent by: [email-masked]
31-10-01 02:08
Please respond to Andre Asselin

        To:     "IPS Reflector (E-mail)" <[email-masked]>
        cc: 
        Subject:        is TargetName always mandatory or not?

     Should TargetName not be Leading Only, or should the text in section 
5

Andre Asselin

---

From: "John Hufferd" <[email-masked]>
Date: Wed, 31 Oct 2001 01:20:57 -0800

Julian,
I think the TargetName should be included on the Initial Login Request on
the Leading Login.  It seem strange to permit the Authentication functions
to proceed if perhaps the intended Target is different then the one doing
the Authentication.  The way it currently is written, you could pass all
the Security test and then find out just before going into Full Function
Phase, that it was intended for some other Target.  Seems like a waste.

My I think that TargetName should also be on all connections on the Initial
Login Request.  Here is my thinking:

The SSID (ISID+TSID) is unique only with regards to a Specific Initiator
and Target Node Pair.  It is therefore not clear that just knowing the SSID
and InitiatorName is enough to understand what session the subsequent
connections are being attached to.  And it is possible that the CID could
be also overlapped with another session.

Therefore, I think it make since to determine all this on the initial Login
on every Connection, so you know at the beginning what values can be
negotiated, or that are being set to the right Session.

.
.
.
John L. Hufferd
Senior Technical Staff Member (STSM)
IBM/SSG San Jose Ca
Main Office (408) 256-0403, Tie: 276-0403,  eFax: (408) 904-4688
Home Office (408) 997-6136
Internet address: [email-masked]

Julian Satran/Haifa/IBM@[email-masked] on 10/30/2001 11:33:50 PM

To:   [email-masked]
cc:
Subject:  Re: is TargetName always mandatory or not?

It is the leading login:

Julo

Andre Asselin

---

From: "Andre Asselin" <[email-masked]>
Date: Wed, 31 Oct 2001 13:40:55 -0500

John & Julian,
     How about this for the section 5 text:

The initial Login request of the first connection of a session (leading
login) MUST include the InitiatorName key=value pair. The initial login
request
of the leading Login MAY also include the SessionType key=value pair, in
which case if the SessionType is not "discovery", then the initial login
request
MUST also include the key=value pair TargetName.

John,
     I disagree with your second statement: I don't see any way you could
have 2 different sessions established within the same portal group with the
same InitiatorName, ISID, and TSID.  The spec. says that a nexus, and
therefore an iSCSI session, is uniquely identified by the InitiatorName,
ISID, TSID, and portal group tag.  There is no mention of TargetName
contributing to the identificaiton of a session.  In my opinion, a
non-leading connection should NOT have the TargetName, since it doesn't
contribute anything.

Andre Asselin

                    John                                                                                                              
                    Hufferd/San          To:     Julian Satran/Haifa/IBM@IBMIL                                                        
                    Jose/IBM@IBMUS       cc:     [email-masked]                                                                      
                    Sent by:             Subject:     Re: is TargetName always mandatory or not?                                      
                    owner-ips@ece.                                                                                                    
                    cmu.edu                                                                                                           

                    10/31/2001                                                                                                        
                    04:20 AM                                                                                                          

Julian,

.
.
.
John L. Hufferd

To:   [email-masked]
cc:

It is the leading login:

Julo

Andre Asselin

---

From: "John Hufferd" <[email-masked]>
Date: Wed, 31 Oct 2001 14:24:02 -0800

Error in my attached Statement.  I should have crossed out the TSID, sorry.

.
.
.
John L. Hufferd

John Hufferd/San Jose/IBM@[email-masked] on 10/31/2001 01:42:19 PM

To:   Andre Asselin/Raleigh/IBM@IBMUS
cc:   [email-masked]
Subject:  Re: is TargetName always mandatory or not?

Andre,
I looked again through the document and No where could I find a statement
that you claimed as "a nexus, and therefore an iSCSI session, is uniquely
identified by the InitiatorName, ISID, TSID, and portal group tag".  It is
the InitiatorName, ISID, TSID, with the TargetName and PortalGroup.
-------------------------^^^^-- delete TSID from Sentence.

Please point out to me in the Spec (8 or above), where  I can find your
statement on I_T Nexus.

I did find the following (please ignore for this conversation the "i" and
't" stuff):

"- Session: The group of TCP connections that link an initiator with a
target, form a session (loosely equivalent to a SCSI I-T nexus). TCP
connections can be added and removed from a session. Across all connections
within a session, an initiator sees one "target image".  "

" - I_T nexus: According to [SAM2], the I_T nexus is a relationship between
a SCSI Initiator Port and a SCSI Target Port. For iSCSI, this relationship
is a session, defined as a relationship between an iSCSI Initiator's end of
the session (SCSI Initiator Port) and the iSCSI Target's Portal Group. The
I_T nexus can be identified by the conjunction of the SCSI port names; that
is, the I_T nexus identifier is the tuple (iSCSI Initiator Name + 'i'+
ISID, iSCSI Target Name + 't'+ Portal Group Tag). NOTE: The I_T nexus
identifier is not equal to the session identifier (SSID).  "

I have not found a place where Session ID is tied to the TSID.

Hence my comment that we also need to have the TargetName in the Initial
Login on all Connections.

.
.
.
John L. Hufferd

Andre Asselin/Raleigh/IBM@[email-masked] on 10/31/2001 10:40:55 AM

To:   [email-masked]
cc:   John Hufferd/San Jose/IBM@IBMUS
Subject:  Re: is TargetName always mandatory or not?

John & Julian,

John,

Andre Asselin

                    John
                    Hufferd/San          To:     Julian
Satran/Haifa/IBM@IBMIL
                    Jose/IBM@IBMUS       cc:     [email-masked]
                    Sent by:             Subject:     Re: is TargetName
always mandatory or not?
                    owner-ips@ece.
                    cmu.edu

                    10/31/2001
                    04:20 AM

Julian,

.
.
.
John L. Hufferd

To:   [email-masked]
cc:

It is the leading login:

Julo

Andre Asselin

---

From: "Andre Asselin" <[email-masked]>
Date: Wed, 31 Oct 2001 18:00:53 -0500

John,
     WHOOPS!  I was wrong; you are absolutely right that the spec says
"TargetName" and not "TSID".  When I was reading through it, I saw
"TargetName", but read to myself "TSID".  Apologies...
     In my defense (confusion?), however, 3.12.9 says TSID rather than
TargetName is used to uniquely identify a session.  Going by that, SSID +
InitiatorName must be enough to uniquely identify a session.

     Jim Hafner pointed out to me that the I_T nexus is identified by one
thing and the session is identified by another.  If the two must have a 1-1
mapping in iSCSI, why are there two different identifiers?  Why not just
use the current definition of the I_T nexus to uniquely identify both the
nexus and session (i.e. get rid of TSID)?

Andre Asselin

                    John Hufferd                                                                                                      
                                         To:     Andre Asselin/Raleigh/IBM@IBMUS                                                      
                    10/31/2001           cc:     [email-masked]                                                                      
                    04:42 PM             From:   John Hufferd/San Jose/IBM@IBMUS                                                      
                                         Subject:     Re: is TargetName always mandatory or not?(Document link: Andre Asselin)        

                                                                                                                                      

Andre,

.
.
.
John L. Hufferd

To:   [email-masked]

John & Julian,

John,

Andre Asselin

                    John
                    Hufferd/San          To:     Julian
Satran/Haifa/IBM@IBMIL

                    10/31/2001
                    04:20 AM

Julian,

.
.
.
John L. Hufferd

To:   [email-masked]
cc:

It is the leading login:

Julo

Andre Asselin

---

From: "Jim Hafner" <[email-masked]>
Date: Wed, 31 Oct 2001 15:33:43 -0800

Andre,

First, your comment "SSID + InitiatorName must be enough to uniquely
identify a session" is target-centric.  It would be different from the
initiator's viewpoint.  However, from the target's viewpoint, the target
name is implicit and from the initiator viewpoint, the initiator name is
implicit, so globally, the triple of the two names + SSID (made up of the
ISID and TSID) form the identifier of the session.  Locally (between two
specific guys), the names are implicit so only the SSID is required.  It's
all a matter of point of view!

As for the difference in identifiers, as I mentioned in the private note,
the session is an iSCSI construct and is identified by iSCSI things.  The
nexus is a SCSI thing and is identified by SCSI constructs (based on how
we've mapped the iSCSI things to SCSI things).

However, you've brought to the fore again a related question:  "what value
does the TSID provide to the protocol?"

I'm not going to answer that, but I will note that one target
implementation that (I think) works is that the TSID = target portal group
tag.

The other thing to ask is "what value is there in  the nexus identifier?"
This is never really used in SCSI at all, so it's not a critical issue what
composes it.  However, it is important (IMO) that the SCSI ports have names
and the logical derivative of that statement is that the nexus is
identified by the concatenation of the SCSI port names (hence the
definition we have).

Jim Hafner

Andre Asselin/Raleigh/IBM@[email-masked] on 10/31/2001 03:00:53 pm

To:   John Hufferd/San Jose/IBM@IBMUS
cc:   [email-masked]
Subject:  Re: is TargetName always mandatory or not?

John,

Andre Asselin

                    John Hufferd
                                         To:     Andre
Asselin/Raleigh/IBM@IBMUS
                    10/31/2001           cc:     [email-masked]
                    04:42 PM             From:   John Hufferd/San
Jose/IBM@IBMUS
                                         Subject:     Re: is TargetName
always mandatory or not?(Document link: Andre Asselin)

Andre,

.
.
.
John L. Hufferd

To:   [email-masked]

John & Julian,

John,

Andre Asselin

                    John
                    Hufferd/San          To:     Julian
Satran/Haifa/IBM@IBMIL

                    10/31/2001
                    04:20 AM

Julian,

.
.
.
John L. Hufferd

To:   [email-masked]
cc:

It is the leading login:

Julo

Andre Asselin

---

From: "John Hufferd" <[email-masked]>
Date: Wed, 31 Oct 2001 15:32:26 -0800

Andre,
TSID, and therefore SSID is a handle that can be use to queue stuff within
the scope of the Initiator Node and Target Node.  The target can use what
ever it wants in this field.  Some Folks might want to use the TSID to be
the Portal Group Tag and I think then it might be unique.   But even then
only within the InitiatorName+ISID Space.  Anyway, you need to think of it
only as a handle.  Also since most folks will not have 64k Sessions into
their box, some (most?) implementations  might find it unique.  But it is
not unique in the Architecture.

Now the important thing is that, as things stand now, the Login needs the
InitiatorName, and the TargetName on the Initial Login of ALL Connections
in order to uniquely identify secondary Connections to the Original
Connection of the Session.

Does that seem correct to you and others on the Reflector?

.
.
.
John L. Hufferd

                Andre Asselin                          
                10/31/2001 03:00 PM                    

To:   John Hufferd/San Jose/IBM@IBMUS
cc:   [email-masked]
From: Andre Asselin/Raleigh/IBM@IBMUS
Subject:  Re: is TargetName always mandatory or not?  (Document link: John
      Hufferd)

John,

Andre Asselin

                    John Hufferd                                                                   
                                         (Document link: Andre Asselin)                            

                                                                                                   

Andre,

.
.
.
John L. Hufferd

To:   [email-masked]

John & Julian,

John,

Andre Asselin

                    John
                    Hufferd/San          To:     Julian
Satran/Haifa/IBM@IBMIL

                    10/31/2001
                    04:20 AM

Julian,

.
.
.
John L. Hufferd

To:   [email-masked]
cc:

It is the leading login:

Julo

Andre Asselin