about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorAndreas Rammhold <andreas@rammhold.de>2019-03-24 18:17:06 +0100
committerGitHub <noreply@github.com>2019-03-24 18:17:06 +0100
commitaf27dbf1d15de63281434ca068c46a543d4f6eee (patch)
tree0146366718ad298b0a4dc0f160d651e4662e8897 /nixos
parent994476e13878d4f7cef55d31d0d95f4edfb6e8a8 (diff)
parent862615b86eaf00b56316dd5cbf070be957e8a98b (diff)
downloadnixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar.gz
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar.bz2
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar.lz
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar.xz
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.tar.zst
nixlib-af27dbf1d15de63281434ca068c46a543d4f6eee.zip
Merge pull request #57897 from rnhmjoj/fix-ipv6
nixos/containers: create veths if only IPv6 is configured
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/virtualisation/containers.nix14
-rw-r--r--nixos/release-combined.nix1
-rw-r--r--nixos/release-small.nix1
3 files changed, 11 insertions, 5 deletions
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 7c9909ae2787..d10c4feecb43 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -36,8 +36,9 @@ let
         #! ${pkgs.runtimeShell} -e
 
         # Initialise the container side of the veth pair.
-        if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ] || [ -n "$HOST_BRIDGE" ]; then
-
+        if [ -n "$HOST_ADDRESS" ]   || [ -n "$HOST_ADDRESS6" ]  ||
+           [ -n "$LOCAL_ADDRESS" ]  || [ -n "$LOCAL_ADDRESS6" ] ||
+           [ -n "$HOST_BRIDGE" ]; then
           ip link set host0 name eth0
           ip link set dev eth0 up
 
@@ -88,7 +89,8 @@ let
         extraFlags+=" --private-network"
       fi
 
-      if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
+      if [ -n "$HOST_ADDRESS" ]  || [ -n "$LOCAL_ADDRESS" ] ||
+         [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then
         extraFlags+=" --network-veth"
       fi
 
@@ -159,7 +161,8 @@ let
       # Clean up existing machined registration and interfaces.
       machinectl terminate "$INSTANCE" 2> /dev/null || true
 
-      if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
+      if [ -n "$HOST_ADDRESS" ]  || [ -n "$LOCAL_ADDRESS" ] ||
+         [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then
         ip link del dev "ve-$INSTANCE" 2> /dev/null || true
         ip link del dev "vb-$INSTANCE" 2> /dev/null || true
       fi
@@ -208,7 +211,8 @@ let
           '';
     in
       ''
-        if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
+        if [ -n "$HOST_ADDRESS" ]  || [ -n "$LOCAL_ADDRESS" ] ||
+           [ -n "$HOST_ADDRESS6" ] || [ -n "$LOCAL_ADDRESS6" ]; then
           if [ -z "$HOST_BRIDGE" ]; then
             ifaceHost=ve-$INSTANCE
             ip link set dev $ifaceHost up
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 6c313f8dd3e4..b9a9515f94ef 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -64,6 +64,7 @@ in rec {
         #(all nixos.tests.containers)
         (all nixos.tests.containers-imperative)
         (all nixos.tests.containers-ipv4)
+        (all nixos.tests.containers-ipv6)
         nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 4bfb9a423f7d..b5b09dc38d06 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -33,6 +33,7 @@ in rec {
       inherit (nixos'.tests)
         containers-imperative
         containers-ipv4
+        containers-ipv6
         firewall
         ipv6
         login