Connecting to CDRouter through multiple routers
Overview
In some cases it may be necessary to include an additional router in the test setup. Common examples include DSL or DOCSIS testing environments where a DSLAM or CMTS device (respectively) is required to forward traffic from the DUT to CDRouter’s WAN interface. If the intermediate device is performing IP/IPv6 routing at Layer-3, CDRouter must be properly configured to use this device as a gateway to route traffic back to the DUT.
If the DUT relies on DHCP or DHCPv6 to obtain its IP address, the
intermediate router will need to be configured as a DHCP Relay Agent
with CDRouter’s WAN address wanIspIp
and/or ipv6WanIspIp
in order to forward DHCP requests to between the
DUT and CDRouter. CDRouter automatically supports DHCP/DHCPv6
requests from Relay Agents and will perform the proper message
formatting when assigning addresses to the DUT.
Test Setup
In the example test setup shown below, an additional router is used to route between CDRouter’s WAN interface and the DUT, which are on different IP subnets.
IPv4 Configuration
To configure CDRouter to work with this setup, additional testvars must
be included in the CDRouter configuration file. The
wanIspGateway
testvar is paired with
wanIspIp
and wanIspMask
to identify the
subnet for CDRouter’s WAN interface. wanIspAssignGateway
,
wanIspAssignIp
and wanIspAssignMask
correspond to the DUT’s interface. The IPv4HopCount
should be set to 2 in this case.
If the DUT is using DHCP to obtain its IP address from CDRouter,
the intermediate router must be configured as a DHCP relay to forward
the DUT’s DHCP requests to CDRouter’s wanIspIp
address.
The intermediate router should also be configured to use CDRouter’s WAN interface as its default route so that LAN traffic forwarded by the DUT to CDRouter’s simulated servers (DNS, NTP, TR-069 ACS, Remote Host, etc.) will be routed correctly. Alternatively, the intermediate router can be configured with static routes for these simulated servers, using wanIspIp as the next-hop for each destination.
A sample CDRouter configuration based on the test setup above is provided here:
# -- Sample CDRouter IPv4 routed configuration
testvar wanMode DHCP
testvar wanIspIp 202.254.1.1
testvar wanIspGateway 202.254.1.2
testvar wanIspMask 255.255.255.0
testvar wanIspAssignIp 202.254.10.2
testvar wanIspAssignGateway 202.254.10.1
testvar wanIspAssignMask 255.255.0.0
testvar IPv4HopCount 2
IPv6 Configuration
Similar testvars exist for IPv6 configurations:
For IPv6 configurations the intermediate router must send router advertisements on the downstream interface so that the DUT can obtain a default route.
In addition, the relay must be able to route traffic from CDRouter’s simulated servers to the DUT’s LAN subnet. The DUT’s LAN prefix may be statically configured or dynamically delegated by CDRouter’s DHCPv6 server.
# -- Sample CDRouter IPv6 routed configuration
testvar supportsIPv6 yes
testvar ipv6WanMode DHCP
testvar ipv6WanIspIp 3001:A::1
testvar ipv6WanIspGateway 3001:A::2
testvar ipv6WanIspPrefixLen 64
testvar ipv6WanIspAssignIp 3001:B::2
testvar IPv6HopCount 2
testvar dhcpv6WanEnablePD yes
testvar dhcpv6WanAssignPrefix 3001:DDDD::
testvar dhcpv6WanAssignPrefixLen 48
testvar ipv6LanSubnetId FF
testvar ipv6LanIp ::%eui64%
Troubleshooting
If CDRouter is unable to fully initialize the DUT in a routed test setup, you can have it run some basic network connectivity checks to verify the path between CDRouter’s LAN and WAN connections.
These checks are enabled by setting the healthCheckEnable
testvar to “yes”. When the tests are run CDRouter will successively
ping each known router hop along the path between its local interface
and the DUT. A summary of the results are displayed at the end of the
“start” test log.
# -- Enable connectivity health checks
testvar healthCheckEnable yes