From 0d665774b30baedfbc11a785cd4eee25e556aae8 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 29 Jun 2026 13:42:32 +0200 Subject: [PATCH] nixos/containers: fix IPv4-mapped addresses lib.network.ipv6.fromString tries to parse the address and fails with IPv4-mapped addresses, but we actually just want to extract the prefix, so do this using string operations, as for IPv4. Fixes issue #530543. --- nixos/modules/virtualisation/nixos-containers.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index dd9177a5bd21..a34b5075465a 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -524,8 +524,8 @@ let tmpfs = null; }; - # Parses an IPv4 address with an optional prefix - ipv4FromString = + # Parses an IP address with an optional prefix + ipFromString = str: let segments = lib.splitString "/" str; @@ -610,10 +610,10 @@ in networking.interfaces = lib.mkIf config.privateNetwork ( lib.mkMerge [ (lib.mkIf (config.localAddress != null) { - eth0.ipv4.addresses = [ (ipv4FromString config.localAddress) ]; + eth0.ipv4.addresses = [ (ipFromString config.localAddress) ]; }) (lib.mkIf (config.localAddress6 != null) { - eth0.ipv6.addresses = [ (lib.network.ipv6.fromString config.localAddress6) ]; + eth0.ipv6.addresses = [ (ipFromString config.localAddress6) ]; }) ] );