From 8a20a8438f57f9301e0c4ddccf2d13cd8fd9a8b2 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 12 Dec 2021 02:52:09 +0900 Subject: [PATCH] network: route: link_drop_foreign_routes() must be called only for managed interfaces --- src/network/networkd-route.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index bfd849abb9..156476066a 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -893,6 +893,7 @@ int link_drop_foreign_routes(Link *link) { assert(link); assert(link->manager); + assert(link->network); SET_FOREACH(route, link->routes) { /* do not touch routes managed by the kernel */ @@ -907,11 +908,11 @@ int link_drop_foreign_routes(Link *link) { if (!route_exists(route)) continue; - if (route->protocol == RTPROT_STATIC && link->network && + if (route->protocol == RTPROT_STATIC && FLAGS_SET(link->network->keep_configuration, KEEP_CONFIGURATION_STATIC)) continue; - if (route->protocol == RTPROT_DHCP && link->network && + if (route->protocol == RTPROT_DHCP && FLAGS_SET(link->network->keep_configuration, KEEP_CONFIGURATION_DHCP)) continue;