OpenHPI currently supports multiple domains in the following way:
- Openhpiclient.conf defines domains and associates daemons (IP-address:port)
with the domains
- A domain with id "0" is implicitely defined and associated with a daemon
on localhost 4743.
- Openhpiclient.conf can define a different domain 0 (default).
- HPI B.03 defines a value SAHPI_UNSPECIFIED_DOMAIN_ID=0xFFFFFFFF for a
specific behavior allowing clients to locate domains via the DRT.
- When I use OpenHPI to open a session to SAHPI_UNSPECIFIED_DOMAIN_ID,
OpenHPI opens a session to domain 0, which is correct to the spec.
- OpenHPI always provides an empty DRT, even when multiple domains are
defined in openhpiclient.conf.
- If a user knows which domains are defined in the openhpiclient.conf,
he can open sessions to these domains.
HPI B.03.2 says in section 3.2.3, second paragraph:
To support the general discovery process described in Section 3.5,
HPI implementations should ensure that all the domains that a user
needs to access are related and are discoverable from the default
domain returned when the user opens a session specifying
That would mean, when specifying SAHPI_UNSPECIFIED_DOMAIN_ID, a user
can walk the DRT and discover valid domain ids.
Considering the way, domains are defined in OpenHPI, that would mean,
he can find all domains specified in "his" openhpiclient.conf file
So OpenHPI library should provide a user with access to a DRT with
those domain ids when he opens a session with SAHPI_UNSPECIFIED_DOMAIN_ID.