CDRouter Support

CDRouter 10.2 Release Notes

release-note version 13.10

Release History

Release Type Release Number Release Date
Original CDRouter 10.2 Build 2 November 28, 2016
Maintenance Release 1 CDRouter 10.2 Build 3 December 6, 2016
Maintenance Release 2 CDRouter 10.2 Build 4 January 9, 2017
Maintenance Release 3 CDRouter 10.2 Build 5 February 16, 2017

Note: CDRouter 10.2 includes many new features and configuration testvars. Old config files can be automatically upgraded to include all new CDRouter 10.2 testvars using the config upgrade utility.

CDRouter 10.2 Build 2 November 28, 2016

New Features and Enhancements

CDRouter ICS

  • New Internet Connection Sharing (ICS) add-on for CDRouter!

    We are pleased to announce a brand new add-on for CDRouter - CDRouter ICS! Check out our website for more information.


  • New package option for creating custom testlists

    CDRouter now allows users to define and manage custom testlists, which are a collection of tests that can be named and referenced within test packages. This feature makes it possible to define a single set of tests and then select that set of tests by name when creating test packages.

    For example, a user may want to define a set of 50 tests for basic qualification of every device that they test. This list of tests can be created and given a name such as basic qualification tests. Any test package that is created can then include the testlist basic qualification tests alongside individual test cases, modules, or add-ons.

    Testlists are created by setting the Use As Testlist option when creating a test package within CDRouter’s web interface.

    "Use as Testlist option"

    The Use As Testlist option can also be toggled from the main packages index page by clicking on the testlist icon.

    "Testlist icon on package index page"

    To add a testlist to an existing package, toggle the Show Testlists button in the package editor. This will open a fourth pane showing all available testlists. Testlists can be added in the same manner as addons, modules, and individual test cases.

    "Show Testlist button"

  • New search filter within log viewer

    CDRouter’s log viewer now includes a text based search filter. This new feature makes it easy to display only the log messages that match the specified text.

    "Log viewer search filter"

    When a search filter is applied, pressing the control key (or command key on a Mac) will clear the search filter and automatically scroll to the selected line.

  • New advanced filtering options within log viewer

    CDRouter’s log viewer now supports a number of advanced log filtering features which can be accessed by clicking on the Additional filters… link within the log viewer.

    "Additional log filters"

    Clicking the Additional filters… link will display a pop up window that allows multiple filters to be defined, each with specific criteria. Once applied, only the log messages or packets that match the defined filters and criteria will be displayed.

    "Additional log filters pop up"

    When an advanced filter is applied, pressing the control key (or command key on a Mac) will clear the search filter and automatically scroll to the selected line.

  • New cdrouter-cli -new-testpath option makes editing existing tests easier

    The cdrouter-cli command now contains a -new-testpath option which makes creating custom testpaths from existing testcases easier. The -new-testpath option takes an optional comma-separated list of existing addons, test modules and testcases which will be copied into the new testpath. For example, if you wish to create a custom testpath containing copies of the CDRouter testcases cdrouter_basic_1, cdrouter_nat_1 and cdrouter_nat_2, do the following:

    $ mkdir my_custom
    $ cd my_custom
    $ cdrouter-cli -new-testpath cdrouter_basic_1,cdrouter_nat_1,cdrouter_nat_2
    $ ls
    config.dic errors.dic labels.dic modules my_custom_basic.tcl my_custom_nat.tcl

    The my_custom directory now contains copies of all three tests in the files my_custom_basic.tcl and my_custom_nat.tcl. The test and module names have been prefixed with my_custom so that they don’t conflict with the existing, official versions. The new testpath’s modules and labels.dic files have been populated such that the copied tests have the same licensing and configuration restrictions as the originals.

    A message is printed when cdrouter-cli -new-testpath terminates explaining how to add the custom testpath to CDRouter so that the copied tests will appear in CDRouter’s package editor. Please see the CDRouter Developers Guide for more details on custom testpaths and editing testcases.

  • New IPv4 reverse path check test case added to firewall module

    The new cdrouter_firewall_508 test case can be used to verify that the DUT does not forward packets from LAN to WAN if the source address of the is not contained within the LAN subnet.

  • Scaling tests display any unallocated IP addresses

    To help troubleshoot and debug failures in the scaling module CDRouter will now display all addresses that were not allocated at the end of the test. This makes it very easy to identify which addresses were not assigned by the DUT.

