On Thu, 2009-08-13 at 15:27 +0200, Jérôme Flesch wrote:
> Steven Dake wrote:
> > 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
> >
> Ack. Then, can you review the patch I attached in my previous mail
> please ? However, this patch assumes that considering ':' as a
> whitespace for anything else than the value is still useful. Is it ? If
> not, we can make a cleaner patch easily.
>
I don't see why : should be whitespace after the first :. Likely an
error in coroparse.c.
As for the nodeid assert, could be a bsdism, but I don't have an ipv6
network to test linux atm. I'll set up some nodes later today and let
you know what I find out.
Regards
-steve
>
> >> 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.
> >
> Thing is: A nodeid is specified in the configuration (999 in the config
> file attached to my previous mail), so this assert doesn't really make
> sense to us.
>
>
> >> 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