SRP/IB GUID extension discovery

Edward A. Gardner eag at ophidian.com
Fri Sep 28 08:45:58 PDT 2001


* From the T10 Reflector (t10 at t10.org), posted by:
* "Edward A. Gardner" <eag at ophidian.com>
*
I am concerned about the delay in developing a proposal for discovering the
GUID extension needed to form an SRP target port identifier.  Discussion to
date has focussed on changes to the IBTA specifications; accomplishing those
changes has proven to be lengthy (there has been no visible progress to
date).  The following sketches an approach that uses existing IB mechanisms.
We can specify this entirely in SRP, without any change to any IBTA
specifications.  The purpose of this message is to determine whether there
is sufficient interest to warrant developing this into a formal T10
proposal.

Summary of IB device discovery (the status quo):

1. Search for I/O units on the subnet or network.

2. Within each I/O unit, enumerate the I/O controllers.  Each I/O controller
is identified by a unique 64-bit GUID.

3. For each I/O controller, enumerate the service entries.  Service entries
containing the service name "SRP.T10.NCITS" denote an SRP target port.

Proposal:

40 bytes are available for the service name.  Use additional characters to
denote the GUID extension.

A service name of "SRP.T10.NCITS" denotes an SRP target port whose target
port identifier is the I/O controller GUID value concatenated with 64 zero
bits.

A service name of "SRP.T10.NCITS:xxxxxxxxxxxxxxxx" denotes an SRP target
port whose target port identifier is the I/O controller GUID value
concatenated with the hexadecimal value xxxxxxxxxxxxxxxx.

Alternate: we could represent the GUID extension in binary rather than
hexadecimal.  However there is a precedent for hexadecimal representation of
binary values in MAD attributes (see the ServiceID component of the
ServiceRecord, page 685 of vol1 v1.0).

IB allows up to 255 I/O controllers per I/O unit and up to 256 service
entries per I/O controller.  Together these imply a limit of 65280 SRP
target ports per I/O unit using the above scheme.

Open question: are the above service names null terminated or padded with
spaces?  I think they are supposed to be null-terminated, but I can't find a
statement to that effect anywhere.

Edward A. Gardner               eag at ophidian.com
Ophidian Designs                719 593-8866 voice
1262 Hofstead Terrace           719 593-8989 fax
Colorado Springs, CO  80907     719 210-7200 cell

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




More information about the T10 mailing list