Product
Search Results

CDRouter IPv6 User Guide

Introduction

CDRouter IPv6 adds IPv6 test capabilities to our industry leading CPE and router test platform, CDRouter. CDRouter IPv6 has been designed from the ground up to support the most common IPv6 features found in today’s leading IPv4/IPv6 dual-stack CPE implementations.

CDRouter IPv6 supports devices that implement any of the following IPv6 WAN connection modes:

When IPv6 is enabled, CDRouter will create and maintain the necessary IPv6 next-hop gateway or relay server on the WAN.

In addition, CDRouter’s LAN clients support both SLAAC and DHCPv6 addressing.

Like all products in the CDRouter family, CDRouter IPv6 creates all of the necessary WAN-side and LAN-side network elements required to completely simulate an end-to-end IPv6 network within a single test system. CDRouter IPv6 allows the user to easily and efficiently create a variety of IPv6 network scenarios and utilize the array of included functional verification tests to thoroughly explore the IPv6 behavior of the device under test (DUT).

Requirements and License

CDRouter IPv6 is available for CDRouter 6.0 and newer releases only.

In order to use CDRouter’s IPv6 functionality, your license file must include IPv6 support. For information on upgrading your license to support CDRouter IPv6, please contact sales@qacafe.com. Please follow the instructions from support@qacafe.com when updating your license file to enable CDRouter IPv6.

CDRouter will report the status of all available expansions during the installation process and during startup. To verify that CDRouter IPv6 is enabled on your system, execute the command cdrouter-cli –info as root and look for the line “IPv6 is enabled” as shown below. If this line is present, CDRouter IPv6 is enabled and ready to use.

$ cdrouter-cli -info

Starting cdrouter-cli Thu Mar 24 13:27:55 EDT 2016
Copyright (c) 2001-2016 by QA Cafe
Version 10.0 build 1 (21394 trunk), built 2016-03-23 17:36:08 by nightly@cdr-forge6.lan (x86_64)
Loaded OS distro \S Kernel \r on an \m
Loaded OS version Linux-3.10.0-327.10.1.el7.x86_64 x86_64
Loaded Tcl version 8.6.4
Loaded buddy version 10.0.1
(builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )
Trying to load modules from '.'
Trying to load modules from '/usr/cdrouter/tests'
Start command: /usr/cdrouter/bin/cdrouter-cli -info
Test Suite cdrouter 10.0.1
The system ID is 2df9e2a1f8c359183cf0191a20f2cc5a
Using license installed at: /etc/cdrouter.lic
Registered to: qacafe
Maintenance, Support and Upgrades until: 2016-05-11
Licensed to run: cdrouter
    Multiport   is enabled
    IPv6        is enabled
    Storage     is enabled
    IKE         is enabled
    TR69        is enabled
    TR69-EDM    is enabled
    Nmap        is enabled
    BBF.069     is enabled
    SNMP        is enabled
    Performance is disabled
CPU is Intel(R) Core(TM) i5-4308U CPU @ 2.80GHz, bogomips 5599.98
Loaded TclXML version 3.1 (libxml2), TclDOM 3.0, xmldefs 3.1
Trying to load modules from '/usr/cdrouter/vendor/IOL/BBF.069/Tests'
BBF.069 version 1.2.075-11 (19093)

Configuration

All available IPv6 testvars can be found in the “CDRouter IPv6 Expansion” section of the CDRouter config file. As with other CDRouter expansions, the testvars are organized in a hierarchical template according to function. All testvars are commented out initially, and most testvars have a default value that is automatically applied if the testvar is not explicitly defined by uncommenting it.

Global IPv6 Configuration

CDRouter IPv6 must be enabled and configured in order to use any of its features or run any tests that require IPv6. This includes features in other expansions such as TR-069, NMAP and SNMP that have optional support for IPv6.

To enable IPv6, set the supportsIPv6 testvar to “yes”:

testvar supportsIPv6        yes

Default Configuration

In the default configuration, CDRouter will automatically start a DHCPv6 server on the WAN to assign both an IPv6 address and prefix to the DUT.

On the LAN, CDRouter will enable SLAAC on all defined LAN clients for them to auto-configure their own IPv6 address using Router Advertisements received from the DUT.

To change any of these defaults, refer to the examples in the Configuration section below.

WAN Configuration Examples

CDRouter IPv6 supports a number of different IPv6 WAN connection modes and options. Some modes support native IPv6 directly on the WAN link. Other modes support IPv6 tunneling to forward IPv6 packets across a native IPv4-only WAN link. An example configuration of each of these modes is provided below.

See the table below for a complete list of all distinct IPv6 WAN connection modes currently supported by CDRouter, where “DHCPv6 NA” refers to the use of DHCPv6 for non-temporary address assignment, and “DHCPv6 PD” refers to the use of DHCPv6 for prefix delegation.

Configuration IPv6 WAN Mode (ipv6WanMode ) DHCPv6 NA DHCPv6 PD (dhcpv6WanEnablePD ) DS-Lite Compatible (wanMode )
1 static not applicable no yes
2 static not applicable yes yes
3* PPPoE w/static IP no no yes
4 PPPoE w/autoconf no no yes
5 PPPoE w/DHCP yes yes yes
6 PPPoE w/DHCP no yes yes
7 PPPoA w/static IP no no yes
8 PPPoA w/autoconf no no yes
9 PPPoA w/DHCP yes yes yes
10 PPPoA w/DHCP no yes yes
11 6to4 not applicable not applicable no
12 6rd not applicable not applicable no
13 autoconf not applicable no yes
14 autoconf not applicable yes yes
15 DHCP not applicable no yes
16 DHCP not applicable yes yes
17 unnumbered not applicable yes yes

