71 for (
int count = 0; count <
ITER; ++count)
73 std::uint8_t addr[16];
75 switch (prng->randrange32(3))
80 prng->rand_bytes(addr,
sizeof(addr));
82 std::memset(addr, 0xff,
sizeof(addr));
84 size_t start = prng->randrange32(16);
85 size_t end = prng->randrange32(16);
87 std::swap(start, end);
90 for (
size_t i = start; i < end; ++i)
95 for (
size_t i = 0; i < 16; ++i)
96 if (i < start || i >= end)
102 for (
size_t i = 0; i < 16; ++i)
103 addr[i] = prng->randbool() ? 0xff : 0;
106 prng->rand_bytes(addr,
sizeof(addr));
114 if (::inet_ntop(AF_INET6, addr, in_buffer,
sizeof(in_buffer)) ==
nullptr)
115 throw Exception(
"inet_ntop failed for IPv6");