summaryrefslogtreecommitdiff
path: root/src/network/networkd-dhcp4.c
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2022-07-18 10:02:02 +0100
committerGitHub <noreply@github.com>2022-07-18 10:02:02 +0100
commit9b9ddaf09d8f71a159549614f8115f8e6abf2fb5 (patch)
treef411ecaa9f54c5ad640f28537dc5e9e92f5f2aa1 /src/network/networkd-dhcp4.c
parent5509518193583c7015efbee028e6cbb6691b0240 (diff)
parentb9e4ec500eb2f3c6bc65f838d2630771f65fa80b (diff)
downloadsystemd-9b9ddaf09d8f71a159549614f8115f8e6abf2fb5.tar.gz
Merge pull request #24001 from yuwata/network-lifetime-fix
network: fixes for lifetime handling
Diffstat (limited to 'src/network/networkd-dhcp4.c')
-rw-r--r--src/network/networkd-dhcp4.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
index 79d7380460..e968773dbb 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -797,6 +797,7 @@ static int dhcp4_request_address(Link *link, bool announce) {
int r;
assert(link);
+ assert(link->manager);
assert(link->network);
assert(link->dhcp_lease);
@@ -814,12 +815,14 @@ static int dhcp4_request_address(Link *link, bool announce) {
if (!FLAGS_SET(link->network->keep_configuration, KEEP_CONFIGURATION_DHCP)) {
uint32_t lifetime_sec;
+ usec_t now_usec;
r = sd_dhcp_lease_get_lifetime(link->dhcp_lease, &lifetime_sec);
if (r < 0)
return log_link_warning_errno(link, r, "DHCP error: no lifetime: %m");
- lifetime_usec = usec_add(lifetime_sec * USEC_PER_SEC, now(CLOCK_BOOTTIME));
+ assert_se(sd_event_now(link->manager->event, CLOCK_BOOTTIME, &now_usec) >= 0);
+ lifetime_usec = sec_to_usec(lifetime_sec, now_usec);
} else
lifetime_usec = USEC_INFINITY;