diff options
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r-- | nixos/modules/tasks/network-interfaces-scripted.nix | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index 062598de83e1..cf90f05e8d3a 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -47,21 +47,17 @@ in let deviceDependency = dev: - if (config.boot.isContainer == false) - then - # Trust udev when not in the container - optional (dev != null) (subsystemDevice dev) - else - # When in the container, check whether the interface is built from other definitions - if (hasAttr dev cfg.bridges) || - (hasAttr dev cfg.bonds) || - (hasAttr dev cfg.macvlans) || - (hasAttr dev cfg.sits) || - (hasAttr dev cfg.vlans) || - (hasAttr dev cfg.vswitches) || - (hasAttr dev cfg.wlanInterfaces) - then [ "${dev}-netdev.service" ] - else []; + # Use systemd service if we manage device creation, else + # trust udev when not in a container + if (hasAttr dev cfg.bridges) || + (hasAttr dev cfg.bonds) || + (hasAttr dev cfg.macvlans) || + (hasAttr dev cfg.sits) || + (hasAttr dev cfg.vlans) || + (hasAttr dev cfg.vswitches) || + (hasAttr dev cfg.wlanInterfaces) + then [ "${dev}-netdev.service" ] + else optional (dev != null && !config.boot.isContainer) (subsystemDevice dev); networkLocalCommands = { after = [ "network-setup.service" ]; @@ -198,7 +194,7 @@ in user "${i.virtualOwner}" ''; postStop = '' - ip link del ${i.name} + ip link del ${i.name} || true ''; }; @@ -335,7 +331,7 @@ in ip link set "${n}" up ''; postStop = '' - ip link delete "${n}" + ip link delete "${n}" || true ''; }); @@ -363,7 +359,7 @@ in ip link set "${n}" up ''; postStop = '' - ip link delete "${n}" + ip link delete "${n}" || true ''; }); @@ -387,7 +383,7 @@ in ip link set "${n}" up ''; postStop = '' - ip link delete "${n}" + ip link delete "${n}" || true ''; }); |