|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: is TargetName always mandatory or not?
Andre,
I think Jim has just answered your question on the use of portal groups.
In any event the wordage you point out in 3.12.9 is a bit loose. When it
says: "The TSID is the target assigned tag ...." it is only implied that
the TSID is chosen in the context of the Target (iSCSI Target Node) and not
a iSCSI Network Entity. Therefore, the implication that the code would
only need the TSID + ISID + InitiatorName to bind a connection to a
Session, is only valid in the context of a Specific iSCSI Target Node. The
Fact that more then one iSCSI Target Node could be located in a iSCSI
Network Entity, means that the implementation needs more complete
information to direct the connection binding with the approprate Session
(and hence the approprate Target Node).
Depending on the implementation, it is probably possible to use the 64K
different possibilities to make the TSID unique across the entire iSCSI
Network Entity, but that is not a hard requirement of the protocol.
I do not mind having the TSID being left in, it can be most useful in many
(most) installations is sufficient as a unique qualifier with the ISID +
InitiatorName, but that is SIZE and implementation determined.
I think we need to update the wordage in 3.12.9 and other places to make
sure that everyone understands that TSID is only specified as being unique
in the setting of a specific iSCSI Node. And we need to update the Draft
to ensure that Both the InitiatorName and TargetName are always used on all
non Discovery Connection Logins, and always on the Initial Login request of
each connection.
.
.
.
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: hufferd@us.ibm.com
Andre Asselin
11/01/2001 12:33 PM
To: John Hufferd/San Jose/IBM@IBMUS
cc: ips@ece.cmu.edu
From: Andre Asselin/Raleigh/IBM@IBMUS
Subject: Re: is TargetName always mandatory or not? (Document link: John
Hufferd)
John,
Section 3.12.9 of the spec reads:
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.
So according to that, TSID + ISID + InitiatorName must be enough
information for a target to uniquely idenfity a session, so mapping TSID to
target portal group ID won't always work (see my other note addressed to
Jim for an example of where it won't).
After thinking about this for a while, I've come to the same
conclusion as you (that a target should compare ISID + InitiatorName +
TargetName + target portal group to uniquely identify a session), but from
a different angle.
My reasoning: Since there is a 1-1 correspondence between an I_T
nexus and a session, if you can identify the nexus, you've identified the
session, and vice versa. Since 3.12.9 says that TSID + ISID +
InitiatorName must uniquely identify a session, then TSID must be an alias
for TargetName + target portal group ID, since (ISID + InitiatorName +
TargetName + portal group ID) uniquely identifies a nexus. In my opinion,
that aliasing only complicates (and confuses!) the protocol and should be
done away with. If TargetName were required on every initial login
request, then the target could compare (ISID + InitiatorName + TargetName +
portal group) to determine a session match, and forget about TSID entirely.
In that case, there is no need for TSID, except to flag whether the login
request is to create a new session or to add a new connection to an
existing session (i.e. indicate leading login), in which case it could be
dropped and replaced with a single bit.
To eliminate TSID, I believe the following changes would be needed:
- Eliminate TSID from login request and login response
- Use one of the bits in byte 1 of login request to indicate a leading
login, and update any text that refers to TSID=0 to refer to this bit
- Define session to be equivalent to I_T nexus (not "loosely equivalent
to")
- Define SSID/session ID to be the same as the I_T nexus identifier
- Remove the "LO" from TargetName
- If it hasn't already been done, remove the "LO" from InitiatorName
Comments?
Andre Asselin
IBM ServeRAID Software Development
Research Triangle Park, NC
John Hufferd
To: Andre Asselin/Raleigh/IBM
10/31/2001 cc: ips@ece.cmu.edu
06:32 PM From: John Hufferd/San Jose/IBM@IBMUS
Subject: Re: is TargetName always mandatory or not?
(Document link: Andre Asselin)
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
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: hufferd@us.ibm.com
Andre Asselin
10/31/2001 03:00 PM
To: John Hufferd/San Jose/IBM@IBMUS
cc: ips@ece.cmu.edu
From: Andre Asselin/Raleigh/IBM@IBMUS
Subject: Re: is TargetName always mandatory or not? (Document link: John
Hufferd)
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
IBM ServeRAID Software Development
Research Triangle Park, NC
John Hufferd
To: Andre Asselin/Raleigh/IBM@IBMUS
10/31/2001 cc: ips@ece.cmu.edu
04:42 PM From: John Hufferd/San Jose/IBM@IBMUS
Subject: Re: is TargetName always mandatory or not?
(Document link: Andre Asselin)
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.
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
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: hufferd@us.ibm.com
Andre Asselin/Raleigh/IBM@IBMUS@ece.cmu.edu on 10/31/2001 10:40:55 AM
Sent by: owner-ips@ece.cmu.edu
To: ips@ece.cmu.edu
cc: John Hufferd/San Jose/IBM@IBMUS
Subject: Re: is TargetName always mandatory or not?
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
IBM ServeRAID Software Development
Research Triangle Park, NC
John
Hufferd/San To: Julian
Satran/Haifa/IBM@IBMIL
Jose/IBM@IBMUS cc: ips@ece.cmu.edu
Sent by: Subject: Re: is TargetName
always mandatory or not?
owner-ips@ece.
cmu.edu
10/31/2001
04:20 AM
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: hufferd@us.ibm.com
Julian Satran/Haifa/IBM@IBMIL@ece.cmu.edu on 10/30/2001 11:33:50 PM
Sent by: owner-ips@ece.cmu.edu
To: ips@ece.cmu.edu
cc:
Subject: Re: is TargetName always mandatory or not?
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: owner-ips@ece.cmu.edu
31-10-01 02:08
Please respond to Andre Asselin
To: "IPS Reflector (E-mail)" <ips@ece.cmu.edu>
cc:
Subject: is TargetName always mandatory or not?
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
Home Last updated: Fri Nov 02 08:17:41 2001 7527 messages in chronological order |