nixos/network-interfaces: Add ipv6 gateway support

wip/yesman
William A. Kennington III 10 years ago
parent c812e45292
commit 1036c66d43
  1. 6
      nixos/modules/tasks/network-interfaces-scripted.nix
  2. 2
      nixos/modules/tasks/network-interfaces-systemd.nix
  3. 9
      nixos/modules/tasks/network-interfaces.nix

@ -85,6 +85,12 @@ in
optionalString (cfg.defaultGatewayWindowSize != null)
"window ${cfg.defaultGatewayWindowSize}"} || true
''}
${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6 != "") ''
# FIXME: get rid of "|| true" (necessary to make it idempotent).
ip -6 route add ::/0 via "${cfg.defaultGateway6}" ${
optionalString (cfg.defaultGatewayWindowSize != null)
"window ${cfg.defaultGatewayWindowSize}"} || true
''}
'';
};

@ -51,6 +51,8 @@ in
DHCP = override (dhcpStr cfg.useDHCP);
} // optionalAttrs (cfg.defaultGateway != null) {
gateway = override [ cfg.defaultGateway ];
} // optionalAttrs (cfg.defaultGateway6 != null) {
gateway = override [ cfg.defaultGateway6 ];
} // optionalAttrs (domains != [ ]) {
domains = override domains;
};

@ -256,6 +256,15 @@ in
'';
};
networking.defaultGateway6 = mkOption {
default = null;
example = "2001:4d0:1e04:895::1";
type = types.nullOr types.str;
description = ''
The default ipv6 gateway. It can be left empty if it is auto-detected through DHCP.
'';
};
networking.defaultGatewayWindowSize = mkOption {
default = null;
example = 524288;

Loading…
Cancel
Save