summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-12-05 05:15:57 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-12-06 21:35:53 +0900
commit21cf8e9e6de9badd521fa8926eff1b3867406d78 (patch)
treee4f3e737930de3f918d2dc23a7e905c590e048a6
parent542d04950e75dcae230c28d5ffb7673d4867d7ac (diff)
downloadsystemd-21cf8e9e6de9badd521fa8926eff1b3867406d78.tar.gz
network: dhcp6pd: first check prefixes, then calculate lifetime
-rw-r--r--src/network/networkd-dhcp-prefix-delegation.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
index d2d676c6f5..180a758c43 100644
--- a/src/network/networkd-dhcp-prefix-delegation.c
+++ b/src/network/networkd-dhcp-prefix-delegation.c
@@ -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;