CDRouter Performance

  • Support for multicast performance testing

    Four new test modules have been added to the CDRouter Performance add-on: perf-mcast, perf-mcast-v6, perf-mcast-lan, and perf-mcast-lan-v6. These test modules enable performance testing with multicast streams in both the upstream and downstream directions, and from LAN to LAN over IPv4 and IPv6.

  • Added the ability to set the MAC address of the performance server

    The MAC address of the performance server can now be explicitly set using the testvar perfWanMac. Setting this testvar may improve performance slightly by eliminating the need for the DUT to ARP for the performance server’s MAC address at the beginning of every performance test case.

CDRouter IPv6

  • Support for MAP-T

    CDRouter now includes support for RFC7599, Mapping of Address and Port using Translation (MAP-T). MAP-T is a stateless NAT64 technique that is designed to deliver IPv4 services over native IPv6 connections without having to deploy a full dual-stack network infrastructure. It also incorporates some carrier grade NAT (CGN) concepts by allowing multiple end user devices to share a single public IPv4 address.

    For more information please see our Knowledge Base article on MAP-T testing .

CDRouter TR-069

  • Updated CWMP profiles

    CDRouter’s Device2_profiles test module has been updated to support version 2.11 of the Device:2 data model published by the Broadband Forum. All profiles defined in the following data models are now supported:

    Data Model Version
    InternetGatewayDevice:1 1.14
    Device:1 1.14
    Device:2 2.11
    STBService:1 1.4
    VoiceService:1 1.1
    VoiceService:2 2.0
    StorageService:1 1.2
    FAPService:1 1.1
    FAPService:2 2.1

    This update adds support for the new Device:2 profiles listed below:

    Test Module Profile
    Device2_profiles LEDBasic:1
    Device2_profiles LEDAdv:1
    Device2_profiles DeviceImage:1
    Device2_profiles FAST:1
    Device2_profiles UserInformationBasic:1
    Device2_profiles UserInformationExtended:1
  • Better support for TR-069 over IPv6

    CDRouter’s various TR-069 test modules have been updated to better support IPv6 WAN configurations. Previously many tests were not compatible with IPv6 and would be skipped automatically when the acsIp was set to an IPv6 address. Most tests have been updated and will now run when the CWMP transport is IPv6.

  • New configuration option for ACS domain

    The new testvar acsDomain, which defaults can be used to set a custom domain name for the ACS. CDRouter will automatically create a DNS entry for this domain that maps to the IP address specified by the testvar acsIp. This domain is also used by CDRouter’s XMPP server when XMPP connection requests are enabled.

New Test Modules and Test Cases


  • New firewall test

    TEST CASE: cdrouter_firewall_508
    MODULE: firewall.tcl
    DESCRIPTION: Verify outbound packets are not forwarded if the source
    address is not a prefix of the interior network

CDRouter IPv6

  • New MAP-T test module

    MODULE: mapt.tcl
    DESCRIPTION: MAP-T tests for mapping IPv4 to IPv6

CDRouter TR-069

  • New profiles added to the Device2_profiles module

    MODULE: Device2_profiles
    DESCRIPTION: TR-181 Issue 2 CWMP Profile testing for Device data model
    NEW PROFILES: LEDBasic:1, LEDAdv:1, DeviceImage:1, FAST:1, UserInformationBasic:1, UserInformationExtended:1

CDRouter Performance

  • New multicast performance modules

    MODULE: perf-mcast.tcl
    DESCRIPTION: IPv4 UDP Multicast performance test cases
    MODULE: perf-mcast-v6.tcl
    DESCRIPTION: IPv6 UDP Multicast performance test cases
    MODULE: perf-mcast-lan.tcl
    DESCRIPTION: IPv4 UDP Multicast LAN-to-LAN performance test cases
    MODULE: perf-mcast-lan-v6.tcl
    DESCRIPTION: IPv6 UDP Multicast LAN-to-LAN performance test cases

CDRouter IPv6

