From 86ada30aa45df63f7daab6224d3a2500e7d0d00f Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Tue, 15 Mar 2011 09:44:05 +1100 Subject: [PATCH] Fix the ttl defaults and range 1) both IPv4 and IPv6 mcast should default to ttl=1 2) the range should be 0..255 0 is valid meaning localhost only (cluster of one) Signed-off-by: Angus Salkeld Reviewed-by: Fabio M. Di Nitto --- exec/totemconfig.c | 10 +++------- man/corosync.conf.5 | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/exec/totemconfig.c b/exec/totemconfig.c index 6bb4894b..7039ba06 100644 --- a/exec/totemconfig.c +++ b/exec/totemconfig.c @@ -394,11 +394,7 @@ printf ("couldn't find totem handle\n"); /* * Get the TTL */ - if (totem_config->interfaces[ringnumber].mcast_addr.family == AF_INET6) { - totem_config->interfaces[ringnumber].ttl = 255; - } else { - totem_config->interfaces[ringnumber].ttl = 1; - } + totem_config->interfaces[ringnumber].ttl = 1; if (!objdb_get_string (objdb, object_interface_handle, "ttl", &str)) { totem_config->interfaces[ringnumber].ttl = atoi (str); } @@ -477,8 +473,8 @@ int totem_config_validate ( goto parse_error; } - if (totem_config->interfaces[i].ttl > 255 || totem_config->interfaces[i].ttl < 1) { - error_reason = "Invalid TTL (should be 1..255)"; + if (totem_config->interfaces[i].ttl > 255 || totem_config->interfaces[i].ttl < 0) { + error_reason = "Invalid TTL (should be 0..255)"; goto parse_error; } diff --git a/man/corosync.conf.5 b/man/corosync.conf.5 index d69cf890..eaf58c45 100644 --- a/man/corosync.conf.5 +++ b/man/corosync.conf.5 @@ -131,7 +131,7 @@ please configure the mcastports with a gap. ttl This specifies the Time To Live (TTL). If you run your cluster on a routed network then the default of "1" will be too small. This option provides -a way to increase this up to 255. +a way to increase this up to 255. The valid range is 0..255. .TP member