From: Yu Watanabe Date: Sat, 6 Jan 2024 21:11:09 +0000 (+0900) Subject: network/route: also remove route on cancelling request X-Git-Tag: v256-rc1~1041^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97979ece0e046b4868130a9c80c15722e9c79dd8;p=thirdparty%2Fsystemd.git network/route: also remove route on cancelling request Otherwise, the route may arrive after we call link_drop_foreign_address() or so on reconfiguring interface. This is the one for routes of 4303e9806befc0c5b8067e45225e5d952f427b3a. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index a79ab0d43c1..194d31eafe8 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -997,6 +997,13 @@ static int link_drop_requests(Link *link) { RET_GATHER(ret, nexthop_remove(nexthop, link->manager)); break; } + case REQUEST_TYPE_ROUTE: { + Route *route = ASSERT_PTR(req->userdata); + + if (route_get(link->manager, route, NULL) < 0) + RET_GATHER(ret, route_remove(route, link->manager)); + break; + } default: ; }