anchor.diff:        };
         testScript = { ... }:
           ''
  -          startAll;
  -
  -          $client->waitForUnit("network.target");
  -          $clientWithPrivacy->waitForUnit("network.target");
  -          $router->waitForUnit("network-online.target");
  -
  -          # Wait until we have an ip address
  -          $clientWithPrivacy->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
  -          $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
  -
  -          # Test vlan 1
  -          $clientWithPrivacy->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
  -          $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
  -
  -          # Test address used is temporary
  -          $clientWithPrivacy->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
  -
  -          # Test address used is EUI-64
  -          $client->waitUntilSucceeds("ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
  +          start_all()
  +
  +          client.wait_for_unit("network.target")
  +          client_with_privacy.wait_for_unit("network.target")
  +          router.wait_for_unit("network-online.target")
  +
  +          with subtest("Wait until we have an ip address"):
  +              client_with_privacy.wait_until_succeeds(
  +                  "ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"
  +              )
  +              client.wait_until_succeeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'")
  +
  +          with subtest("Test vlan 1"):
  +              client_with_privacy.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
  +              client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
  +
  +          with subtest("Test address used is temporary"):
  +              client_with_privacy.wait_until_succeeds(
  +                  "! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
  +              )
  +
  +          with subtest("Test address used is EUI-64"):
  +              client.wait_until_succeeds(
  +                  "ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"
  +              )
           '';
       };
       routes = {
  
positive.code:       };
  
        testScript = ''
          my $targetList = <<'END';
          tap0: tap persist user 0
          tun0: tun persist user 0
          END
  
          # Wait for networking to come up
          $machine->start;
          $machine->waitForUnit("network-online.target");
  
          # Test interfaces set up
          my $list = $machine->succeed("ip tuntap list | sort");
          "$list" eq "$targetList" or die(
            "The list of virtual interfaces does not match the expected one:\n",
            "Result:\n", "$list\n",
            "Expected:\n", "$targetList\n"
          );
  
          # Test interfaces clean up
          $machine->succeed("systemctl stop network-addresses-tap0");
          $machine->sleep(10);
          $machine->succeed("systemctl stop network-addresses-tun0");
          $machine->sleep(10);
          my $residue = $machine->succeed("ip tuntap list");
          $residue eq "" or die(
            "Some virtual interface has not been properly cleaned:\n",
            "$residue\n"
          );
        '';
      };
      privacy = {
  
negative.code:       nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
        testScript = { ... }:
          ''
            start_all()
  
            with subtest("Wait for networking to be configured"):
                client1.wait_for_unit("network.target")
                client2.wait_for_unit("network.target")
  
                # Print diagnostic information
                client1.succeed("ip addr >&2")
                client2.succeed("ip addr >&2")
  
            with subtest("Test ipv6"):
                client1.wait_until_succeeds("ping -c 1 fc00::1")
                client1.wait_until_succeeds("ping -c 1 fc00::2")
  
                client2.wait_until_succeeds("ping -c 1 fc00::1")
                client2.wait_until_succeeds("ping -c 1 fc00::2")
          '';
      };
      vlan = let
  