Elliott, Robert Robert.Elliott at
Thu May 10 11:54:35 PDT 2001

* From the T10 Reflector (t10 at, posted by:
* "Elliott, Robert" <Robert.Elliott at>
Comments on a few of the issues are embedded below.

> * From the T10 Reflector (t10 at, posted by:
> * "Edward A. Gardner" <eag at>
> *
> Discussion of bi-directional residual count.  Is the 
> informative material in
> fcp2r07 stable?  I cannot find any record of our voting on 
> this, although I know it needs to be done.

FCP-2 revision 7 is in public review, so that should be

> Open question:
> Is some SRP generic (as opposed to IB specific) discussion 
> of target / initiator port identifiers appropriate?  SRP per 
> se treats these an opaque identifiers.  I'm inclined to think 
> an annex might be useful. 
> Note, this document describes target and initiator port 
> identifiers as both being 128 bits, whereas in March we 
> agreed to 128 bits for one and 64 bits for the
> other.  I think that the asymmetric sizes were an accident of 
> the order in which they were discussed in March.  I had 
> intended to raise this May 3 (prior to my becoming ill),
> we should formally approve it or ask me to change it back.

The outcome of the March meeting was:
* 128 bit initiator port ID (must be worldwide unique, formed
|from an EUI-64 plus 64 additional bits) 
* 64 bit target port ID (an EUI-64).

I don't think it was accidental.  I requested 128 bits for 
both to make implementing targets in processor nodes easier, 
but the group (including you) didn't agree.  The rationale
proposed by Bob Nixon is that the target software vendor can 
use its own company_id and hand out EUI-64s like it hands
out license keys.   Since target software in a processor
node will be relatively rare, this didn't seem like
an insurmountable burden.  One benefit with using EUI-64
only in InfiniBand is that it is the same as the 
IO Controller GUID, making discovery of targets easier.
Use InfiniBand means to find an SRP IO Controller and you
have also found the target port identifier.

If someone wants to build an open source Linux SCSI target,
they may have trouble fabricating EUI-64s.

An OS vendor like Microsoft would have trouble using its own 
company_id for all the potential users of an SRP initiator 
driver, though.  For InfiniBand, there's no IO Controller 
GUID present in a processor node, so there's no GUID to 
directly equate to it.  Also, there's no need to discover 
initiators on the fabric; they generate activity on their
own.   So, initiator software is better off building
IDs based on the platform on which it is running.  It
can find a hardware EUI-64 in the processor node (e.g.
an InfiniBand port GUID) and use some algorithm to 
attach 64 more bits.

I would still like to see the target port identifier
use 128 bits, require it be an EUI-64 plus 64 
additional bits, require the EUI-64 portion be equal 
to the IO  Controller GUID (in the InfiniBand annex), 
and require a target be present when the additional 
bits are all 0 (like the iSCSI protocol defines a
default "iSCSI" target).

Rob Elliott, Compaq Server Storage
Robert.Elliott at

* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list