#590 Domain Support for Clients


The OpenHPI clients always work with the default domain, even if the openhpiclient.conf file specifies domains.
There is no possibility to use them on other domains or in a multi domain configuration.

All clients should read the openhpiclient.conf file (as hpishell does) and provide options to target a specific domain.

If the openhpiclient.conf defines no domain, the default domain should be used.

If the openhpiclient.conf defines one domain, the clients should use the specified domain if no other option is given.

If the option specifies a domain, that is not defined in openhpiclient.conf, the clients should exit with an error.

If the openhpiclient.conf defines multiple domains, and the client is invoked with no domain option, in many cases the clients should work on all domains.
For instance hpitop, hpitree and hpiinv should display all domains.
In some cases, for instance hpipower, the domain may be mandatory to perform the action.


  • Anton Pak

    Anton Pak - 2010-06-04

    Could you propose generic HPI way to get domain id for all defined domains?

  • Ulich Kleber

    Ulich Kleber - 2010-06-04

    I think "all defined domains" means the content of openhpiclient.conf.
    Different clients today can use different openhpiclient.conf files at the same time and thus access different sets of domains. There is no way to get a global view over many openhpiclient.conf files. But a client always has a openhpiclient.conf used by the library, which defines the domains visible for that client.

    I think we should see all domains visible for a client (as defined in the openhpiclient.conf) as peer domains for the default domain.
    That is, even when OpenHPI doesn't (yet?) implement the DRT fully, we could provide SaHpiDrtEntryGet() for the default domain to provide such functionality.

    So what we need to do is:
    - implement SaHpiDrtEntryGet in baselib
    - clients should call SaHpiDrtEntryGet instead of reading openhpiclient.conf as I said above (sorry.)
    - create an additional client hpidomains that provides a list of domains (or in future some domaininfo)

    (I volunteer to contribute to that work)

  • Anton Pak

    Anton Pak - 2010-06-04

    I like the idea about DRT.
    However peer domain is not what we want.
    Base HPI spec says (Section 3.2.2):
    Two domains, domain-A and domain-B, are “peers” if they are intended to provide an HPI User with access to the same set of resources.

    Also the special handling of DRT in baselib may interfere with DRT implementation in daemon.
    However I don't think that anybody currently uses DRT on daemon level.
    But the code still exists.
    Also OpenHPI baselib may be used to connect to another HPI implementation with its own multi-domain concept.

    I guess we need to develop new whole multi-domain architecture before starting to write code.
    May be on daemon level. May be on baselib level.
    What say?

  • Ulich Kleber

    Ulich Kleber - 2010-06-07

    The attached patch provides an additional option to hpitop (as an example), that allows hpitop to be executed on a selected domain.
    Example: hpitop -D 2 will execute the client program on the domain 2 if there is such a domain defined in the openhpiclient.conf.
    I also fixed a few other problems within the scanning of options.

    If this is a step 1 for the multi domain issues, I would provide similar patch for all clients.

  • Anton Pak

    Anton Pak - 2010-06-07

    Looks fine for me.
    My only proposal is to move -D in the head of the options list since it is most important parameter.

  • Anton Pak

    Anton Pak - 2010-06-15
    • assigned_to: avpak --> ulikleber
  • Ulich Kleber

    Ulich Kleber - 2010-06-18

    Main Part fixed in Revision 7111.
    New option allows to select the HPI a client works on.
    Client to determine available domains.
    Some clients could work over domain boundaries.

  • Ulich Kleber

    Ulich Kleber - 2010-06-18
    • milestone: --> 974007
    • status: open --> closed-fixed
  • Michael Bishop

    Michael Bishop - 2010-06-30
    • labels: 636946 --> HPI Clients
    • milestone: 974007 --> 2.15.0
  • Michael Bishop

    Michael Bishop - 2010-06-30

    Marking this as a new feature rather than a defect.
    Michael Bishop / HP / June 30, 2010


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks