about summary refs log tree commit diff
path: root/nixos/modules/tasks/network-interfaces-scripted.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-01-14 04:14:16 +0300
committerNikolay Amiantov <ab@fmap.me>2017-02-02 01:53:00 +0300
commit0cb487ee044bbe5cfa1d6421df385b6bc2447bd2 (patch)
tree09e8dd140abf4c6450afe1d4f17f95e8df3d6871 /nixos/modules/tasks/network-interfaces-scripted.nix
parentfcb20b9feecb33c60d15a98766f7fd1bfbeae13e (diff)
downloadnixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar.gz
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar.bz2
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar.lz
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar.xz
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.tar.zst
nixlib-0cb487ee044bbe5cfa1d6421df385b6bc2447bd2.zip
network-interfaces service: add defaultGateway{,6}.interface
Diffstat (limited to 'nixos/modules/tasks/network-interfaces-scripted.nix')
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix16
1 files changed, 10 insertions, 6 deletions
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index c50ea5c79643..aa86fc85feb6 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -102,17 +102,21 @@ in
                 EOF
 
                 # Set the default gateway.
-                ${optionalString (cfg.defaultGateway != null && cfg.defaultGateway != "") ''
+                ${optionalString (cfg.defaultGateway != null && cfg.defaultGateway.address != "") ''
                   # FIXME: get rid of "|| true" (necessary to make it idempotent).
-                  ip route add default via "${cfg.defaultGateway}" ${
+                  ip route add default via "${cfg.defaultGateway.address}" ${
                     optionalString (cfg.defaultGatewayWindowSize != null)
-                      "window ${toString cfg.defaultGatewayWindowSize}"} || true
+                      "window ${toString cfg.defaultGatewayWindowSize}"} ${
+                    optionalString (cfg.defaultGateway.interface != null)
+                      "dev ${cfg.defaultGateway.interface}"}|| true
                 ''}
-                ${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6 != "") ''
+                ${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6.address != "") ''
                   # FIXME: get rid of "|| true" (necessary to make it idempotent).
-                  ip -6 route add ::/0 via "${cfg.defaultGateway6}" ${
+                  ip -6 route add ::/0 via "${cfg.defaultGateway6.address}" ${
                     optionalString (cfg.defaultGatewayWindowSize != null)
-                      "window ${toString cfg.defaultGatewayWindowSize}"} || true
+                      "window ${toString cfg.defaultGatewayWindowSize}"} ${
+                    optionalString (cfg.defaultGateway6.interface != null)
+                      "dev ${cfg.defaultGateway6.interface}"} || true
                 ''}
               '';
           };