* This configuration assumes that the DUT’s global IPv6 address and prefix on the LAN are manually configured.

PPPoE modes

The following testing guide provides more information on testing IPv6 over PPPoE with CDRouter:

Testing IPv6 over PPPoE with CDRouter

DHCPv6 Prefix Delegation

For additional details regarding the “unnumbered” IPv6 WAN mode and other DHCPv6 Prefix Delegation configurations, please see the following Knowledge base article:

IPv6 Stateless Addressing with Prefix Delegation

Available Testvars

The following tables describe each available testvar. The tables below group testvars by the test interface they are applicable to or the protocol/functionality they define.

WAN Interface Configuration

The following testvars describe the basic IPv6 configuration of the WAN interface.

WAN-Side DHCPv6 Server Configuration

The following testvars relate to the general configuration of CDRouter’s DHCPv6 server on the WAN.

WAN-Side DHCPv6 Prefix Delegation Configuration

The following testvars relate to the configuration of DHCPv6 prefix delegation within CDRouter’s WAN DHCPv6 server.

WAN-Side 6to4 and 6rd Configuration

The following testvars relate to the configuration of 6to4 and 6rd on CDRouter’s WAN interface.

WAN-Side DS-Lite Configuration

The following testvars relate to the configuration of DS-Lite on CDRouter. DS-Lite is fully supported in the CDRouter IPv6 expansion to enable tunneled IPv4 LAN connectivity over a native IPv6 WAN connection.

To enable DS-Lite, set the IPv4 WAN connection mode testvar wanMode to the value dslite. In this mode, CDRouter will not establish an IPv4 link on the WAN.

The IPv6 WAN connection mode, ipv6WanMode , must specify one of the native IPv6 connection types: static, autoconf, DHCP, or PPPoE. (Note, the IPv6 WAN modes of 6to4 and 6rd are not compatible with DS-Lite since they do not support IPv6 on the WAN.)

When DS-Lite is enabled, CDRouter will automatically create a DS-Lite AFTR element on the WAN. The IPv6 address of CDRouter’s AFTR element is specified by the testvar ipv6DsliteAftr . Note that the IPv6 address of the AFTR must reside on a different IPv6 network than the DUT’s WAN interface. Also note that an optional domain name may be specified for the AFTR element using the testvar dhcpv6WanAftrName .

When a domain name is defined for the AFTR element, CDRouter’s DNS servers will automatically resolve the configured domain name to the IPv6 address specified by the ipv6DsliteAftr testvar. This allows the DUT to be configured with a domain name rather than an explicit IPv6 address for the AFTR.

CDRouter will also provide the location of the AFTR element in DHCPv6 responses if the DUT requests it by specifying the “AFTR-Name” DHCP Option (option 64) in Solicit and Request messages. See RFC 6334 for more information about this DHCP option.

In DS-Lite mode, the CPE will not apply NAT to outgoing IPv4 packets from the LAN to the WAN. However, the CPE should still apply a firewall mode to the outgoing IPv4 packets. The expected type of firewall mode can be be configured using the dsliteFirewallMode testvar. Valid options are address-restricted, port-restricted, or full-cone.

The DS-Lite specification defines a new 192.0.0.1 /29 subnet to identify the B4 and AFTR elements in IPv4. The AFTR is expected to use 192.0.0.1 but the B4 may select any remaining address from this pool. The testvars wanIspIp and wanIspAssignIp must be configured to match the AFTR address and the expected B4 address chosen by the DUT, respectively.

For more information on DS-Lite testing with CDRouter, please see this Testing Guide.

IPv6 LAN Global Address Configuration

CDRouter IPv6 currently supports DHCPv6 or stateless address autoconfiguration (autoconf) for provisioning of global IPv6 addresses on the LAN. If the testvar ipv6LanMode is set to DHCP, CDRouter’s LAN clients will attempt to obtain global IPv6 addresses from the DUT via DHCPv6. If this testvar is set to autoconf CDRouter’s LAN clients will attempt to obtain addresses via stateless address autoconfiguration using an EUI-64 based host identifier.

CDRouter’s IPv6 LAN configuration must match the LAN configuration of the DUT. CDRouter compares the actual IPv6 global address and prefix information obtained from the DUT with the expected values defined in the CDRouter configuration file.

Regardless of which LAN mode is implemented, the expected global IPv6 address and prefix used by the DUT on the LAN is largely dependent on the IPv6 WAN mode that is selected. With certain WAN modes, LAN side prefix information is assumed to be learned or calculated dynamically, whereas with other WAN modes manual configuration of LAN side prefix information is required.

When 6to4, 6rd, or DHCPv6 prefix delegation are used on the WAN, LAN side prefix information is known and does not need to be explicitly defined in the CDRouter configuration file. All other WAN modes require explicit configuration of LAN side prefix information since it is not dynamic or deterministic.

LAN side prefix information is configured using the testvar ipv6LanIp which defines the DUT’s LAN side global IPv6 address. This testvar must be configured properly to ensure that tests run as expected.

For configurations where the DUT’s global IPv6 prefix must be manually configured, the testvar ipv6LanIp should match the DUT’s LAN side global IPv6 address exactly, and should be a complete IPv6 address including both a prefix and host identifier. CDRouter automatically determines the expected global IPv6 prefix used by the DUT on the LAN using the ipv6LanIp and ipv6LanPrefixLen testvars.

