From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio M. Di Nitto Date: Thu, 8 Sep 2011 10:26:24 +0200 Subject: [Cluster-devel] [PATCH] cman: default to 2 differnet mcast address in RRP mode and set rrp_problem_count_threshold Message-ID: <1315470384-27099-1-git-send-email-fdinitto@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Resolves: rhbz#735912 Signed-off-by: Fabio M. Di Nitto --- cman/daemon/cman-preconfig.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cman/daemon/cman-preconfig.c b/cman/daemon/cman-preconfig.c index 64f505f..a700ff7 100644 --- a/cman/daemon/cman-preconfig.c +++ b/cman/daemon/cman-preconfig.c @@ -393,13 +393,14 @@ static uint16_t generate_cluster_id(char *name) return value & 0xFFFF; } -static char *default_mcast(char *node, uint16_t clusterid) +static char *default_mcast(char *node, int altiface) { struct addrinfo *ainfo; struct addrinfo ahints; int ret; int family; static char addr[132]; + uint16_t clusterid = cluster_id + altiface; memset(&ahints, 0, sizeof(ahints)); @@ -691,7 +692,7 @@ static int get_nodename(struct objdb_iface_ver0 *objdb) } if (!mcast_name) { - mcast_name = default_mcast(nodename, cluster_id); + mcast_name = default_mcast(nodename, PRIMARY_IFACE); } if (!mcast_name) @@ -778,7 +779,7 @@ static int get_nodename(struct objdb_iface_ver0 *objdb) objdb_get_int(objdb, alt_object, "ttl", &altttl, ttl); if (objdb_get_string(objdb, alt_object, "mcast", &mcast)) { - mcast = mcast_name; + mcast = default_mcast(nodename, ALT_IFACE); } if (add_ifaddr(objdb, mcast, node, portnum, altttl, @@ -985,6 +986,8 @@ static void add_cman_overrides(struct objdb_iface_ver0 *objdb) if (num_interfaces > 1) { objdb->object_key_create_typed(object_handle, "rrp_mode", "passive", strlen("passive")+1, OBJDB_VALUETYPE_STRING); + objdb->object_key_create_typed(object_handle, "rrp_problem_count_threshold", + "3", 2, OBJDB_VALUETYPE_STRING); } else { objdb->object_key_create_typed(object_handle, "rrp_mode", @@ -1136,7 +1139,7 @@ static int set_noccs_defaults(struct objdb_iface_ver0 *objdb) num_nodenames = 1; if (!mcast_name) { - mcast_name = default_mcast(nodename, cluster_id); + mcast_name = default_mcast(nodename, PRIMARY_IFACE); } /* This will increase as nodes join the cluster */ -- 1.7.4.4