summaryrefslogtreecommitdiff
path: root/src/network/networkd-route.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-12-07 02:54:10 +0900
committerGitHub <noreply@github.com>2021-12-07 02:54:10 +0900
commitde1253e4c63dbc683177f63c9b41e41dfe097cba (patch)
tree72a0c94ebdb89c91b4dc2a3448e1495c501b257b /src/network/networkd-route.c
parent5896a9ebdbe4d38c01390d0a5e82f9fcb4971059 (diff)
parentda10d2d5846963ed8ce2e9db4d1c4e57e3d80705 (diff)
downloadsystemd-de1253e4c63dbc683177f63c9b41e41dfe097cba.tar.gz
Merge pull request #21638 from yuwata/network-dhcp6pd-prefix-lost
network: dhcp6pd: fix prefix lost handling
Diffstat (limited to 'src/network/networkd-route.c')
-rw-r--r--src/network/networkd-route.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
index 003c8dcde4..8e4081a8e3 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -1260,24 +1260,25 @@ static int route_configure(
return 0;
}
-void route_cancel_request(Route *route) {
+void route_cancel_request(Route *route, Link *link) {
Request req;
assert(route);
- if (!route_is_requesting(route))
- return;
+ link = route->link ?: link;
- if (!route->link)
+ assert(link);
+
+ if (!route_is_requesting(route))
return;
req = (Request) {
- .link = route->link,
+ .link = link,
.type = REQUEST_TYPE_ROUTE,
.route = route,
};
- request_drop(ordered_set_get(route->link->manager->request_queue, &req));
+ request_drop(ordered_set_get(link->manager->request_queue, &req));
route_cancel_requesting(route);
}