Bug Fixes and Notes


  • Resolved an issue in CDRouter’s TCP protocol stack that was causing retransmissions from the DUT to be missed.

  • Within the log viewer, the flag toggle button has been moved from the button bar to a new flag icon next to the test case name in the top left-hand corner.

  • The dns_220, dns_230, dns_240, and dns_250 tests have been modified so that the CDRouter LAN client no longer uses underscores in the hostname field of the DHCP Discover and Request packets.

  • CDRouter writes test results to a temporary directory while a test package is running, before writing them to the final results directory. This temporary directory had been in /tmp, which on NTA1000 systems, is on the smaller solid state drive. In some cases this could fill up the SSD. CDRouter now writes to the /usr/cdrouter-data/temp directory, which for NTA1000 systems, is on the larger data drive.

  • Resolved an issue with the dhcpServerMac testvar. In previous releases enabling this testvar would result in a MAC address filter being applied to both the DUT’s DHCP server on the LAN and the DUT’s DHCP client on the WAN. This issue has been fixed, and the dhcpServerMac testvar now only sets a MAC filter for the DUT’s DHCP server on the LAN. To set a MAC filter for the DUT’s DHCP client on the WAN, the testvar dhcpClientMac should be used instead.

  • CDRouter now requires a Linux kernel 3.10 or newer. If you get an error message indicating your kernel is too old, please refer to this article that explains how to update your kernel and other system software.

  • Resolved an issue where tags applied to a device would not be applied to results using the device.

  • Resolved an issue with the cdrouter-diag script where it would hang in certain situations.

  • Resolved an issue with the -print-skipped option that caused the cdrouter-cli command not to report when some tests were being skipped.

  • The cdrouter_basic_2 and cdrouter_basic_20 tests are now skipped if the wanIspGateway testvar is defined. This testvar is typically used for DHCP relay test setups.

  • CDRouter is now able to store and return multiple SRV records for a given FQDN.

  • Resolved an issue when validating the ST and USN headers in the upnp module which was causing valid URNs to be rejected as invalid.

  • The eapradius_5 test case has been updated to generate warnings if the Calling-Station-Id and Called-Station-Id RADIUS attributes are not properly formatted.

  • Resolved an issue with HTTP/1.0 and HTTP/1.1 tests. When terminating the TCP session, CDRouter had not been waiting for the Fin+Ack from the DUT, and would report that it received an unknown TCP packet when the Fin+Ack arrived. CDRouter now waits for the Fin+Ack before sending its own and terminating the TCP session.

CDRouter Performance

  • Removed the 2,000 data point cap for the performance graph display. Now an unlimited number of data points may br graphed.

  • Changed the graph’s zoom capability from drag-to-select to a sliding window.

CDRouter IPv6

  • Resolved a fatal error with the ndp-wan test module when running with a static LAN configuration.

  • The ndp-wan and slaac-wan test modules can now be run in configs that do not include a LAN interface.

CDRouter TR-069

  • Resolved an issue in the CWMP Scenario feature that was causing the results from a request to contain information from prior requests.

  • Updated the way the ACS handles a SetParameterValuesResponse containing a Status value of “1”. Previously, the ACS would wait tr69RebootTimeout seconds or until an Inform with Event Code “1 BOOT” was received, just in case the the DUT needed to reboot in order to commit and apply the changes made by the SPV request. Now, an SPV Response with Status “1” will cause the ACS to send a Connection Request to the DUT and wait for a successful Inform. This event will signal that all changes have been applied, regardless of whether a reboot was required or not.

  • Updated the tr60_30 test case to better support environments where IPv6 is used as the transport for the TR-069 session. This test will attempt the CPE connection request over IPv6 if the connection request URL is IPv6 based.

  • The tr69_wireless test module originally verified stats using the newer UnicastPacketsSent and UnicastPacketsReceived counters defined in the WiFiLAN:2 profile. This module has been updated to also support older devices that implement the less granular TotalPacketsSent and TotalPacketsReceived counters defined in the WiFiLAN:1 profile.

  • Resolved a fatal error in the tr69_wireless test module when the UnicastPacketsSent and UnicastPacketsReceived parameters returned by the device under test are empty strings.

  • Improved algorithm for locating the correct WAN instance within the DUT’s data model to operate on during specific TR-069 tests. The updated algorithm is more portable and supports IPv4 and IPv6 WAN interfaces for DUT’s implementing the IGD:1, Device:1, or Device:2 root data models.

  • Resolved an issue in the tr69_230 and od128_test_27.1 test cases where a TCP FIN from a prior connection with the DUT was causing the ACS to clear its request list and end the CWMP session that was currently in progress.


  • The default timeout for SNMP requests has been increased from 1 second to 5 seconds. This can be customized with the snmpTimeout testvar. CDRouter will automatically interrupt any SNMP command that does not complete within 5 minutes.

  • Resolved an issue in the snmp_202 test case that caused the value of sysUpTimeInstance not to be parsed correctly, causing the test to fail.

  • Resolved an issue in the snmp_204 test case that occurs when the DUT does not return a value for an instance of ifPhysAddress.