When using 6to4, 6rd, DHCPv6 on the WAN, the DUT is expected to dynamically update prefix information on the LAN based on information either learned or calculated from the WAN and/or WAN settings. For these configurations, the expected LAN IPv6 prefix is deterministic. As a result, the testvar ipv6LanIp need only include a host identifier. If a prefix is included it will be ignored by CDRouter.

Note that when configuring the testvar ipv6LanIp the keyword ::%eui64% can be used for the host portion of the address. When this keyword is used, CDRouter will automatically calculate and substitute an EUI-64 based host identifier based on the DUT’s LAN mac address.

The following testvars describe the basic IPv6 configuration of the LAN interface.

IPv6 LAN Unique Local Address (ULA) Configuration

If the DUT is configured to announce a unique-local address prefix (ULA) on the LAN, the testvar supportsULA should be enabled and set to yes. If the DUT does not announce a ULA prefix, this testvar should be set to no. Unique-local IPv6 unicast addresses are defined in RFC 4193, and are restricted to the fc00::/7 address block.

When ULA support for ULA prefixes is enabled, CDRouter’s LAN client(s) will attempt to configure a ULA address in addition to global unicast and link-local addresses. CDRouter will use either DHCPv6 or SLAAC (autoconf) to configure a ULA, based on the configuration of the testvar ipv6LanMode . If the LAN client(s) are expected to always use autoconf for ULA, regardless of the mode used for global unicast addresses, the testvar ipv6LanULAMode should be set to autoconf. The expected ULA prefix advertised by the DUT should be configured using the ipv6LanULAPrefix .

The ula.tcl test module can be used to verify the basic functionality of DUT supporting IPv6 unique local addresses (ULA) on the LAN. This test module can only be executed if ULA support is enabled.

IPv6 DNS Configuration

The following testvars define the basic IPv6 DNS configuration of the test environment.

IPv6 NTP Setup

The following testvars define the basic IPv6 NTP configuration of the test environment.

IPv6 Multicast Configuration

CDRouter can test routers with IPv6 MLDv1 or MLDv2 proxy support. When MLD support is enabled, CDRouter will act as an MLDv1/v2 client on the LAN side of the DUT. In addition, CDRouter will act as a multicast router on the WAN side of the DUT and deliver multicast streams.

The following MLD configuration options are available:

IPv6 General Purpose Networking Configuration

The following testvars define the CDRouter’s IPv6 remote host address and the IPv6 free network range.

IPv6 Firewall Configuration

The following testvars define the configuration of the DUT’s IPv6 firewall and the associated test environment.

IPv6 RIPng Configuration

The following testvar enables RIPng support within CDRouter. the RIP configuration testvars are also used by CDRouter for RIPng testing.

IPv6 Static Route Configuration

The following testvars can be used to test IPv6 static routes on the DUT.

Example Configurations

There are over 100 unique dual-stack WAN configurations that can be tested with CDRouter IPv6. A number of basic example configurations are provided below. The examples provided are independent of the IPv4 WAN connection mode used by the DUT, and cover the following IPv6 modes of operation:

Example 1: 6to4 on the WAN and autoconf on the LAN

In this example, CDRouter is configured to create a basic dual-stack IPv4/IPv6 test setup for the DUT using 6to4 for IPv6 connectivity on the WAN and autoconfiguration for IPv6 address assignment on the LAN. This is the most basic IPv6 test setup and requires minimal configuration of CDRouter and the DUT.

From an IPv4 perspective, CDRouter will create a DHCP server on the WAN which will terminate the DUT’s WAN DHCP connection. CDRouter is configured to provide the global IPv4 address 12.12.12.2 and DNS servers 1.1.1.1 and 1.1.1.2 to the DUT. The DUT is also configured with a LAN IPv4 address of 192.168.1.1 and a DHCP pool range of 192.168.1.2 through 192.168.2.7. CDRouter is configured to match these LAN-side settings on the DUT. Please see the CDRouter User’s Guide for more information on the IPv4 specific configuration options listed below.

From an IPv6 perspective, IPv6 is enabled and it is expected that the DUT will provide IPv6 connectivity to all connected clients via an automatic 6to4 tunnel on the WAN. As a result, CDRouter is configured to create a 6to4 relay server at the default anycast address of 192.88.99.1 on the WAN.

The DUT’s global IPv6 address is expected to be

\<6to4 prefix>:\<SLA>:\<Interface-ID>

In your CDRouter configuration file, these components are determined by the following testvars:

  • All 6to4 addresses begin with the well-known prefix, 2002::/16. The DUT’s full 48-bit 6to4 prefix is constructed by concatenating this with the DUT’s IPv4 address, wanIspAssignIp , in hex notation:
2002::/16 + "12.12.12.2" == 2002:c0c:c02::/48
  • The 16-bit site-level aggregator (SLA) is specified by ipv6LanSubnetId .

  • The DUT’s IPv6 Interface-ID is specified by the 64-bit host portion of ipv6LanIp . This may be a static address or the special value “%eui64% to indicate the DUT’s unique EUI-64 Address.

In the example above, assuming the 16-bit Site Level Aggregator (SLA) used by the DUT is simply 1, the expected global IPv6 address of the DUT is:

\<2002 + wanIspAssignIp>:\<ipv6LanSubnetId>:\<host ID portion of ipv6LanIp> = 2002:c0c:c02:1::1

CDRouter is also configured to use IPv6 stateless address autoconfiguration on the LAN for all clients that it creates. CDRouter will create 100 LAN clients during the scaling tests.

This example also assumes that the DUT supports the NDP RDNSS option (25) and is configured to provide its global IP address as the DNS server to all clients on the LAN.

# IPv4 Configuration:
testvar wanInterface eth2
testvar wanMode DHCP
testvar wanIspIp 12.12.12.1
testvar wanIspAssignIp 12.12.12.2
testvar wanNatIp 12.12.12.2
testvar wanIspNextIp 12.12.12.254
testvar wanIspMask 255.255.255.0
testvar wanMac 00:0b:0b:00:00:01
testvar wanDnsServer 1.1.1.1
testvar wanBackupDnsServer 1.1.1.2
testvar lanInterface eth1
testvar lanIp 192.168.1.1
testvar lanMask 255.255.255.0
testvar lanMac 00:0a:0a:00:00:01
testvar dhcpClientStart 192.168.1.2
testvar dhcpClientEnd 192.168.1.7

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode 6to4
testvar ipv6RelayServer 192.88.99.1
testvar ipv6RelayServerGlobal 3001:051a:cafe::6

# -- LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp ::1
testvar ipv6LanSubnetId 1
testvar ipv6RdnssSupport yes
testvar ipv6DNStoLAN no
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

# IPv6 Firewall Configuration:
testvar ipv6FirewallTcpClosedPorts “80 8080”
testvar ipv6FirewallUdpClosedPorts all
testvar ipv6FirewallTcpOpenPorts “443”
testvar ipv6FirewallUdpOpenPorts 113
testvar ipv6WanPingRespond no

Note that the range of ports scanned in the firewall-v6.tcl test module can be configured using the portScanStart and portScanStop testvars. Please see the CDRouter User’s Guide for more information.

Example 2: 6to4 on the WAN and DHCPv6 on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above.

The primary difference between this configuration and the configuration provided in Example 1 is the IPv6 LAN mode. As in Example 1, the DUT will provide IPv6 connectivity to all connected clients via an automatic 6to4 tunnel on the WAN. As a result, CDRouter is configured to create a 6to4 relay server at 192.88.99.1 on the WAN. The DUT’s global IPv6 address is expected to be:

\<6to4 prefix>:\<ipv6LanSubnetId>:\<host ID portion of ipv6LanIp>

In this particular example, assuming the 16-bit Site Level Aggregator (SLA) used by the DUT is simply 1, the expected global IPv6 address of the DUT is again:

\<6to4 prefix>:\<ipv6LanSubnetId>:\<host ID portion of ipv6LanIp> = 2002:c0c:c02:1::1

Likewise, the DHCPv6 pool range of the DUT is expected to be:

\<6to4 prefix>:\<ipv6LanSubnetId>:\<ipv6DhcpClientStart> = 2002:c0c:c02:1::2
\<6to4 prefix>:\<ipv6LanSubnetId>:\<ipv6DhcpClientEnd> = 2002:c0c:c02:1::1F

With the following LAN clients excluded from the DHCPv6 pool:

\<6to4 prefix>:\<ipv6LanSubnetId>:\<ipv6DhcpClientExlude> = 2002:c0c:c02:1::3,2002:c0c:c02:1::7

In this example, 28 LAN clients (the size of the DHCPv6 pool) will be created during the scaling tests. This example also assumes that the DUT does not support the NDP RDNSS option (25) and that the DUT is configured to provide the specific IPv6 DNS server addresses 3001:51:cafe::2 and 3001:51:cafe::3 to clients on the LAN via DHCPv6 options.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode 6to4
testvar ipv6RelayServer 192.88.99.1
testvar ipv6RelayServerGlobal 3001:051a:cafe::6

# -- LAN configuration
testvar ipv6LanMode DHCP
testvar ipv6LanIp ::1
testvar ipv6LanSubnetId 1
testvar ipv6DhcpClientStart ::2
testvar ipv6DhcpClientEnd ::1F
testvar ipv6DhcpClientExclude “::3 ::7”
testvar ipv6RdnssSupport no
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 3: Static IPv6 on the WAN and autoconf on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above.

The primary difference between this configuration and the configuration provided in Example 1 is the IPv6 WAN mode. In this example, it is expected that the DUT will provide IPv6 connectivity to all connected clients via a static IPv6 connection on the WAN. The DUT’s static IPv6 address is 3001::2, and CDRouter’s IPv6 address (representing the ISP next-hop gateway) is 3001::1. CDRouter will create IPv6 DNS servers at the addresses 3001:51a:cafe::2 and 3001:51a:cafe::3.

On the LAN side, the DUT is configured for autoconf. Since the IPv6 WAN mode is static, the DUT’s global LAN IPv6 address must be manually configured. In this example the DUT’s global LAN IPv6 address is configured to 2004::1 with a prefix length of 64. This example assumes that IPv6 DNS information will be provided to clients on the LAN via DHCPv6 information requests.

In this example, 100 LAN clients will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode static
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2

# -- LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp 2004::1
testvar ipv6LanPrefixLen 64
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 4: Static IPv6 on the WAN and DHCPv6 on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above. Additionally, both the IPv6 WAN mode and IPv6 LAN mode differ from that of Example 1.

On the WAN side, it is expected that the DUT will provide IPv6 connectivity to all connected clients via a static IPv6 connection. In this example, the DUT’s static IPv6 address is 3001::2, and CDRouter’s IPv6 address (representing the ISP next-hop gateway) is 3001::1. CDRouter will create IPv6 DNS servers at the addresses 3001:51a:cafe::2 and 3001:51a:cafe::3.

On the LAN side, the DUT’s global IPv6 address is configured to be 2004::1 with a prefix length of 64. The LAN side prefix is automatically determined by CDRouter based on these values.

Any LAN clients created by CDRouter are configured to obtain global IPv6 addresses via DHCPv6. The configured DHCPv6 pool is ::2 through ::1F, where the prefix is automatically determined as stated above. There is one address excluded from the DHCPv6 pool range (::12). This pool range must match the pool range configured on the DUT. With the prefix included, the DHCPv6 pool range is:

\<LAN prefix>:\<ipv6DhcpClientStart> = 2004::2
\<LAN prefix>:\<ipv6DhcpClientEnd> = 2004::1F

With the following LAN clients excluded from the DHCPv6 pool:

\<LAN prefix>:\<ipv6DhcpClientExlude> = 2004::12

This example assumes that IPv6 DNS server address will be provided to clients on the LAN via DHCPv6 options.

In this example, 29 LAN clients (the size of the DHCPv6 pool) will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode static
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2
testvar ipv6WanIspNextIp 3001::3
testvar ipv6WanIspPrefixLen 64

# -- LAN configuration
testvar ipv6LanMode DHCP
testvar ipv6LanIp 2004::1
testvar ipv6LanPrefixLen 64
testvar ipv6DhcpClientStart ::2
testvar ipv6DhcpClientEnd ::1F
testvar ipv6DhcpClientExclude ::12
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 5: DHCPv6 without prefix delegation on the WAN and autoconf on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above. Additionally, it is expected that the DUT will implement DHCPv6 on the WAN for acquisition of a non-temporary IPv6 address. DHCPv6 prefix delegation is not used in this configuration. CDRouter’s DHCPv6 server (representing the ISP next-hop gateway as well) is 3001::2. CDRouter will assign the non-temporary IPv6 address 3001::2 and the IPv6 DNS server addresses 3001:51a:cafe::2 and 3001:51a:cafe::3 to the DUT via DHCPv6. The prefix length utilized by CDRouter on the WAN is configured to 64 bits. CDRouter will use the address 3001::3 as a temporary address for renumbering tests on the WAN.

On the LAN side, the DUT is configured for autoconf. The DUT’s global LAN IPv6 address must be manually configured. In this example the DUT’s global LAN IPv6 address is configured to 2004::1 with a prefix length of 64. This configuration also assumes that the DUT passes the IPv6 DNS server addresses learned on the WAN to clients on the LAN via the NDP RDNSS option (25).

In this example, 100 LAN clients will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode DHCP
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2
testvar ipv6WanIspNextIp 3001::3
testvar ipv6WanIspPrefixLen 64
testvar dhcpv6WanEnablePD no

# -- LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp 2004::1
testvar ipv6LanPrefixLen 64
testvar ipv6RdnssSupport yes
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 6: DHCPv6 with prefix delegation on the WAN and DHCPv6 on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above. Additionally, it is expected that the DUT will implement DHCPv6 on the WAN for acquisition of a non-temporary IPv6 address and an IPv6 address prefix for the LAN. CDRouter’s DHCPv6 server (representing the ISP next-hop gateway as well) is 3001::2. CDRouter will assign the non-temporary IPv6 address 3001::2 and the IPv6 DNS server addresses 3001:51a:cafe::2 and 3001:51a:cafe::3 to the DUT via DHCPv6. The prefix length utilized by CDRouter on the WAN is configured to 64 bits. CDRouter will use the address 3001::3 as a temporary address for renumbering tests on the WAN.

The prefix assigned by CDRouter to the DUT is 3001:dddd:: with a prefix length of 48 bits. The prefix 3001:ddde:: will be used by CDRouter for renumbering tests on the WAN. CDRouter is also configured with a prefix delegation latency of 30 seconds. This latency specifies the expected amount of time, in seconds, that it takes for the DUT to propagate prefix changes on the WAN to clients on the LAN.

On the LAN side, the DUT is configured to provide addresses to clients via DHCPv6, as in Example 2. This example also assumes that the DUT is configured to provide the IPv6 DNS server addresses learned on the WAN, 3001:51:cafe::2 and 3001:51:cafe::3, to clients on the LAN via DHCPv6 options.

In this example, 100 LAN clients will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode DHCP
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2
testvar ipv6WanIspNextIp 3001::3
testvar ipv6WanIspPrefixLen 64
testvar dhcpv6WanEnablePD yes
testvar dhcpv6WanAssignPrefix 3001:dddd::
testvar dhcpv6WanAssignNextPrefix 3001:ddde::
testvar dhcpv6WanAssignPrefixLen 48
testvar dhcpv6PDLatency 30

# -- LAN configuration
testvar ipv6LanMode DHCP
testvar ipv6LanIp ::1
testvar ipv6DhcpClientStart ::2
testvar ipv6DhcpClientEnd ::1F
testvar ipv6DhcpClientExclude “::3 ::7”
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 7: Autoconf on the WAN and DHCPv6 on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above. Additionally, it is expected that the DUT will implement stateless address autoconfiguration for IPv6 address acquisition on the WAN. The prefix and prefix length advertised by CDRouter are automatically determined based on WAN ISP address and prefix length. In this example the prefix advertised on the WAN will be 3001::/64.

On the LAN side, the DUT is configured to provide addresses to clients via DHCPv6, as in Example 2. This example also assumes that the DUT is configured to provide the IPv6 DNS server addresses learned on the WAN, 3001:51:cafe::2 and 3001:51:cafe::3, to clients on the LAN via DHCPv6 options.

In this example, 100 LAN clients will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode autoconf
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspPrefixLen 64
testvar dhcpv6WanEnablePD no

# -- LAN configuration
testvar ipv6LanMode DHCP 
testvar ipv6LanIp ::1
testvar ipv6DhcpClientStart ::2
testvar ipv6DhcpClientEnd ::1F
testvar ipv6DhcpClientExclude “::3 ::7”
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 8: 6rd on the WAN and autoconf on the LAN

Please see this Testing Guide for more information on configuring CDRouter for 6rd support on the WAN.

Example 9: IPv6 over PPPoE on the WAN

Please see this Testing Guide for more information on configuring CDRouter for IPv6 over PPPoE support on the WAN.

Example 10: Static IPv6 with prefix delegation on the WAN and autoconf on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above.

This example is very similar to Example 3 above with one major difference - DHCPv6 prefix delegation is used on the WAN to obtain a global IPv6 prefix for the LAN. In this example, it is expected that the DUT will provide IPv6 connectivity to all connected clients via a static IPv6 connection on the WAN. The DUT’s static IPv6 address is 3001::2, and CDRouter’s IPv6 address (representing the ISP next-hop gateway) is 3001::1. CDRouter will create IPv6 DNS servers at the addresses 3001:51a:cafe::2 and 3001:51a:cafe::3. CDRouter’s DHCPv6 server is configured to provide the prefix 3001:dddd::/48 to the DUT via DHCPv6 on the WAN.

On the LAN side, the DUT is configured for autoconf. Since the IPv6 WAN mode is static with prefix delegation, the DUT’s global LAN IPv6 address must be manually configured*. The DUT’s global LAN IPv6 address is configured to 3001:dddd::%eui64% (which assumes the DUT is using EUI64 for the host ID portion of its global LAN IPv6 address), matching the configuration of CDRouter’s DHCPv6 server on the WAN. This example assumes that IPv6 DNS information will be provided to clients on the LAN via DHCPv6 information requests.

In this example, 100 LAN clients will be created during the scaling tests.

* Note that this configuration is an exception, since in most configurations involving DHCPv6 prefix delegation the prefix portion of the ipv6LanIp is dynamically calculated by CDRouter. However, when using static IPv6 with prefix delegation the prefix portion of the ipv6LanIp testvar must be explicitly configured to match the 64-bit prefix selected by the DUT for its LAN IPv6 address during address autoconfiguration.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode static
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2
testvar ipv6WanIspNextIp 3001::3
testvar ipv6WanIspPrefixLen 64

# -- WAN DHCPv6 prefix delegation configuration
testvar dhcpv6WanEnablePD yes 
testvar dhcpv6WanAssignPrefix 3001:dddd::
testvar dhcpv6WanAssignNextPrefix 3001:ddde::
testvar dhcpv6WanAssignPrefixLen 48 
testvar dhcpv6PDLatency 30

# -- LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp 3001:dddd:0:1:%eui64%
testvar ipv6LanPrefixLen 64
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 11: Autoconf with prefix delegation on the WAN and autoconf on the LAN

In this example, the IPv4 configuration and IPv6 firewall configuration are identical to those provided in Example 1 above.

This example uses autoconf on the WAN to determine a global WAN IPv6 address. DHCPv6 prefix delegation is also used on the WAN to obtain a global IPv6 prefix for the LAN. The DUT should automatically configure its WAN interface with a valid global IPv6 address based on the prefix information provided by CDRouter on the WAN. CDRouter is configured to advertise the prefix 3001::/64 on the WAN and will create IPv6 DNS servers at the addresses 3001:51a:cafe::2 and 3001:51a:cafe::3. CDRouter’s DHCPv6 server is configured to provide the prefix 3001:dddd::/48 to the DUT via DHCPv6 on the WAN.

On the LAN side, the DUT is configured for autoconf. The DUT should automatically assign a global IPv6 address to its LAN interface via the prefix information obtained from CDRouter’s DHCPv6 server on the WAN. CDRouter is configured to advertise the prefix 3001:dddd::/48. The DUT should use this prefix information to determine a valid 64-bit prefix to advertise to clients on the LAN. CDRouter’s LAN clients will listen for Router Advertisements on the LAN and automatically assign EUI-64 based addresses using the 64-bit prefix advertised by the DUT. It is expected in this configuration that the DUT will assign its LAN interface an EUI-64 based global IPv6 address using the 64-bit prefix it has derived.

In this example, 100 LAN clients will be created during the scaling tests.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- WAN configuration
testvar ipv6WanMode autoconf
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspPrefixLen 64

# -- WAN DHCPv6 prefix delegation configuration
testvar dhcpv6WanEnablePD yes 
testvar dhcpv6WanAssignPrefix 3001:dddd::
testvar dhcpv6WanAssignNextPrefix 3001:ddde::
testvar dhcpv6WanAssignPrefixLen 48 
testvar dhcpv6PDLatency 30

# -- LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp 3001:dddd::%eui64%
testvar ipv6LanPrefixLen 64
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

Example 12: Static IPv6 on the WAN and autoconf on the LAN, with DS-Lite

