diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-12-07 02:54:10 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-07 02:54:10 +0900 |
commit | de1253e4c63dbc683177f63c9b41e41dfe097cba (patch) | |
tree | 72a0c94ebdb89c91b4dc2a3448e1495c501b257b /src/network/networkd-route.c | |
parent | 5896a9ebdbe4d38c01390d0a5e82f9fcb4971059 (diff) | |
parent | da10d2d5846963ed8ce2e9db4d1c4e57e3d80705 (diff) | |
download | systemd-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.c | 13 |
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); } |