nixpkgs/nixos/tests/ndppd.nix
Pierre Bourdon f90a60a33c
nixos/tests/ndppd: fix eval warnings
trace: warning: The options services.ndppd.interface and services.ndppd.network will probably be removed soon,
please use services.ndppd.proxies.<interface>.rules.<network> instead.
2019-02-11 03:12:56 +01:00

61 lines
1.5 KiB
Nix

import ./make-test.nix ({ pkgs, lib, ...} : {
name = "ndppd";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ fpletz ];
};
nodes = {
upstream = { pkgs, ... }: {
environment.systemPackages = [ pkgs.tcpdump ];
networking.useDHCP = false;
networking.interfaces = {
eth1 = {
ipv6.addresses = [
{ address = "fd23::1"; prefixLength = 112; }
];
ipv6.routes = [
{ address = "fd42::";
prefixLength = 112;
}
];
};
};
};
server = { pkgs, ... }: {
boot.kernel.sysctl = {
"net.ipv6.conf.all.forwarding" = "1";
"net.ipv6.conf.default.forwarding" = "1";
};
environment.systemPackages = [ pkgs.tcpdump ];
networking.useDHCP = false;
networking.interfaces = {
eth1 = {
ipv6.addresses = [
{ address = "fd23::2"; prefixLength = 112; }
];
};
};
services.ndppd = {
enable = true;
proxies."eth1".rules."fd42::/112" = {};
};
containers.client = {
autoStart = true;
privateNetwork = true;
hostAddress = "192.168.255.1";
localAddress = "192.168.255.2";
hostAddress6 = "fd42::1";
localAddress6 = "fd42::2";
config = {};
};
};
};
testScript = ''
startAll;
$server->waitForUnit("multi-user.target");
$upstream->waitForUnit("multi-user.target");
$upstream->waitUntilSucceeds("ping -c5 fd42::2");
'';
})