37 lines
1.4 KiB
Diff
37 lines
1.4 KiB
Diff
From 171daf2dc084fab16c0696b139b1af3f0ab9d9f0 Mon Sep 17 00:00:00 2001
|
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
|
Date: Fri, 6 Aug 2021 19:37:16 +0900
|
|
Subject: [PATCH] network: use monotonic instead of boot time to handle address
|
|
creation/update timestamp
|
|
|
|
Follow-up for 25db3aeaf32ba95bad5e765720ebc23c8ef77a99 and 899034ba8167bd16e802cfbea29a9ee85dee5be5.
|
|
|
|
Fixes another issue in #20244.
|
|
|
|
(cherry picked from commit 5865dc1493e5519549d24fef23a2ce5c812eca32)
|
|
|
|
Conflict:NA
|
|
Reference:https://github.com/systemd/systemd/commit/171daf2dc084fab16c0696b139b1af3f0ab9d9f0
|
|
---
|
|
src/network/networkd-ndisc.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
|
|
index efc4707855..e3705bfed5 100644
|
|
--- a/src/network/networkd-ndisc.c
|
|
+++ b/src/network/networkd-ndisc.c
|
|
@@ -765,7 +765,9 @@ static int ndisc_router_process_autonomous_prefix(Link *link, sd_ndisc_router *r
|
|
assert(link);
|
|
assert(rt);
|
|
|
|
- r = sd_ndisc_router_get_timestamp(rt, clock_boottime_or_monotonic(), &time_now);
|
|
+ /* Do not use clock_boottime_or_monotonic() here, as the kernel internally manages cstamp and
|
|
+ * tstamp with jiffies, and it is not increased while the system is suspended. */
|
|
+ r = sd_ndisc_router_get_timestamp(rt, CLOCK_MONOTONIC, &time_now);
|
|
if (r < 0)
|
|
return log_link_error_errno(link, r, "Failed to get RA timestamp: %m");
|
|
|
|
--
|
|
2.33.0
|
|
|