From 7db58b93d0d1d3ae0afba9b5aec67d9bd722b2f2 Mon Sep 17 00:00:00 2001 From: Rouven Czerwinski Date: Tue, 25 Aug 2020 22:29:22 +0200 Subject: [PATCH] nixos/tests: use ::1 instead of anycast address (#96250) According to RFC4291[1], 2001:db8:: is the anycast address for the prefix and will be answered by all routers responsible for this prefix. This means that before the iputils bump, the ping from client to isp was answered by the router and not by the ISP machine. Switching away from the anycast address fixes this issue. Credits for finding this go to @primeos. [1]: https://tools.ietf.org/html/rfc4291#section-2.6.1 Fixes #96188 --- nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix index 99cd341eec15..99395fe3023f 100644 --- a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix +++ b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix @@ -31,7 +31,7 @@ import ./make-test-python.nix ({pkgs, ...}: { firewall.enable = false; interfaces.eth1.ipv4.addresses = lib.mkForce []; # no need for legacy IP interfaces.eth1.ipv6.addresses = lib.mkForce [ - { address = "2001:DB8::"; prefixLength = 64; } + { address = "2001:DB8::1"; prefixLength = 64; } ]; }; @@ -260,7 +260,7 @@ import ./make-test-python.nix ({pkgs, ...}: { client.wait_until_succeeds("ping -6 -c 1 FD42::1") # the global IP of the ISP router should still not be a reachable - router.fail("ping -6 -c 1 2001:DB8::") + router.fail("ping -6 -c 1 2001:DB8::1") # Once we have internal connectivity boot up the ISP isp.start() @@ -273,11 +273,11 @@ import ./make-test-python.nix ({pkgs, ...}: { # wait until the uplink interface has a good status router.wait_for_unit("network-online.target") - router.wait_until_succeeds("ping -6 -c1 2001:DB8::") + router.wait_until_succeeds("ping -6 -c1 2001:DB8::1") # shortly after that the client should have received it's global IPv6 # address and thus be able to ping the ISP - client.wait_until_succeeds("ping -6 -c1 2001:DB8::") + client.wait_until_succeeds("ping -6 -c1 2001:DB8::1") # verify that we got a globally scoped address in eth1 from the # documentation prefix