diff options
author | Mantas Mikulėnas <grawity@gmail.com> | 2016-08-24 18:26:48 +0300 |
---|---|---|
committer | Mantas Mikulėnas <grawity@gmail.com> | 2016-08-25 13:25:08 +0300 |
commit | c436d553973b43ec5e8cf2eab84dd3e9e334295f (patch) | |
tree | 1bf462f2c41b9680c0f0a30c60de59bd95169ff3 | |
parent | 3dea75dead5d3b229c9780de63479ea0aa655ba5 (diff) |
networkd: do not drop config for unmanaged interfaces
Flushing foreign configuration for unmanaged interfaces is outright
evil, especially when it's a regular occurence with Wi-Fi.
Fixes: 3104883ddc24 "networkd: remove route if carrier is lost"
Ref: #3831
-rw-r--r-- | src/network/networkd-link.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 71484e3288..aab40a0eb1 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -2957,9 +2957,11 @@ static int link_carrier_lost(Link *link) { if (r < 0) return r; - r = link_drop_foreign_config(link); - if (r < 0) - return r; + if (link->state != LINK_STATE_UNMANAGED) { + r = link_drop_foreign_config(link); + if (r < 0) + return r; + } r = link_handle_bound_by_list(link); if (r < 0) |