From 42e7ce69e46aa50cf3615af0a5a1346ce0c51327 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 18 Dec 2021 09:50:08 +0900 Subject: [PATCH] network: route: update expiration timer in link_request_route() --- src/network/networkd-route.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index d7fb9094fa..ee7a535075 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1346,6 +1346,16 @@ int link_request_route( existing->lifetime_usec = route->lifetime_usec; if (consume_object) route_free(route); + + if (existing->expire) { + /* When re-configuring an existing route, kernel does not send RTM_NEWROUTE + * message, so we need to update the timer here. */ + r = route_setup_timer(existing, NULL); + if (r < 0) + log_link_warning_errno(link, r, "Failed to update expiration timer for route, ignoring: %m"); + if (r > 0) + log_route_debug(existing, "Updated expiration timer for", link, link->manager); + } } log_route_debug(existing, "Requesting", link, link->manager); -- 2.25.1