]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd: link - do not drop config for critical interfaces 2267/head
authorDamjan Georgievski <gdamjan@gmail.com>
Mon, 4 Jan 2016 21:04:17 +0000 (22:04 +0100)
committerDamjan Georgievski <gdamjan@gmail.com>
Tue, 5 Jan 2016 00:00:16 +0000 (01:00 +0100)
the idea is that interfaces marked as critical are typically used
for NFS root. networkd shouldn't drop that config.

discussion at #780

src/network/networkd-link.c

index 9811526c6d37e21b586aae78868925e7e3d0a693..fb09dbded93944112caeb7caeb0d386cd7a8e1df 100644 (file)
@@ -2039,9 +2039,9 @@ static int link_configure(Link *link) {
         assert(link->network);
         assert(link->state == LINK_STATE_PENDING);
 
-        /* Drop foreign config, but ignore loopback device.
-         * We do not want to remove loopback address. */
-        if (!(link->flags & IFF_LOOPBACK)) {
+        /* Drop foreign config, but ignore loopback or critical devices.
+         * We do not want to remove loopback address or addresses used for root NFS. */
+        if (!(link->flags & IFF_LOOPBACK) && !(link->network->dhcp_critical)) {
                 r = link_drop_foreign_config(link);
                 if (r < 0)
                         return r;