mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-21 04:28:40 +03:00
nixos/networking: fix v4+v6 default gateways with networkd
fixes #178078
This commit is contained in:
parent
13f08d71ce
commit
da28b26d64
@ -59,15 +59,14 @@ in
|
|||||||
genericNetwork = override:
|
genericNetwork = override:
|
||||||
let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
|
let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
|
||||||
++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
|
++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
|
||||||
in optionalAttrs (gateway != [ ]) {
|
makeGateway = gateway: {
|
||||||
routes = override [
|
|
||||||
{
|
|
||||||
routeConfig = {
|
routeConfig = {
|
||||||
Gateway = gateway;
|
Gateway = gateway;
|
||||||
GatewayOnLink = false;
|
GatewayOnLink = false;
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
];
|
in optionalAttrs (gateway != [ ]) {
|
||||||
|
routes = override (map makeGateway gateway);
|
||||||
} // optionalAttrs (domains != [ ]) {
|
} // optionalAttrs (domains != [ ]) {
|
||||||
domains = override domains;
|
domains = override domains;
|
||||||
};
|
};
|
||||||
|
@ -98,6 +98,7 @@ let
|
|||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
defaultGateway = "192.168.1.1";
|
defaultGateway = "192.168.1.1";
|
||||||
|
defaultGateway6 = "fd00:1234:5678:1::1";
|
||||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [
|
interfaces.eth1.ipv4.addresses = mkOverride 0 [
|
||||||
{ address = "192.168.1.2"; prefixLength = 24; }
|
{ address = "192.168.1.2"; prefixLength = 24; }
|
||||||
{ address = "192.168.1.3"; prefixLength = 32; }
|
{ address = "192.168.1.3"; prefixLength = 32; }
|
||||||
@ -139,6 +140,8 @@ let
|
|||||||
with subtest("Test default gateway"):
|
with subtest("Test default gateway"):
|
||||||
router.wait_until_succeeds("ping -c 1 192.168.3.1")
|
router.wait_until_succeeds("ping -c 1 192.168.3.1")
|
||||||
client.wait_until_succeeds("ping -c 1 192.168.3.1")
|
client.wait_until_succeeds("ping -c 1 192.168.3.1")
|
||||||
|
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1")
|
||||||
|
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1")
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
routeType = {
|
routeType = {
|
||||||
|
Loading…
Reference in New Issue
Block a user