From: Yu Watanabe Date: Tue, 7 Jul 2020 00:20:39 +0000 (+0900) Subject: network: always update acquired prefix route X-Git-Tag: v246-rc1~23^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F16380%2Fhead;p=thirdparty%2Fsystemd.git network: always update acquired prefix route Otherwise, routes become lifetime 0. Fixes #16356. --- diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index 42097e0cdc0..44b57b8f9d0 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -28,7 +28,6 @@ static int dhcp6_lease_address_acquired(sd_dhcp6_client *client, Link *link); static Link *dhcp6_prefix_get(Manager *m, struct in6_addr *addr); static int dhcp6_prefix_add(Manager *m, struct in6_addr *addr, Link *link); static int dhcp6_prefix_remove_all(Manager *m, Link *link); -static bool dhcp6_link_has_dhcpv6_prefix(Link *link); static int dhcp6_assign_delegated_prefix(Link *link, const struct in6_addr *prefix, uint8_t prefix_len, uint32_t lifetime_preferred, @@ -308,9 +307,6 @@ static int dhcp6_pd_prefix_distribute(Link *dhcp6_link, if (!dhcp6_get_prefix_delegation(link)) continue; - if (dhcp6_link_has_dhcpv6_prefix(link)) - continue; - if (assign_preferred_subnet_id != dhcp6_has_preferred_subnet_id(link)) continue; @@ -1025,20 +1021,6 @@ static int dhcp6_prefix_remove_all(Manager *m, Link *link) { return 0; } -static bool dhcp6_link_has_dhcpv6_prefix(Link *link) { - Iterator i; - Link *l; - - assert(link); - assert(link->manager); - - HASHMAP_FOREACH(l, link->manager->dhcp6_prefixes, i) - if (link == l) - return true; - - return false; -} - static int dhcp6_assign_delegated_prefix(Link *link, const struct in6_addr *prefix, uint8_t prefix_len,