Subject: Re: Associating initiator names with SCSI commands

From: "Julian Satran" <[email-masked]>
Date: Fri, 10 May 2002 00:24:55 +0300

Amir,

Even more - the targe part of the session name has two components - TPGT 
and Target name.
Two session can start with the same INANE, ISID and terminate at different 
TNaMES behind a single TPGT.
I addition a separation is performed at tcp port level on the initiator 
side (as Mark outline a tcp connection is identified by 5 elements) but 
iSCSI does not make explicit use of this separation.

Julo

Mark Bakke <[email-masked]>
Sent by: [email-masked]
05/09/2002 08:39 PM
Please respond to Mark Bakke

        To:     Amir Shalit <[email-masked]>
        cc:     Julian Satran/Haifa/IBM@IBMIL, [email-masked], [email-masked]
        Subject:        Re: Associating initiator names with SCSI commands

Amir Shalit wrote:
> 
> 1) Editorial comment:
>    chapter 1 defines SCSI Port Name as:
>    A name made up as UTF-8 characters and basically...
>    +---+
>    Remove basically
>    +---+
> 
> 2) The iSCSI namning model on page 49 shows two iSCSI target nodes
>    sharing the same portal group and the same TCP/IP addresses.
>    How can one steer PDU headers to the correct iSCSI node given
>    that setup?  Does it mean that a TCP connection doesn't belong
>    to a single iSCSI session?

Amir-

The portal group only contains the TCP address on which the
target is listening.  A TCP connection is identified by the
5-tuple (source-IP, dest-IP, protocol(TCP), source-port, dest-port).

Different connections to the target from the same source-IP will
have different source-ports.  Connections from different hosts
or host interfaces will have different source-IP addresses.
The dest-IP and dest-port can be the same for all incoming
connections to all targets.

--
Mark

> 
> Amir
> 
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]On Behalf Of
> Julian Satran
> Sent: Tuesday, May 07, 2002 12:12 PM
> To: Ken Craig
> Cc: [email-masked]; [email-masked]
> Subject: Re: Associating initiator names with SCSI commands
> 
> No - the session is associated with the initiator - if you record the
> session on which you received the command you have the association.
> How you represent internally the session is an implementation issue - 
but I
> assume you will not uses the names for that!
> 
> Julo
> 
> |---------+---------------------------->
> |         |           "Ken Craig"      |
> |         |           <[email-masked]|
> |         |           >                |
> |         |           Sent by:         |
> |         |           [email-masked]|
> |         |           .edu             |
> |         |                            |
> |         |                            |
> |         |           05/07/2002 07:11 |
> |         |           PM               |
> |         |           Please respond to|
> |         |           "Ken Craig"      |
> |         |                            |
> |---------+---------------------------->
> 
> 
>---------------------------------------------------------------------------
> ------------------------------------|
>   |
> |
>   |       To:       <[email-masked]>
> |
>   |       cc:
> |
>   |       Subject:  Associating initiator names with SCSI commands
> |
>   |
> |
>   |
> |
> 
> 
>---------------------------------------------------------------------------
> ------------------------------------|
> 
> I have a question concerning associating
> incoming SCSI commands with an initiator.
> I come from a parallel SCSI background and
> now find myself implementing a SCSI Target
> port in an iSCSI world.  I have searched
> the mailing list archives for discussions
> on this subject but have been unable to find
> anything that succinctly answers my question
> so please bear with me.
> 
> In the parallel SCSI world association of an
> initiator with a new command is very
> straight-forward as the initiator's ID is
> encapsulated in the Identify message that
> occurs with the SCSI Selection phase that
> precedes receiving the new command.
> 
> When I read the latest version of the iSCSI
> draft (rev. 12) the only statement I seem to
> find that correlates to this association is
> in Section 2.2.3 on page 34 in the 2nd
> sentence of the 3rd paragraph.
> 
> "Any persistent state (e.g., persistent reservations)
> on the target that is associated with a SCSI
> initiator port is identified based on the
> value pair (InitiatorName, ISID)."
> 
> When I searched the mailing list archives I
> came across statements that said this
> association was done using ISID and TSID (now
> TSIH?) but I do not see these statements in the
> latest draft so I'm assuming that there was some
> reason this association method was dropped.
> 
> My question is:
> In order to associate initiators with incoming
> commands to a SCSI Target do I have to compare
> the Initiator Name and ISID (up to ~268 bytes?)
> for every command I receive against a list of
> logged in initiators or is there another method
> using a lot fewer number of bytes?
> 
> I had thought about using the IP address in the
> IP header but the draft seems to say that is not
> allowed because IP addresses can change.  It
> seems like I must perform this potentially rather
> long comparison if I support multiple initiators
> because I can not be guaranteed that different
> initiators would not use the same ISID during
> their login.  Am I wrong?
> 
> Thanks in advance,
> Kenneth Ray Craig, Jr.

-- 
Mark A. Bakke
Cisco Systems
[email-masked]
763.398.1054