[Linux-ha-dev] implement UUID as node ID

Guochun Shi gshi at ncsa.uiuc.edu
Wed Jun 23 15:54:48 MDT 2004


At 10:25 PM 6/23/2004 +0200, you wrote:

>On Jun 23, 2004, at 10:07 PM, Guochun Shi wrote:
>
>>At 09:50 PM 6/23/2004 +0200, you wrote:
>>
>>>On Jun 23, 2004, at 9:41 PM, Guochun Shi wrote:
>>>
>>>>hi,
>>>>
>>>>For implement UUID as node id,  heartbeat should provide message APIs:
>>>>
>>>>int
>>>>sendmsgto_nodename(ll_cluster_t*  lcl , struct ha_msg* msg, const char* nodename);
>>>>
>>>>int
>>>>sendmsgto_nodeid(ll_cluster_t*  lcl , struct ha_msg* msg, uuid_t* nodeid);
>>>>
>>>>other APIs should remain the same.
>>>>
>>>>sendmsgto_nodename() is necessary as nodename is human readable. This function requires
>>>>each node keeps a map from nodename to uuid.  This map table can be created using heartbeat
>>>>messages from other nodes. If there are more than 1 entries in the table, we will need send
>>>>the message multiple times with different destination or we can modify the "to" field in struct ha_msg
>>>>to handle this case so that we only send it once.
>>>
>>>will you be adding F_UUID to messages to compliment F_ORIG?
>>
>>Yeah, we need both the sender name and the sender uuid to be in the message in order to create the map table
>>at the beginning.
>
>Hmm, if you included F_TO_UUID that would make it easy for recipients to identify messages to drop in the case of non-unique node names.


the problem with non-unique node names comes from the sender not being able to which to-uuid  it should take, so including F_TO_UUID 
in the message does not solve the problem.

-Guochun



More information about the Linux-HA-Dev mailing list