1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00

network: drop managed configs on reconfigure when KeepConfiguration=yes

Otherwise, the managed configs, that is addresses, routes and so on
configured by the previously assigned .network file will not be dropped
on reconfiguring the interface.
This commit is contained in:
Yu Watanabe 2022-02-13 19:57:09 +09:00
parent 07c160a65c
commit 81db4f3dd8

View File

@ -1240,10 +1240,13 @@ static int link_reconfigure_impl(Link *link, bool force) {
link_drop_requests(link);
if (network && !force)
if (network && !force && network->keep_configuration != KEEP_CONFIGURATION_YES)
/* When a new/updated .network file is assigned, first make all configs (addresses,
* routes, and so on) foreign, and then drop unnecessary configs later by
* link_drop_foreign_config() in link_configure(). */
* link_drop_foreign_config() in link_configure().
* Note, when KeepConfiguration=yes, link_drop_foreign_config() does nothing. Hence,
* here we need to drop the configs such as addresses, routes, and so on configured by
* the previously assigned .network file. */
link_foreignize_config(link);
else {
/* Remove all managed configs. Note, foreign configs are removed in later by