summaryrefslogtreecommitdiffstats
path: root/nixos/modules/tasks
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2019-09-23 16:37:58 +0200
committerRobin Gloster <mail@glob.in>2019-09-24 10:20:16 +0200
commitc26c6241eae93985c33590401fda971d7574c136 (patch)
tree1f8817c8c1420940050eb0cff117ff6595eb985c /nixos/modules/tasks
parent5426932f7c664a8765d6904af20ef21310e95d4f (diff)
networking.useDHCP: disallow for networkd
This setting will be removed with the switch to systemd-networkd. The use of per interface config is encouraged instead.
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix12
1 files changed, 8 insertions, 4 deletions
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 34e270667151..605d00de58f2 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -38,6 +38,12 @@ in
} {
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
message = "networking.defaultGateway6.interface is not supported by networkd.";
+ } {
+ assertion = cfg.useDHCP == false;
+ message = ''
+ networking.useDHCP is not supported by networkd.
+ Please use per interface configuration and set the global option to false.
+ '';
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd.";
@@ -56,9 +62,7 @@ in
genericNetwork = override:
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
- in {
- DHCP = override (dhcpStr cfg.useDHCP);
- } // optionalAttrs (gateway != [ ]) {
+ in optionalAttrs (gateway != [ ]) {
routes = override [
{
routeConfig = {
@@ -97,7 +101,7 @@ in
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
name = mkDefault i.name;
DHCP = mkForce (dhcpStr
- (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
+ (if i.useDHCP != null then i.useDHCP else false));
address = forEach (interfaceIps i)
(ip: "${ip.address}/${toString ip.prefixLength}");
networkConfig.IPv6PrivacyExtensions = "kernel";