Index: include/corosync/totem/totem.h
===================================================================
--- include/corosync/totem/totem.h	(revision 2204)
+++ include/corosync/totem/totem.h	(working copy)
@@ -88,6 +88,7 @@
 	struct totem_interface *interfaces;
 	unsigned int interface_count;
 	unsigned int node_id;
+	unsigned int clear_node_high_bit;
 
 	/*
 	 * key information
Index: exec/totemnet.c
===================================================================
--- exec/totemnet.c	(revision 2204)
+++ exec/totemnet.c	(working copy)
@@ -1230,7 +1230,7 @@
 
 	res = totemip_iface_check (bindnet, bound_to,
 		interface_up, interface_num,
-                0); // TODO andrew can address this instance->totem_config->clear_node_high_bit);
+                instance->totem_config->clear_node_high_bit);
 
 
 	return (res);
Index: exec/totemconfig.c
===================================================================
--- exec/totemconfig.c	(revision 2204)
+++ exec/totemconfig.c	(working copy)
@@ -323,6 +323,13 @@
 	 */
 	objdb_get_int (objdb, object_totem_handle, "nodeid", &totem_config->node_id);
 
+	totem_config->clear_node_high_bit = 0;
+	if (!objdb_get_string (objdb,object_totem_handle, "clear_node_high_bit", &str)) {
+		if (strcmp (str, "yes") == 0) {
+			totem_config->clear_node_high_bit = 1;
+		}
+	}
+	
 	objdb_get_int (objdb,object_totem_handle, "threads", &totem_config->threads);
 
 
Index: man/corosync.conf.5
===================================================================
--- man/corosync.conf.5	(revision 2204)
+++ man/corosync.conf.5	(working copy)
@@ -141,6 +141,17 @@
 reserved and should not be used.
 
 .TP
+clear_node_high_bit
+This configuration option is optional and is only relevant when no nodeid is
+specified.  Some openais clients require a signed 32 bit nodeid that is greater
+than zero however by default openais uses all 32 bits of the IPv4 address space
+when generating a nodeid.  Set this option to yes to force the high bit to be
+zero and therefor ensure the nodeid is a positive signed 32 bit integer.
+
+WARNING: The clusters behavior is undefined if this option is enabled on only
+a subset of the cluster (for example during a rolling upgrade).
+
+.TP
 secauth
 This specifies that HMAC/SHA1 authentication should be used to authenticate
 all messages.  It further specifies that all data should be encrypted with the
