summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-12-05 19:54:29 +0900
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-12-06 12:27:47 +0100
commit2c7b826ddf52bd09956815dd8e52329e62ce985a (patch)
tree6b331bc5f2417feae8ca236594d5a5f01d68b703
parent9929fe8c950cee84bf901ebf50920a078d45a27f (diff)
downloadsystemd-2c7b826ddf52bd09956815dd8e52329e62ce985a.tar.gz
network: do not drop foreign config if interface is in initialized state
If the interface is in initialized state, no network file is assigned to the interface. If an interface is not managed by networkd, previously, the foreign configs of the interface was dropped. Fixes #14250.
-rw-r--r--src/network/networkd-link.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index e650ef7e0a..710de80fde 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -2924,7 +2924,7 @@ int link_reconfigure(Link *link, bool force) {
if (r < 0)
return r;
- if (!IN_SET(link->state, LINK_STATE_UNMANAGED, LINK_STATE_PENDING)) {
+ if (!IN_SET(link->state, LINK_STATE_UNMANAGED, LINK_STATE_PENDING, LINK_STATE_INITIALIZED)) {
log_link_debug(link, "State is %s, dropping config", link_state_to_string(link->state));
r = link_drop_foreign_config(link);
if (r < 0)
@@ -3419,7 +3419,7 @@ static int link_carrier_lost(Link *link) {
if (r < 0)
return r;
- if (!IN_SET(link->state, LINK_STATE_UNMANAGED, LINK_STATE_PENDING)) {
+ if (!IN_SET(link->state, LINK_STATE_UNMANAGED, LINK_STATE_PENDING, LINK_STATE_INITIALIZED)) {
log_link_debug(link, "State is %s, dropping config", link_state_to_string(link->state));
r = link_drop_foreign_config(link);
if (r < 0)