There is no unique ID per iSNS server instance. A vendor could, I suppose, implement something like this using a Vendor-Specific Message, but there is no generic support for this provided by the RFC. Generally, a specific instance of a server can be identified by its IP address. This, however, also will not be effective for you if the iSNS server is multi-homed.
You are on the right track with your suggestion in the second paragraph of your email. What you would do is have each Portal send a DevAttrReg message specifying the Entity as the Message Key, with the Replace flag clear. Specify the Portal attributes after the Entity in the Operating Attributes (the Entity object must be
repeated in the Operating Attributes). This will have the effect of adding the Portal to the Entity if the Portal was not already there, while leaving the remaining objects/attributes of the Entity intact. Using this method, you would still want your iSNS client to register at least the Entity and target Storage Node (iSCSI Name) objects upon target startup. The Portals would then add themselves to the Entity using the method that I describe above.
----- Original Message ----
From: Paul Hughes <phughes@xxxxxxxxxxxxxx>
Sent: Wednesday, June 13, 2007 8:22:32 AM
Subject: iSNS database unique ID
I am developing an
iSNS client for an iSCSI target that supports multiple portals. It's
possible that the target portals could be connected to different networks
so I'd like to determine if each target portal has access to the same
iSNS database. Section 6.9.1 of RFC 4171 (iSNS) states that an iSNS client
can query for the iSNS Server Vendor OUI, but I assume that wouldn't be a
unique value for the iSNS database. Is there some other value an
iSNS client can query that would be unique to the iSNS
If not, then I could
have one portal register the target's Network Entity and then
have each portal query the target's registration to determine if
they can retrieve the target's Network Entity or not.
Is there a better method?