From ee226d0730f0e270e9668ff89c00cc11d34d1bc7 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 27 Nov 2009 22:59:48 +0000 Subject: [PATCH] Patch to use proper IFA on Linux platforms to match interface addresses when netmask is not 255.255.255.0. git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2550 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/totemip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exec/totemip.c b/exec/totemip.c index 8a1fe42d..9e1bc441 100644 --- a/exec/totemip.c +++ b/exec/totemip.c @@ -561,12 +561,12 @@ int totemip_iface_check(struct totem_ip_address *bindnet, /* If the address we have is an IPv4 network address, then substitute the actual IP address of this interface */ - if (!found_if && tb[IFA_BROADCAST] && ifa->ifa_family == AF_INET) { + if (!found_if && tb[IFA_LOCAL] && ifa->ifa_family == AF_INET) { uint32_t network; uint32_t addr; uint32_t netmask = htonl(~((1<<(32-ifa->ifa_prefixlen))-1)); - memcpy(&network, RTA_DATA(tb[IFA_BROADCAST]), sizeof(uint32_t)); + memcpy(&network, RTA_DATA(tb[IFA_LOCAL]), sizeof(uint32_t)); memcpy(&addr, bindnet->addr, sizeof(uint32_t)); if ((addr & netmask) == (network & netmask)) {