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.


>> 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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to