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.