Subject: iSCSI: Question: ISID Rule?

From: Luben Tuikov <[email-masked]>
Date: Thu, 07 Mar 2002 14:32:53 -0500

Could someone clarify a) and b) in 2.4.3 (pg. 51) of draft 11.

More specifically in a): what makes two of ``iSCSI initiator'' or two of ``iSCSI Target'' the same
so that I can check they are the same and impose uniqueness of SSID.

Is it ISID/TSID or Network Portals or both, or the Name or...?

Thanks,
-- 
Luben

---

From: "KRUEGER,MARJORIE (HP-Roseville,ex1)" <[email-masked]>
Date: Thu, 7 Mar 2002 15:56:04 -0800

> > It's the SCSI device that is the comparison point, so you 
> > are comparing the iSCSI node name of the two entities to 
> > determine if they are "the same".
> 
> Then this implies that a session is uniquely identified by 
> (InitiatorName, TargetName).

No, a session is uniquely identified by the combination of initiator name,
target name, and SSID.  It is also uniquely identified by the combination of
initiator port name (initiator node name+ISID) and target port name (target
node name+PGT), since there can be only one session between a given pair of
ports.  There can be multiple sessions between an initiator and a target
node, but only via different port combinations.

> 
> Then for a new connection at the target:

I think you mean "when a login request is received at the target", since a
login request can be either a "new connection", or an attempt to recover an
existing connection?

> 
>  i) TSID!=0 provides implicit uniqueness,
>     since a new connection will be added,
>     if the session already exists.

I don't know what you're driving at?  I can't see where TSID!=0 provides
uniqueness, implicit or otherwise.

If an initiator sends a login request w/TSID!=0 on a new connection pair, it
must be trying to add a connection to a session, assuming all other points
of comparison are equal (initiator name, target name, ISID, TSID, target
portal group).

> 
> ii) TSID=0, implies that there does NOT exist
>     a session with the given TargetName, InitatorName
>     and ISID given in the Login Request PDU, else close the
>     connection.

It implies that the initiator does not think a session currently exists
between the initiator and target ports identified by the login request.  If
a session does exist (from the targets viewpoint), the target should
terminate that session as the initiator has lost all state information for
that "old" session, and create a new session.  

See section 4.3.5 Session Reinstatement in draft 11 for further explanation.