On 14/05/15 06:36, Lidong Zhong wrote:
> For instance, the IPs are:
> eth0: 10.150.10.81/8
> eth1: 10.150.10.91/24 
> The bindnetaddr in corosync is: 10.150.10.0 and the addr of eth1 is
> selected in UDPU mode. Then the bindto address probably mistakenly choose
> the addr of eth0.
> 

Hiya,

Thanks for the patch but I'm not convinced it's the right thing to do
for all situations. If the bindnet_addr is set to an actual IP address
and not a subnet mask then it will fail I think. What does your
corosync.conf look like?

Chrissie

> Signed-off-by: Lidong Zhong <[email protected]>
> ---
>  exec/totemip.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/exec/totemip.c b/exec/totemip.c
> index ab175a8..c1fa800 100644
> --- a/exec/totemip.c
> +++ b/exec/totemip.c
> @@ -626,7 +626,7 @@ int totemip_iface_check(struct totem_ip_address *bindnet,
>                                       memcpy(&network, 
> RTA_DATA(tb[IFA_LOCAL]), sizeof(uint32_t));
>                                       memcpy(&addr, bindnet->addr, 
> sizeof(uint32_t));
>  
> -                                     if ((addr & netmask) == (network & 
> netmask)) {
> +                                     if (addr == (network & netmask)) {
>                                               memcpy(ipaddr.addr, 
> RTA_DATA(tb[IFA_ADDRESS]), TOTEMIP_ADDRLEN);
>                                               found_if = 1;
>                                       }
> 

_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss

Reply via email to