CDRouter is often used to test edge routers and gateways that provide services such as NAT, a firewall, a DHCP server, etc. These devices also route packets between two or more networks, typically a single private network (the LAN) and a single public network (the WAN).
CDRouter can also be used to test devices such as wireless access points (APs) and Ethernet switches that bridge or switch packets between two interfaces rather than route packets between multiple networks.
CDRouter must be configured for routing mode to test any device or network that is routing. To test a device or network that is not routing, such as a wireless access point (AP) or Ethernet switch, CDRouter must be configured for bridge mode.
Enabling Bridge Mode
To enable bridge mode within CDRouter, the forwardingMode must
be set to a value of
testvar forwardingMode bridge
Note that enabling bridge mode implicitly disables or modifies any test cases or functionality that may not compatible with or do not apply to bridging devices.
CDRouter’s connections to the DUT are typically the same whether the DUT is operating in bridge mode or routing mode. CDRouter’s LAN clients connect to the DUT via Ethernet and WiFi, and the DUT’s forwards their traffic through its WAN interface. The DUT’s WAN connection may be directly connected to CDRouter via Ethernet or WiFi, or it may use an intermedate service (eg. DSL, DOCSIS, LTE, GPON, etc.) that eventually maps WAN traffic to an Ethernet connection to reach CDRouter.
In bridge mode all IP traffic generated by CDRouter’s LAN clients will be forwarded by the DUT directly to the WAN. As a result, all DHCP requests from CDRouter’s LAN clients will be serviced by CDRouter’s DHCP server on the WAN rather than by the DUT’s DHCP server as is typical for a gateway type of device.
The testvar lanMode determines how CDRouter’s LAN clients will behave with respect to IPv4 address acquisition.
Set this testvar to a value of
DHCP to force all of CDRouter’s LAN clients to
testvar lanMode DHCP
To have CDRouter automatically configure all LAN clients with a static IP
address instead, set this testvar to a value of
testvar lanMode static
Addresses will be assigned by CDRouter from the configured DHCP pool, regardless of which LAN mode is enabled. See the DHCP pool configuration section below for more information.
Likewise, if IPv6 is enabled, the testvar ipv6LanMode determines
how CDRouter’s LAN clients will obtain a global IPv6 address. Three modes are
If autoconf is enabled, CDRouter’s LAN clients will automatically assign addresses based on the prefix in Router Advertisements received from CDRouter’s WAN stack. For DHCP and static modes CDRouter will assign addresses to all LAN clients from the configured DHCPv6 pool.
Wireless LAN Configuration
Please see this Knowledge Base article for more information on how to configure CDRouter’s LAN for wireless.
testvar wanIspIp 184.108.40.206 testvar wanMask 255.255.255.0
The testvar wanIspIp represents the address of CDRouter’s primary WAN stack, which is the default gateway for the DUT and CDRouter’s LAN client(s) in bridge mode. This is also the address of CDRouter’s WAN DHCP server.
testvar ipv6WanIspIp 3001::1 testvar ipv6WanIspPrefixLen 64
DHCP/DHCPv6 Pool Configuration
The testvars dhcpClientStart and dhcpClientEnd define the DHCP pool range. In routing mode these testvars refer to the DUT’s DHCP server pool range on the LAN. However, in bridge mode these testvars are repurposed to define the pool range of CDRouter’s DHCP server on the WAN.
As a result, the constraints for these testvars have been modified in bridge mode to ensure that the DHCP pool resides within the WAN network rather than outside of it.
To satisfy the testvar constraints in bridge mode with an otherwise default config, the DHCP pool must be reconfigured. For example:
testvar dhcpClientStart 220.127.116.11 testvar dhcpClientEnd 18.104.22.168
The DHCPv6 pool is specified using the testvars ipv6DhcpClientStart and ipv6DhcpClientEnd. To satisfy the testvar constraints in bridge mode these testvars must be full IPv6 addresses located within the WAN IPv6 network. For example:
testvar ipv6DhcpClientStart 3001::100 testvar ipv6DhcpClientEnd 3001::1ff
Management Interface Configuration
In bridge mode, the DUT’s management interface address can be provisioned
dynamically by CDRouter. If the DUT is configured to obtain an IPv4
management address via DHCP or PPPoE, the wanMode
should be set to a value of
PPPoE, respectively. If the
DUT’s management interface is configured with a static IPv4 address,
the testvar wanMode should be set to a value of
Regardless of how the DUT’s management interface is configured, the testvar wanIspAssignIp must be configured. This testvar specifies the address that is configured on the DUT’s management interface or that CDRouter will assign to the DUT’s management interface via PPPoE or DHCP when a reservation is created. This address must reside within the WAN network.
testvar wanMode DHCP (or PPPoE or static) testvar wanIspAssignIp 22.214.171.124
Additionally, if PPPoE is in use the appropriate authentication credentials must be configured. The PPPoE credentials used by CDRouter’s PPPoE server can be configured using the following testvars:
testvar pppoeUser qacafe testvar pppoePassword qacafe123
If the DUT does not have a management interface or does not support IPv4
on its management interface, wanMode should be set
to a value of
testvar wanMode none
Likewise, CDRouter supports dynamic IPv6 provisioning of the DUT’s management
autoconf. Static IPv6 addresses can also be
For DHCP, PPPoE, autoconf, and static modes, the testvars ipv6WanMode and ipv6WanIspAssignIp must be set appropriately. In the case of PPPoE, the ipv6PPPoEAddressMode testvar determines how the IPv6 address will be provisioned over the PPPoE link:
testvar ipv6WanMode DHCP (or PPPoE or autoconf or static) testvar ipv6PPPoEAddressMode DHCP (or autoconf) testvar ipv6WanIspAssignIp 3001::2
If the DUT does not have a management interface or does not support
IPv6 on its management interface, the testvar ipv6WanMode should
set to a value of
testvar ipv6WanMode none
The configuration file also contains a number of additional WAN configuration options for both IPv4 and IPv6 that can be used to modify CDRouter’s behavior.
DHCP/DHCPv6 Reservation for Management Interface
If the DUT’s management interface is using DHCP and/or DHCPv6 to obtain management addresses, reservations should be created to ensure that the DUT is always assigned the same address(es).
To configure an IPv4 reservation the testvar wanDutClientID should be enabled and configured with the Client Identifier of the DUT’s. If the DUT does not use a Client Idenitfier (option 61) in its DHCPREQUEST, then this value should be the chaddr field.
CDRouter’s DHCP server will then assign the address specified by the testvar wanIspAssignIp to the DUT’s management interface.
Likewise, to configure an IPv6 reservation the testvar ipv6WanDutDuid should be enabled and configured with the DUID value (in hex) of the DUT’s management interface. CDRouter’s DHCPv6 server will then assign the address specified by the testvar ipv6WanIspAssignIp to the DUT’s management interface.
CDRouter will generate a config error if these reservations are not set in a bridge mode configuration.