]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: dhcp6pd: first check prefixes, then calculate lifetime
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 4 Dec 2021 20:15:57 +0000 (05:15 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 6 Dec 2021 12:35:53 +0000 (21:35 +0900)
src/network/networkd-dhcp-prefix-delegation.c

index d2d676c6f503981b300bf0e03c2e966d2465dabe..180a758c43ffe3b35459ece04cabc2f9abcc37fc 100644 (file)
@@ -800,9 +800,6 @@ static int dhcp6_pd_assign_prefixes(Link *link, Link *uplink) {
                 if (r < 0)
                         break;
 
-                lifetime_preferred_usec = usec_add(lifetime_preferred_sec * USEC_PER_SEC, timestamp_usec);
-                lifetime_valid_usec = usec_add(lifetime_valid_sec * USEC_PER_SEC, timestamp_usec);
-
                 if (pd_prefix_len > 64)
                         continue;
 
@@ -811,6 +808,9 @@ static int dhcp6_pd_assign_prefixes(Link *link, Link *uplink) {
                 if (r < 0)
                         return r;
 
+                lifetime_preferred_usec = usec_add(lifetime_preferred_sec * USEC_PER_SEC, timestamp_usec);
+                lifetime_valid_usec = usec_add(lifetime_valid_sec * USEC_PER_SEC, timestamp_usec);
+
                 r = dhcp6_pd_assign_prefix(link, &pd_prefix, pd_prefix_len, lifetime_preferred_usec, lifetime_valid_usec);
                 if (r < 0)
                         return r;