From: Fabio M. Di Nitto <fdinitto@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] cman: default to 2 different mcast addresses in RRP mode and set rrp_problem_count_threshold
Date: Thu, 8 Sep 2011 11:11:09 +0200 [thread overview]
Message-ID: <1315473069-28447-1-git-send-email-fdinitto@redhat.com> (raw)
Resolves: rhbz#735912
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
cman/daemon/cman-preconfig.c | 16 ++++++++++++----
config/tools/xml/cluster.rng.in.head | 8 +++++++-
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/cman/daemon/cman-preconfig.c b/cman/daemon/cman-preconfig.c
index 64f505f..d5e7a92 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,
@@ -992,6 +993,13 @@ static void add_cman_overrides(struct objdb_iface_ver0 *objdb)
}
}
+ if (objdb_get_string(objdb, object_handle, "rrp_problem_count_threshold", &value)) {
+ if (num_interfaces > 1) {
+ objdb->object_key_create_typed(object_handle, "rrp_problem_count_threshold",
+ "3", 2, OBJDB_VALUETYPE_STRING);
+ }
+ }
+
if (objdb_get_string(objdb, object_handle, "secauth", &value)) {
sprintf(tmp, "%d", 1);
objdb->object_key_create_typed(object_handle, "secauth",
@@ -1136,7 +1144,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 */
diff --git a/config/tools/xml/cluster.rng.in.head b/config/tools/xml/cluster.rng.in.head
index 1afa9e8..8ca696a 100644
--- a/config/tools/xml/cluster.rng.in.head
+++ b/config/tools/xml/cluster.rng.in.head
@@ -257,7 +257,7 @@ To validate your cluster.conf against this schema, run:
rha:sample="5"/>
</optional>
<!-- FIXME: The following description was adapted from the man page.
- It may be tool long for the schema docuement. Consider cutting text
+ It may be tool long for the schema document. Consider cutting text
after the second sentence and referring the reader to the openais.conf
man page. -->
<optional>
@@ -274,6 +274,12 @@ To validate your cluster.conf against this schema, run:
directives are specified, only active or passive may be
chosen." rha:sample="active"/>
</optional>
+ <attribute name="rrp_problem_count_threshold"
+ rha:description="This specifies the number of times a problem is detected
+ with a link before setting the link faulty. Once a link is set faulty, no
+ more data is transmitted upon it. The default is 10 problem counts."
+ rha:sample="3"/>
+ </optional>
<optional>
<attribute name="secauth" rha:description="This attribute specifies
that HMAC/SHA1 authentication should be used to authenticate all
--
1.7.4.4
next reply other threads:[~2011-09-08 9:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-08 9:11 Fabio M. Di Nitto [this message]
2011-09-08 9:40 ` [Cluster-devel] [PATCH] cman: default to 2 different mcast addresses in RRP mode and set rrp_problem_count_threshold Jan Friesse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1315473069-28447-1-git-send-email-fdinitto@redhat.com \
--to=fdinitto@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).