CDRouter 10.2 Build 3 December 6, 2016

New Features and Enhancements


  • Enhanced tag filtering

    The Popular Tags feature on the Devices, Configurations, Packages, and Results pages within CDRouter’s web interface now include a text box for filtering the tag list. This makes it much easier to locate specific tags on systems that have a large number of tags available to choose from. This new functionality has also been carried forward to the Admin > Tags page.

Bug Fixes and Notes


  • Resolved an issue with the software upgrade features available within CDRouter’s web interface on the Admin > System page.

    Users that have installed the initial release of CDRouter 10.2 (Build 2) must install this maintenance release (or a subsequent maintenance release) manually following the instructions available here.

    Users upgrading from CDRouter 10.0 or 10.1 to this maintenance release (or a subsequent maintenance release) can do so using the software upgrade feature within the web interface.

  • Removed the Send results to another CDRouter system package option which is no longer supported and was removed in CDRouter 10.0.

  • The output of “cdrouter-cli -info” has been modified slightly. The OS info was sometimes incomplete. This has been fixed. The OS and kernel lines have been combined. The CPU info line has been moved up, and the “Loaded Tcl version” and “Loaded buddy version” lines have been removed.

  • The config file constraints have been updated to ignore all LAN side settings when the testvar lanMode is to a value of none.


  • Resolved an issue where the test cases snmp_wan_201 and ipv6_snmp_wan_201 should be skipped when the testvar lanInterface is set to none. These tests require a lan interface to be defined because a lan client is used as part of these tests.

CDRouter 10.2 Build 4 January 9, 2017

New Features and Enhancements


  • Editable notes field added to Device, Configuration, and Package editors in web UI

    All resource types (Devices, Configurations, Packages, and Results) now have an editable Notes field within the web UI. The Notes field supports Markdown making it possible to bold or italicize text, add bullet lists, and add hyperlinks. For a complete list of the formatting options available, please see the Markdown Syntax page.

  • New testvar to support WAN subnets with different sizes

    A new testvar has been added to support routed setups where CDRouter’s and the DUT’s WAN interface subnets are not the same size. The wanIspAssignMask testvar can be used to specify the IPv4 subnet mask that applies to the DUT’s WAN interface. See the Connecting to CDRouter through multiple routers article in our Knowledge Base for more information and examples of how to configure CDRouter in a routed setup.

Bug Fixes and Notes


  • Resolved an issue with the cdrouter_pppoept_1 and cdrouter_pppoept_2 test cases that could result in bogus DNS servers being applied to the LAN stack in bridge mode configurations.

  • Resolved an issue with the cdrouter_dmz_200 test. For protocol 47, some fields in the GRE header were not set correctly.

  • Updated the results export utility to include the config snapshot file in the exported archive.

  • Resolved an issue with the cdrouter_dhcp_30 test. This test is now automatically skipped when there are no DHCP client options defined.

  • Resolved a problem in the cdrouter_apps_131 test case in which CDRouter’s STUN server was formatting the CONNECTION-REQUEST-BINDING attribute incorrectly.

CDRouter IPv6

  • The test cases dslite_10 and dslite_11 test cases require DHCP on the LAN side of the DUT and will now be automatically skipped if the testvar lanMode is set to static.

  • Updated the ipv6_ndp_2 test case to include one additional second of tolerance when validating the duration between router advertisements from the DUT.

  • Resolved an issue with the prefix comparison logic in the dhcpv6_pd_60, dhcpv6_pd_61, dhcpv6_pd62, and dhcpv6_pd_63 test cases.

