summaryrefslogtreecommitdiff
path: root/src/network/networkd-address.c
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2015-11-17 17:01:32 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2015-11-17 17:01:32 +0100
commit92939fc4c0261dccd4b755186aba84a9b1412bed (patch)
treecc4cfa27faef86c907d75fc5b9441f7fb8e31f38 /src/network/networkd-address.c
parent0b3209b531d444afb7ae8a4081894f726b68fb11 (diff)
parentc601ebf79f0c54be14d3c16f0f484c0335cdeec4 (diff)
Merge pull request #1920 from teg/networkd-fixes
networkd fixes
Diffstat (limited to 'src/network/networkd-address.c')
-rw-r--r--src/network/networkd-address.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index c0562e5788..1ce1f4d8d6 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -347,9 +347,9 @@ int address_update(Address *address, unsigned char flags, unsigned char scope, s
link_check_ready(address->link);
if (address->family == AF_INET6 &&
- in_addr_is_link_local(AF_INET6, &address->in_addr) &&
- !address->link->ipv6ll_address) {
- r = link_ipv6ll_gained(address->link);
+ in_addr_is_link_local(AF_INET6, &address->in_addr) > 0 &&
+ in_addr_is_null(AF_INET6, (const union in_addr_union*) &address->link->ipv6ll_address) > 0) {
+ r = link_ipv6ll_gained(address->link, &address->in_addr.in6);
if (r < 0)
return r;
}