From: Yu Watanabe Date: Sat, 18 Dec 2021 00:50:08 +0000 (+0900) Subject: network: route: update expiration timer in link_request_route() X-Git-Tag: v250-rc3~16^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42e7ce69e46aa50cf3615af0a5a1346ce0c51327;p=thirdparty%2Fsystemd.git network: route: update expiration timer in link_request_route() --- diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index d7fb9094faf..ee7a5350754 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);