CDRouter TR-069

  • Resolved an issue with CWMP profile data validation for parameters that have multiple ranges defined. Previously parameter values were only validated against the last range defined for the parameter and not against all ranges defined.

  • Updated CDRouter’s STUN server to correctly pad out the message data to a multiple of 64 bytes when calculating the MESSAGE-INTEGRITY attribute.

  • Resolved an issue with SetParameterValues profile tests where white space at the end of a parameter value was being stripped before being written back to the DUT.

    This issue was reported specifically for the Device.WiFi.Radio.{i}.RegulatoryDomain parameter which has a value that is defined as being exactly three characters in length. The DUT was returning a value of EU which CDRouter was then truncating to EU in the subsequent SetParameterValues RPC sent to the DUT. This led to a CWMP fault which ultimately caused a test failure.

  • Fixed a problem that was causing the BBF.069 “5_029_SOAP_response” test case to report ‘can’t read “target(unknown)”: no such element in array’ when checking the value of the SOAPAction header.


  • Updated the snmp-wan.tcl module to use remoteHostIp as the source for SNMP requests, instead of dynamically selecting the source address from the Free Network range.

  • Resolved an issue when processing fragmented SNMP responses from the DUT.

CDRouter Performance

  • Resolved an issue in the API where making a call to retrieve a bandwidth metric did not return values for the interface_1 and interface_2 parameters. This issue also resulted in missing information within the performance graph tool tip for all individual data points.

  • Resolved an issue in which using the wlan0 interface on the NTA1000 platform resulted in a fatal error when running the LAN-to-LAN Performance test cases.

  • Resolved an issue in which running the LAN-to-LAN Performance tests in a configuration where each LAN interface was configured on a different subnet resulted in a fatal error.

CDRouter 10.2 Build 5 February 16, 2017

Bug Fixes and Notes


  • Resolved an issue with the configuration validation logic that allowed a the testvar lanInterface to be set to the same wireless interface in multiple LAN configuration groups.

  • Updated the Import utility within the web interface to address issues when loading archives larger than 500MB and some types of archives exported from earlier versions of CDRouter.

CDRouter IPv6

  • Updated test dhcpv6_130 to resolve a false positive test result when the client did not send a DHCPv6 Renew message as part of step 6 in the procedure.

  • Updated the mapt_23 test case to verify that the IPv6 Next Header is set to 17 (UDP) or that the packet contains a Fragmentation Header with a Next Header value of 17 (UDP). Previously this test would fail if the received packet contained a Fragmentation Header, even though this is allowed within the specification.

  • Updated the mapt_40 test case to verify that the IPv6 Next Header is set to 58 (ICMPv6) or that the packet contains a Fragmentation Header with a Next Header value of 58 (ICMPv6). Previously this test would fail if the received packet contained a Fragmentation Header, even though this is allowed within the specification.

  • Updated the rfc6092_rc_17 and rfc6092_rec_33 test cases to resolve an address scope issue when sending packets on the WAN.

  • Updated the ipv6_upnp_10, ipv6_upnp_12, and ipv6_upnp_20 test cases to better support implementations that use non link-local addresses in their SSDP LOCATION URLs.

  • Updated the start procedure to ensure CDRouter’s DHCPv6 server uses the startTimeout testvar to determine how long to wait for the DUT to request an IA_PD prefix, instead of using a fixed 150-second timeout value.

CDRouter TR-069

  • Updated the tr111_p2_100, 101 & 102 test cases to ensure the second STUN server would properly authenticate and accept the DUT’s Binding Requests.

  • Resolved a fatal error in tr69_410 when CDRouter is unable to get the DUT’s original NTP settings from a GetParameterValues RPC for the InternetGatewayDevice.Time object.

CDRouter Performance

  • Resolved a potential divide by 0 error when calculating latency in test cases: perf_6, ipv6_perf_9, perf_lan_9, and ipv6_perf_lan_9.

CDRouter Multiport

  • Resolved an issue where CDRouter tried to use an interface marked as a guest interface in ipv6_lan_mp_2. Any interface define with testvar lanGuestMode set to yes should be skipped for this test.



About CDRouter

QA Cafe CDRouter is a comprehensive and powerful test automation solution focused on feature, security, and performance testing for broadband and enterprise edge gateways, Wi-Fi and mesh systems, and other CPE.

Get in touch via our Contact page or by following us on your favorite service: