On Wed, 2009-08-12 at 14:52 +0200, Jérôme Flesch wrote:
> Hello,
>
> We are currently trying to use Corosync (trunk) on FreeBSD with IPv6
> addresses, and we have some issues:
> - Coroparse.c has some difficulties with the character ':' in IPv6
regression
> addresses (Is there even a reason to consider ':' as a whitespace ?).
> One of our interns (Aurelien Ansel) made the patch joined to this mail
> to fix this issue.
> - Once coroparse.c is fixed, we get the following assertion error:
> Assertion failed: (instance->my_id.addr[iface_no].nodeid), function
> main_iface_change_fn, file totemsrp.c, line 4254.
ipv6 doesn't spport autogenerated node ids. Specify a node id in your
config file. I suppose the totem validator should tell you this and
exit rather then asserting.
>
> The first issue happens likely on every OS, but we would like to know if
> someone else experienced/-es the second one (preferably on another OS to
> figure out if it's due to a BSD-ism or not).
>
not a bsd-ism.
> Just for the record, I've also attached the corosync.conf we used for
> our test.
>
> plain text document attachment
> (0001-Fix-config-parsing-for-ipv6.patch)
> diff --git a/trunk/exec/coroparse.c b/trunk/exec/coroparse.c
> index 82abe83..ee38bc1 100644
> --- a/trunk/exec/coroparse.c
> +++ b/trunk/exec/coroparse.c
> @@ -86,6 +86,19 @@ static char *remove_whitespace(char *string)
> return start;
> }
>
> +static char *remove_whitespace_value(char *string)
> +{
> + char *start = string+strspn(string, " \t");
> + char *end = start+(strlen(start))-1;
> +
> + while ((*end == ' ' || *end == '\t' || *end == '{') && end > start)
> + end--;
> + if (end != start)
> + *(end+1) = '\0';
> +
> + return start;
> +}
> +
> #define PCHECK_ADD_SUBSECTION 1
> #define PCHECK_ADD_ITEM 2
>
> @@ -155,7 +168,7 @@ static int parse_section(FILE *fp,
>
> *(loc-1) = '\0';
> key = remove_whitespace(line);
> - value = remove_whitespace(loc);
> + value = remove_whitespace_value(loc);
> if (parser_check_item_call) {
> if (!parser_check_item_call(objdb,
> parent_handle, PCHECK_ADD_ITEM,
> key, error_string))
> plain text document attachment (corosync.conf)
> aisexec {
> user: camu
> group: camu
> }
>
> totem {
> version: 2
> nodeid: 999
> threads: 0
> secauth: off
> vsftype: none
> rrp_mode: active
> heartbeat_failures_allowed: 3
> max_network_delay: 50
> interface {
> ringnumber: 0
> bindnetaddr: fe80::223:aeff:fe6c:c046
> mcastport: 5405
> mcastaddr: ff02:1::
> }
> }
>
> logging {
> to_stderr: yes
> to_file: no
> timestamp: on
> debug: off
> }
>
> amf {
> mode: disabled
> }
> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais