Test Setup for RFC 7084

Introduction

The test module cpe-v6 covers requirements from RFC7084, “Basic Requirements for IPv6 Customer Edge Routers”. Some test cases in this module reference the IPv6 Ready CE Router Interoperability Test Specification. This module requires the IPv6 expansion, and requires both a WAN and LAN interface be configured to run. It is not compatible with any IPv6 transition mechanisms or with static IPv6 addressing.

Reboot Automatically

Several test cases in the module require changing fundamental WAN settings, such as Router Advertisement flags or addressing types. The DUT must be rebooted for it to discover the required settings and have the correct behavior.

To automatically reboot the DUT, a few testvars must be configured. If cpeRebootMode is set to the value skip, test cases that require a reboot will be skipped.

testvar RestartDut "<restart DUT command>"
testvar cpeRebootMode reboot

It might be necessary to adjust the time each test will wait when the DUT is rebooting. RestartDutDelay refers to the initial wait time after the reboot command is called. startTimeout specifies the amount of time a test will wait for a certain behavior the test case requires before moving on. Sometimes these values are combined to create a longer timeout, when the test case is waiting for behavior that will only occur one time, such as IPv6 DAD.

testvar startTimeout 90
testvar RestartDutDelay disabled

LAN Subnet-ID

Test cases that require the DUT to send an IPv6 Router Advertisement on the LAN use ipv6LanSubnetId to calculate the IPv6 Prefix that a DUT will advertise through Router Advertisements and DHCPv6 on the LAN.

If it is configured improperly, the value of this testvar can affect the outcome of some test cases. 0 is a valid value for this testvar, and indicates that the DUT will append its delegated prefix with zeros to form a /64 prefix.

Example:

The DUT receives a prefix through DHCPv6 Prefix Delegation which is 3000:dddd::/48. If ipv6LanSubnetId is set to 1, it means the DUT will advertise a prefix of 3000:dddd:0000:0001::/64 on its LAN test interface. If ipv6LanSubnetId is eeee, it means the DUT will advertise a prefix of 3000:dddd:0000:eeee::/64 on its LAN test interface.

DHCPv6 Lease Times

Many tests in the cpe-v6 module wait for the DHCPv6 lease to expire in order to reassign a lease with different value or settings. The DHCPv6 lifetimes are set to 5 minutes by default, which can make the test time for each test quite long. These values can be reduced to 60 seconds to speed up test times. The DHCPv6 lease times are controlled using the following testvars:

testvar dhcpv6IAValidLifetime 60
testvar dhcpv6IAPreferredLifetime 60

Timers

The following timeout testvars are used throughout the cpe-v6 module. If tests are failing unexpectedly, try adjusting the following testvars. Timer testvars should be adjusted to values close to the actual time the DUT takes to perform an action. Setting the timers much longer than that may cause tests to take longer than necessary.

testvar startTimeout 90
testvar RestartDutDelay disabled
testvar dhcpv6RestartLatency 10
testvar dhcpv6PDLatency 30
testvar ipv6RAInterval 300

Multiple Configurations

RFC 7084 defines some options when it comes to addressing on the WAN and the LAN. The DUT can either do DHCPv6 or Stateless Address Autoconfiguration on the WAN to obtain an IPv6 address. Similarly, it can either assign addresses only through IPv6 Router Advertisements on the LAN, or also provide a DHCPv6 server for LAN devices to obtain addresses.

To rigorously test these various configurations, it is recommended to run this module using all configurations that the DUT supports. For more information about IPv6 and configuration options, see the CDRouter IPv6 User Guide.