Re: List of test IPv6 addresses?

Simon Perreault <simon.perreault@viagenie.ca> Mon, 04 June 2012 15:36 UTC

Return-Path: <simon.perreault@viagenie.ca>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3CBFA21F88AA for <ipv6@ietfa.amsl.com>; Mon, 4 Jun 2012 08:36:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id knQW1s3sl2JY for <ipv6@ietfa.amsl.com>; Mon, 4 Jun 2012 08:36:36 -0700 (PDT)
Received: from jazz.viagenie.ca (unknown [IPv6:2620:0:230:8000:226:55ff:fe57:14db]) by ietfa.amsl.com (Postfix) with ESMTP id E726A21F888C for <ipv6@ietf.org>; Mon, 4 Jun 2012 08:36:35 -0700 (PDT)
Received: from [192.168.0.103] (modemcable099.192-131-66.mc.videotron.ca [66.131.192.99]) by jazz.viagenie.ca (Postfix) with ESMTPSA id 4F51D40028 for <ipv6@ietf.org>; Mon, 4 Jun 2012 11:36:35 -0400 (EDT)
Message-ID: <4FCCD602.7020603@viagenie.ca>
Date: Mon, 04 Jun 2012 11:36:34 -0400
From: Simon Perreault <simon.perreault@viagenie.ca>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: ipv6@ietf.org
Subject: Re: List of test IPv6 addresses?
References: <1338617639.3307.4.camel@karl>
In-Reply-To: <1338617639.3307.4.camel@karl>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Jun 2012 15:36:37 -0000

On 2012-06-02 02:13, Karl Auer wrote:
> I seem to remember seeing, some time ago, a list of lots and lots of
> test IPv6 addresses. That is, IPv6 addresses that could be fed into
> programs to check whether they were properly interpreted.
>
> For a project I am currently working on it would be great not to have to
> generate all those fiddly test cases myself, apart from the fact that I
> would certainly miss some quirky ones.
>
> So does anyone know where I might have seen this list? It may have been
> in the source code to something, or perhaps even someone else's unit
> tests.

Don't know what list you're talking about, but here are a few ones 
extracted from Asterisk:
http://svn.digium.com/svn/asterisk/trunk/tests/test_netsock2.c

> 	struct parse_test test_vals[] = {
> 		{ "192.168.1.0", 1 },
> 		{ "10.255.255.254", 1 },
> 		{ "172.18.5.4", 1 },
> 		{ "8.8.4.4", 1 },
> 		{ "0.0.0.0", 1 },
> 		{ "127.0.0.1", 1 },
> 		{ "1.256.3.4", 0 },
> 		{ "256.0.0.1", 0 },
> 		{ "1.2.3.4:5060", 1 },
> 		{ "::ffff:5.6.7.8", 1 },
> 		{ "fdf8:f53b:82e4::53", 1 },
> 		{ "fe80::200:5aee:feaa:20a2", 1 },
> 		{ "2001::1", 1 },
> 		{ "2001:0000:4136:e378:8000:63bf:3fff:fdd2", 1 },
> 		{ "2001:0002:6c::430", 1 },
> 		{ "2001:10:240:ab::a", 1 },
> 		{ "2002:cb0a:3cdd:1::1", 1 },
> 		{ "2001:db8:8:4::2", 1 }, /* Documentation only, should never be used */
> 		{ "ff01:0:0:0:0:0:0:2", 1 }, /* Multicast */
> 		{ "[fdf8:f53b:82e4::53]", 1 },
> 		{ "[fe80::200:5aee:feaa:20a2]", 1 },
> 		{ "[2001::1]", 1 },
> 		{ "[2001:0000:4136:e378:8000:63bf:3fff:fdd2]:5060", 1 },
> 		{ "2001:0000:4136:e378:8000:63bf:3fff:fdd2:5060", 0 }, /* port, but no brackets */
> 		{ "fe80::200::abcd", 0 }, /* multiple zero expansions */
> 	};

> 	/* Test various situations with flags = 0 */
> 	TEST_SPLIT_HOSTPORT("192.168.1.1", 0, "192.168.1.1", "", 1);
> 	TEST_SPLIT_HOSTPORT("192.168.1.1:5060", 0, "192.168.1.1", "5060", 1);
> 	TEST_SPLIT_HOSTPORT("::ffff:5.6.7.8", 0, "::ffff:5.6.7.8", "", 1);
> 	TEST_SPLIT_HOSTPORT("[::ffff:5.6.7.8]:5060", 0, "::ffff:5.6.7.8", "5060", 1);
> 	TEST_SPLIT_HOSTPORT("fdf8:f53b:82e4::53", 0, "fdf8:f53b:82e4::53", "", 1);
> 	TEST_SPLIT_HOSTPORT("fe80::200:5aee:feaa:20a2", 0, "fe80::200:5aee:feaa:20a2", "", 1);
> 	TEST_SPLIT_HOSTPORT("[fdf8:f53b:82e4::53]", 0, "fdf8:f53b:82e4::53", "", 1);
> 	TEST_SPLIT_HOSTPORT("[fe80::200:5aee:feaa:20a2]:5060", 0, "fe80::200:5aee:feaa:20a2", "5060", 1);
> 	TEST_SPLIT_HOSTPORT("host:port", 0, "host", "port", 1);
> 	TEST_SPLIT_HOSTPORT("host", 0, "host", "", 1);
>
> 	/* Make sure that flag conditions work when they should */
> 	TEST_SPLIT_HOSTPORT("192.168.1.1:5060", PARSE_PORT_IGNORE, "192.168.1.1", "", 1);
> 	TEST_SPLIT_HOSTPORT("192.168.1.1:5060", PARSE_PORT_REQUIRE, "192.168.1.1", "5060", 1);
> 	TEST_SPLIT_HOSTPORT("192.168.1.1", PARSE_PORT_FORBID, "192.168.1.1", "", 1);
> 	TEST_SPLIT_HOSTPORT("[::ffff:5.6.7.8]:5060", PARSE_PORT_IGNORE, "::ffff:5.6.7.8", "", 1);
> 	TEST_SPLIT_HOSTPORT("[::ffff:5.6.7.8]:5060", PARSE_PORT_REQUIRE, "::ffff:5.6.7.8", "5060", 1);
> 	TEST_SPLIT_HOSTPORT("::ffff:5.6.7.8", PARSE_PORT_FORBID, "::ffff:5.6.7.8", "", 1);
>
> 	/* Make sure it fails when flag requirements are not met */
> 	TEST_SPLIT_HOSTPORT("192.168.1.1", PARSE_PORT_REQUIRE, "<undefined>", "<undefined>", 0);
> 	TEST_SPLIT_HOSTPORT("192.168.1.1:5060", PARSE_PORT_FORBID, "<undefined>", "<undefined>", 0);
> 	TEST_SPLIT_HOSTPORT("::ffff:5.6.7.8", PARSE_PORT_REQUIRE, "<undefined>", "<undefined>", 0);
> 	TEST_SPLIT_HOSTPORT("[::ffff:5.6.7.8]:5060", PARSE_PORT_FORBID, "<undefined>", "<undefined>", 0);

Simon
-- 
DTN made easy, lean, and smart --> http://postellation.viagenie.ca
NAT64/DNS64 open-source        --> http://ecdysis.viagenie.ca
STUN/TURN server               --> http://numb.viagenie.ca