DS-Lite is a new protocol that defines an IPv4-in-IPv6 tunnel architecture on the WAN that provides IPv4 connectivity over a native IPv6 WAN connection. There are two primary endpoints in a DS-Lite network: the “B4” element is located within the DUT and is responsible for encapsulating and transmitting IPv4 packets over an IPv6 connection on the WAN to the “AFTR” element. The AFTR is an IPv6 host maintained by the ISP that acts as the DS-Lite tunnel endpoint. In a DS-Lite network the IPv4 NAT functionality typically performed by the DUT is moved into the ISP’s network. As a result, in a DS-Lite configuration the DUT does not have distinct WAN and LAN IPv4 addresses. The DUT’s private LAN IPv4 address and network are routed directly to the ISP.

To enable DS-Lite set the testvar wanMode to dslite. CDRouter will automatically create a DS-Lite AFTR element at the address specified by the new testvar ipv6DsliteAftr . In addition, CDRouter can be configured to announce a domain name for the AFTR element in DHCPv6 “AFTR-Name” (option 64) options on the WAN. The domain name that is advertised by CDRouter can be configured using the testvar dhcpv6WanAftrName . Note that CDRouter’s DHCPv6 server will only advertise the AFTR-Name option if the DUT requests it in DHCPv6 Solicit and Request messages. See RFC 6334 for more information about the DHCPv6 “AFTR-Name” option.

In the DS-Lite configuration below, the DUT is configured with a static IPv6 address of 3001::2. The DS-Lite AFTR element created by CDRouter on the WAN has the address 3001:aaaa::1.

The DS-Lite specification defines a new 192.0.0.1 /29 subnet to identify the B4 and AFTR elements in IPv4. The AFTR is expected to use 192.0.0.1 but the B4 may select any remaining address from this pool. The testvars wanIspIp and wanIspAssignIp must be configured to match the AFTR address and the expected B4 address chosen by the DUT, respectively.

# IPv6 Configuration:
testvar supportsIPv6 yes

# -- IPv4 WAN configuration
testvar wanMode dslite
testvar wanIspIp 192.0.0.1 
testvar wanIspAssignIp 192.0.0.2
testvar wanIspMask 255.255.255.248


# -- IPv6 WAN configuration
testvar ipv6WanMode static
testvar ipv6WanIspIp 3001::1
testvar ipv6WanIspAssignIp 3001::2
testvar ipv6DsliteAftr 3001:aaaa::1
testvar dhcpv6WanAftrName aftr.cdroutertest.com

# -- IPv6 LAN configuration
testvar ipv6LanMode autoconf
testvar ipv6LanIp 3001:dddd::%eui64%
testvar ipv6LanPrefixLen 64
testvar ipv6DNStoLAN yes
testvar ipv6RAInterval 300

# -- other IPv6 configuration options
testvar ipv6RemoteHost 3001:51a:cafe::1
testvar ipv6WanDnsServer 3001:51a:cafe::2
testvar ipv6WanBackupDnsServer 3001:51a:cafe::3
testvar ipv6MaxLanClients 100
testvar ipv6FreeNetworkStart 3001:cafe:1::
testvar ipv6FreeNetworkEnd 3001:cafe:ffff::
testvar ipv6FreeNetworkPrefixLen 64

For more information, please see our Testing Guide on DS-Lite testing with CDRouter.

Testing Exercises

Aside from running each test case in CDRouter IPv6, other testing scenarios can be created. The following test scenarios are recommended.

Our IPv6 whitepapers on residential IPv6 testing with CDRouter and DHCPv6 prefix delegation testing with CDRouter also contain a number of common issues associated with residential IPv6 implementations.

Vary the IPv4 Configuration

IPv6 functionality within the device under test should be consistent regardless of its IPv4 configuration. CDRouter IPv6 can be used to efficiently verify that the IPv6 functionality of the device under test continues to perform as expected across a wide range of IPv4 WAN modes and configurations.

With CDRouter multiple configuration files can be created that each have a different IPv4 WAN configuration. For example, separate configuration files for all of the supported IPv4 WAN connection modes, including static IP, DHCP, PPPoE, PPPoA, PPP/T1, PPTP, and L2TP, can be easily created and tested. Other parameters such as the default IPv4 addresses assigned by CDRouter to the device under test can also be modified and tested. Running CDRouter IPv6’s test modules against the device under test in all of the above configuration scenarios will quickly reveal any inconsistent behavior.

Add a Wireless LAN Client

IPv6 functionality should be consistent for both wired and wireless LAN clients. Running the same set of test cases with both wired and wireless LAN clients will quickly reveal any discrepancies or inconsistencies in the device behavior. Note that certain test cases will be automatically skipped by CDRouter when using only a wireless LAN interface for testing. In these scenarios any test cases that require the creation of multiple LAN hosts, such as the scaling modules, will be skipped due to limitations inherent in the wireless drivers used.

Testing for Unofficial IPv6 Support

Some devices do not advertise support for or include any means to configure IPv6, yet do actually provide IPv6 connectivity for LAN clients. Such devices will often automatically create an IPv6 6to4 connection on the WAN and begin sending IPv6 Router Advertisements on the LAN.

CDRouter IPv6 can be used to quickly determine if a device unofficially supports IPv6 by utilizing a basic IPv6 configuration similar to Example 1 above. If CDRouter successfully passes startup with this IPv6 configuration enabled, one can assume that some level of IPv6 functionality is supported within the DUT.

Test all IPv6 Modes Supported by the DUT

