nixos/network-interfaces: Add ipv6 gateway support

This commit is contained in:
William A. Kennington III 2014-12-17 17:54:06 -08:00
parent c812e45292
commit 1036c66d43
3 changed files with 17 additions and 0 deletions

View File

@ -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
''}
'';
};

View File

@ -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;
};

View File

@ -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;