networking: Fix timeout when lo has aliased IPs

With a config like

    {
      networking.interfaces."lo".ip4 = [
        { address = "10.8.8.8"; prefixLength = 32; }
      ];
    }

a nixos-rebuild switch would take a long time, and you'd see:

    $ systemctl list-jobs
       JOB UNIT                                TYPE  STATE
    734400 network-interfaces.target           start waiting
    734450 sys-subsystem-net-devices-lo.device start running
    734449 network-link-lo.service             start waiting

and:

    systemd[1]: sys-subsystem-net-devices-lo.device: Job sys-subsystem-net-devices-lo.device/star>
    systemd[1]: sys-subsystem-net-devices-lo.device: Job sys-subsystem-net-devices-lo.device/star>
    systemd[1]: Timed out waiting for device sys-subsystem-net-devices-lo.device.

This removes the device dependency for `lo` and fixes this bug.

Closes #7227
This commit is contained in:
Graham Christensen 2018-07-06 15:33:05 -04:00
parent 29021eab6a
commit 48d292e8a1
No known key found for this signature in database
GPG Key ID: ACA1C1D120C83D5C

View File

@ -1053,7 +1053,7 @@ in
};
} // (listToAttrs (flip map interfaces (i:
let
deviceDependency = if config.boot.isContainer
deviceDependency = if (config.boot.isContainer || i.name == "lo")
then []
else [ (subsystemDevice i.name) ];
in