From 73e19e1a8dba1f945a71608bb7e25d2e8eeb87b8 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Feb 2024 17:20:04 +0100 Subject: [PATCH] nixos/lxd: use networkd for DHCP/RA Enables networkd instead of dhcpcd for DHCP/RA. It offers a solid base for network configuration, that is much more extensible than dhcpcd and also better maintained than our bespoke `networking.interfaces` modules. Closes: #287269 --- .../lxd/lxd-virtual-machine-image-inner.nix | 18 ++++++++++++++++-- .../scripts/lxd/lxd-virtual-machine-image.nix | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix index c1c50b32ff5b..2d1761401fcd 100644 --- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix +++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix @@ -13,8 +13,22 @@ ./lxd.nix ]; - networking.useDHCP = false; - networking.interfaces.eth0.useDHCP = true; + networking = { + dhcdpcd.enable = false; + useDHCP = false; + }; + + systemd.network = { + enable = true; + networks."50-eth0" = { + matchConfig.Name = "eth0"; + networkConfig = { + DHCP = "ipv4"; + IPv6AcceptRA = true; + }; + linkConfig.RequiredForOnline = "routable"; + }; + }; system.stateVersion = "@stateVersion@"; # Did you read the comment? } diff --git a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix index 0d96eea0e2d2..a58579914465 100644 --- a/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix +++ b/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix @@ -26,6 +26,20 @@ ''; # Network - networking.useDHCP = false; - networking.interfaces.enp5s0.useDHCP = true; + networking = { + dhcdpcd.enable = false; + useDHCP = false; + }; + + systemd.network = { + enable = true; + networks."50-enp5s0" = { + matchConfig.Name = "enp5s0"; + networkConfig = { + DHCP = "ipv4"; + IPv6AcceptRA = true; + }; + linkConfig.RequiredForOnline = "routable"; + }; + }; }