|
|
@@ -596,9 +596,11 @@ int totemip_iface_check(struct totem_ip_address *bindnet,
|
|
|
|
|
|
parse_rtattr(tb, IFA_MAX, IFA_RTA(ifa), len);
|
|
|
|
|
|
- memcpy(ipaddr.addr, RTA_DATA(tb[IFA_ADDRESS]), TOTEMIP_ADDRLEN);
|
|
|
- if (totemip_equal(&ipaddr, bindnet)) {
|
|
|
- found_if = 1;
|
|
|
+ if (tb[IFA_LOCAL]) {
|
|
|
+ memcpy(ipaddr.addr, RTA_DATA(tb[IFA_LOCAL]), TOTEMIP_ADDRLEN);
|
|
|
+ if (totemip_equal(&ipaddr, bindnet)) {
|
|
|
+ found_if = 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* If the address we have is an IPv4 network address, then
|