Devices that support IPv6 often have a wide range of configuration options. A great testing exercise is to test all of the different combinations of IPv6 related options supported by the DUT. If a DUT supports four different IPv6 WAN connection modes (assume DHCPv6 with and without prefix delegation, static IPv6, and 6to4) and two LAN modes (assume autoconf and DHCPv6) there are essentially eight different baseline configurations that can be tested. Mixing in various other options, such as DNS or prefix delegation configuration options, will grow the possible test matrix further.

This type of testing is easy to perform with CDRouter and provides a great baseline for a device’s overall IPv6 behavior across a wide range of possible configurations. Any inconsistent or broken behavior can be easily and quickly identified this way. This same methodology can be extended to include IPv4 configuration options as well, as mentioned earlier in this section.

Possible Problems

IPv6 Conflict Between CDRouter and the Linux Kernel

CDRouter IPv6 will automatically detect if any of the allocated test interfaces have IPv6 addresses that were assigned by the Linux kernel. If pre-existing IPv6 addresses are detected, CDRouter will produce a warning message and abort the test run.

6to4 Tunnel Not Being Created by DUT

The 6to4 mechanism defined in RFC 3056 relies on translating globally routable 32-bit IPv4 addresses into a unique 48-bit IPv6 prefix. 6to4 is not designed to work with private IPv4 addresses, which should be avoided when configuring and running tests with CDRouter IPv6. Please see the example configuration provided in the Configuration section of this document for more information.

Some devices may not initiate a 6to4 tunnel on the WAN if the primary IPv4 address obtained on the WAN is not a global address. In these cases configuring CDRouter to assign a global IPv4 address to the DUT may force initiation of the 6to4 tunnel on the WAN as expected.

Inconsistent IPv6 Behavior for Different IPv4 WAN Modes

The IPv6 behavior of some devices varies significantly based on the IPv4 WAN connection mode that is used. For example, the behavior of a dual-stack CPE configured for static IPv6 and DHCP IPv4 connectivity on the WAN may be different than the results for the same basic setup but using PPPoE for IPv4 connectivity on the WAN instead. In rare cases some devices and combinations of IPv4 and IPv6 WAN connection modes essentially do not work all. Ideally, the behavior should be consistent regardless of the IPv4 connection type used. As mentioned in Section 6, a good testing exercise is to verify IPv6 functionality across all IPv4 WAN connection types supported by the DUT (DHCP, PPPoE, PPPoA, PPP/T1, PPTP, L2TP, and static IP).

No IPv6 Firewall

Many devices that include IPv6 support have no firewalling capabilities for IPv6 connections. This poses a significant threat to overall security as IPv6 connections from the WAN are simply forwarded blindly to hosts on the LAN.

Limited IPv6 Firewall Support

In IPv6 enabled devices IPv6 firewall support is often limited when compared to IPv4 firewall support. As a result, devices may handle certain applications differently over IPv4 and IPv6 connections. For example, FTP and TFTP are widely supported applications that generally work through IPv4 firewalls. However, FTP and TFTP ALG functionality for IPv6 is less common. The end result is that some applications, such as FTP and TFTP, may work properly through the device under test over IPv4 but not IPv6.

Missing or Incorrect Default Routes for IPv6

Some devices that claim support for IPv6 do not properly establish default routes for IPv6 traffic. As a result, these devices are unable to forward IPv6 traffic from LAN to WAN, resulting in restricted access clients on the LAN attempting to communicate with IPv6 resources on the WAN.

Unofficial Support for IPv6

As mentioned in the previous section, some devices that do not officially support IPv6 actually do. This is problematic because often there is no IPv6 firewall support within these devices and no mechanism for configuring or disabling IPv6 support.

Incorrect Router Advertisement Interval Configured

If the value of the testvar ipv6RAInterval does not match the actual Router Advertisement interval configured on the device under test, CDRouter may incorrectly fail test cases or fail to obtain global IPv6 addresses via stateless address autoconfiguration. If you are unsure of the Router Advertisement interval, try setting this testvar to a large value and running test case ipv6_ndp_2 to see the actual interval implemented by the DUT.

IPv6 Subnet Issues

When static IPv6 is used on the WAN, it is important that the LAN side configuration utilizes a different IPv6 network to ensure proper routing from LAN to WAN and WAN to LAN through the DUT. If both the LAN and WAN interfaces of the DUT are on the same IPv6 network, packets may not be routed properly.

IPv6 DNS Information when DHCPv6 Prefix Delegation is Enabled

Some devices may not request IPv6 DNS information when DHCPv6 is used only for prefix delegation on the WAN. This issue can be quickly identified with CDRouter by running tests using autoconf with prefix delegation as the primary IPv6 connection WAN mode.

IPv6 Routes Not Updated After Renumbering Event on WAN

When a new address or prefix is assigned by the ISP to the DUT, the DUT must update its routing table to ensure that traffic continues to flow properly from LAN to WAN and vice-versa. Some implementations fail to update their IPv6 routes following an address or prefix change on the WAN – this often results in dropped packets and a general loss of connectivity for all clients on the LAN.

Not All IPv6 Configurations Work as Expected

CDRouter makes it easy to run a baseline set of tests against a device using a wide variety of IPv6 configuration options. This is an excellent test exercise, as mentioned in the previous section, and often reveals inconsistencies in IPv6 behavior. A common example is a device that works well when a tunneling protocol, such as 6to4 is used on the WAN, but fails to set up the proper IPv6 routes when native IPv6 or DHCPv6 is used on the WAN instead. In this scenario is that the DUT fails to forward IPv6 packets for any WAN mode other than 6to4.