[Openais] Re: Node name and ID

Steven Dake sdake at mvista.com
Wed Jul 28 10:28:22 PDT 2004


Mark

Thanks to suggestions by Atul, the group messaging API passes the source
of the request into the delivery function (in this case, deliver_fn). 
With the authentication and secrecy work I am doing on the gmi currently
(and merging soon) this information will be secure.  This is not passed
to the 4 service handlers delivery function though.

There are two options -
Option #1: 
1. we change the handler delivery function (deliver_fn) to pass as an
argument the source of the message to every exec handler
2. we change all the exec handler functions to accept the argument
3. we add some form of api in the membership layer which allows the
conversion of a node ID (the source ip address) into a SaClmClusterNodeT
structure.  Then this structure can be used by the event service.

Option #2:
1. when publishing an event, the source ip of the publisher is placed
into the message by the library handler function
2. We add an api to exec/clm.c to convert a source ip to a node ID in
the clm.c file (like #3 above).

The api in exec/clm.c should be pretty simple since the node id
information is stored statically.  All we have to do is search it and
return a reference to it.

This would allow the event service to retrieve a SaClmClusterNodeT
structure for a particular node ID which is now known (because it is
determined by the gmi or passed in the message structure).

Even another option #3 which could be done would be to record the
nodename in the message sent.  This avoids the search for the node on on
delivery of the message (because we can reference
exec/clm.c/thisClusterNode directly), but requires recording a very
large SaNameT for every event sent.  This would probably hurt
performance of the event delivery because performance is limited mostly
by the network bandwidth, not the cpu speeds.

Which option do you prefer?

Thanks
-steve

On Wed, 2004-07-28 at 09:19, Mark Haverkamp wrote:
> Steve,
> 
> The event data contains the publisher's node ID and name.  Is there a
> place (function or data) where I can get this information so that the
> event service can supply it in the event?  I looked around in the code
> and didn't see anything.
> 
> Thanks,
> Mark.




More information about the Openais mailing list