networkd: do not drop config for unmanaged interfaces
authorMantas Mikulėnas <grawity@gmail.com>
Wed, 24 Aug 2016 15:26:48 +0000 (18:26 +0300)
committerMantas Mikulėnas <grawity@gmail.com>
Thu, 25 Aug 2016 10:25:08 +0000 (13:25 +0300)
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

src/network/networkd-link.c

index 71484e3..aab40a0 100644 (file)
@@ -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)