mirror of
https://github.com/systemd/systemd.git
synced 2024-10-28 20:25:38 +03:00
networkd: fix dhcp4 link without routes not being considered ready (#8728)
The dhcp4 code sets link->dhcp4_configured when dhcp4_route_handler() has processed the last message. However, in case UseRoutes=no has been set in the [DHCP] section, or in case the DHCP server simply sends no routes, link_set_dhcp_routes() will not send any netlink messages and dhcp4_route_handler() will therefore never be called. This causes the link to never reach LINK_STATE_CONFIGURED, and e.g. systemd-networkd-wait-online will not consider the link as ready. Fix that by setting link->dhcp4_configured = true and calling link_check_ready() in dhcp4_address_handler() in case link_set_dhcp_routes() sent no netlink messages (dhcp4_messages is zero).
This commit is contained in:
parent
b1c626f67f
commit
223932c786
@ -319,6 +319,11 @@ static int dhcp4_address_handler(sd_netlink *rtnl, sd_netlink_message *m,
|
||||
|
||||
link_set_dhcp_routes(link);
|
||||
|
||||
if (link->dhcp4_messages == 0) {
|
||||
link->dhcp4_configured = true;
|
||||
link_check_ready(link);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user