diff options
author | 2016-05-20 18:54:49 +0200 | |
---|---|---|
committer | 2016-05-20 18:54:49 +0200 | |
commit | e506f43666e80a931e0ed6a66dd6f3bf76fbfaf2 (patch) | |
tree | b85fbf484e283ba34e7477886de5c9fe3f193f75 | |
parent | Merge pull request #3290 from htejun/cgroup2-io-compat (diff) | |
parent | networkd: Drop IPv6LL address when link is down (diff) | |
download | systemd-e506f43666e80a931e0ed6a66dd6f3bf76fbfaf2.tar.gz systemd-e506f43666e80a931e0ed6a66dd6f3bf76fbfaf2.tar.bz2 systemd-e506f43666e80a931e0ed6a66dd6f3bf76fbfaf2.zip |
Merge pull request #3276 from ssahani/issue-3264
networkd: Drop IPv6LL address when link is down.
-rw-r--r-- | src/network/networkd-address.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 976f333f7..367c340e0 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -98,6 +98,9 @@ void address_free(Address *address) { if (address->link) { set_remove(address->link->addresses, address); set_remove(address->link->addresses_foreign, address); + + if (in_addr_equal(AF_INET6, &address->in_addr, (const union in_addr_union *) &address->link->ipv6ll_address)) + memzero(&address->link->ipv6ll_address, sizeof(struct in6_addr)); } free(address); |