CDRouter Support

CDRouter 11.4 Release Notes

knowledge-base version 11.4

Release History

Release Type Release Number Release Date
Original CDRouter 11.4 Build 1 May 23, 2019
Maintenance Release 1 CDRouter 11.4 Build 2 June 20, 2019

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

Attention: Operating System Deprecation Notice

Support for the Ubuntu operating system and CentOS 6 has been deprecated. CDRouter systems running on Ubuntu or CentOS 6 will now see warning messages during installation and in the ‘start’ log of a test run.

Support for both of these operating systems will be officially removed with the next major version of CDRouter (12.0). Please contact for additional information and assistance in migrating to a supported operating system.

All CDRouter systems will require the CentOS 7 operating system in order to install CDRouter 12.0 and beyond.

CDRouter 11.4 Build 1 May 23, 2019

New Features and Enhancements


  • Updated log file viewer

    CDRouter’s integrated log file viewer has been updated to improve the overall performance and usability when viewing and analyzing large log files.

    This update increases the limit on the number of log lines that can be displayed from 100k to 700k when using newer releases of the Chrome, Firefox, and Safari browsers (Microsoft Edge imposes a limit of 270k lines). In addition to increasing the number of lines that can be viewed, the load time and scrolling / navigation performance have been significantly improved. [LH #4134]

  • Packet decode pane in log file viewer can now be resized

    The packet decode pane within CDRouter’s log file viewer can now be resized both vertically and horizontally making it easier for users to optimize their analysis layout and view. [LH #4134]

  • New DHCP test cases

    Three new DHCP test cases have been added to CDRouter to verify that the DUT’s client or server only responds to DHCP requests on the correct port. Please see the new test modules and test cases section below for more information. [LH #3828]

  • New network health check feature available during startup

    CDRouter will now perform a series of tests at the end of the “start” procedure to verify basic network connectivity between the DUT and CDRouter. A new testvar, healthCheckEnable, has been added to enable these checks. When running them, 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. This can be helpful in routed setups for detecting possible packet loss or routing problems during the initialization of a test run. [LH #4145]

CDRouter TR-069

  • Support for HTTP bulk data collection

    CDRouter now supports HTTP Bulk Data Collection as defined in Annex N of TR-069 Amendment 6. The new tr69_annex_n test module has been added to test and verify this functionality. The tr69_annex_n test module includes 16 new test cases that provide coverage for basic bulk data collection over HTTP and HTTPS using different combinations of CSV and JSON encoded data, single and multiple parameter reporting, with and without optional URI parameters.

    Note that HTTP Bulk Data Collection requires Device:2 data model support. [LH #3835]

  • New test case for verifying SetParameterValues failure with multiple invalid parameters

    A new test case, tr69_26, has been added to the tr69 test module. This test case verifies that the DUT generates the proper Fault structure when it receives a SetParameterValues RPC with multiple invalid parameters, based on the following requirement in Section 3.5 of TR-069 Amendment 6:

    A SetParameterValuesFault element, to be used only in an error response to the SetParameterValues method, that contains a list of one or more structures indicating the specific fault associated with each parameter in error. [LH #4147]

  • Enhancements to HTTP redirect test cases

    The tr69.tcl test module has been updated to more thoroughly verify how the CPE follows HTTP redirects from the ACS. Four new test cases (tr69_35 through tr69_38) have been added to verify redirects to a different TCP port number and redirects from HTTP to HTTPS.

    The existing redirect test cases (tr69_31 through tr69_34) have also been modified so that HTTPS URLs will be redirected to another HTTPS URL (not HTTP). Additionally, all of these tests now issue an alternate URL containing a fully-qualified domain name, as opposed to an IP address. These changes produce more realistic scenarios for testing HTTP redirects. [LH #2056]

  • New test case for verifying CPE fault codes

    A new test case, tr69_27, has been added to the tr69 test module. This test verifies that the CPE returns the correct CWMP fault code for various scenarios according to Section A.5.1 of TR-069 Amendment 6. [LH #4163]

  • New test case for verifying InstanceWildcardsSupported parameter

    A new test case, tr69_wildcards_supported, has been added to the tr69 test module. This test verifies that the InstanceWildcardsSupported parameter aligns with the functionality of the DUT.

    Note that the InstanceWildcardsSupported parameter requires Device:2 data model support. [LH #4133]

CDRouter Performance

  • Support for performance over stacked VLAN configurations on the WAN

    CDRouter’s performance tests can now be run in configurations that utilize stacked VLANs on the WAN. Both types of stacked VLAN configurations, 802.1ad and QinQ, are supported. [LH #4010]

New Test Modules and Test Cases


  • New DHCP test cases for verifying correct ports are used

    TEST: cdrouter_dhcp_35
    MODULE: dhcp-c
    DESCRIPTION: Verify client ignores DHCPFORCERENEW messages on port 67
    TEST: cdrouter_dhcp_36
    MODULE: dhcp-c
    DESCRIPTION: Verify client ignores DHCPOFFER messages on port 67
    TEST: cdrouter_dhcp_server_36
    MODULE: dhcp-s
    DESCRIPTION: Verify DHCP server ignores DHCPDISCOVER messages on port 68

CDRouter TR-069

  • New test module for Annex N bulk data collection

    MODULE: tr69_annex_n
    DESCRIPTION: TR-069 tests for Annex N Bulk Data Collection
    TEST CASES: 16
  • New test case for verifying SetParameterValues failure with multiple invalid parameters

    TEST: tr69_26
    MODULE: tr69
    DESCRIPTION: Verify error code is returned for every failed parameter in SetParameterValues
  • New test case for verifying CPE fault codes

    TEST: tr69_27
    MODULE: tr69
    DESCRIPTION: Verify CPE returns the correct fault codes
  • New test case for verifying InstanceWildcardsSupported parameter

    TEST: tr69_wilcards_supported
    MODULE: tr69
    DESCRIPTION: Validate the InstanceWildcardsSupported parameter aligns with the functionality of the DUT
  • New tests to verify HTTP redirects to a different TCP port number and redirects from HTTP to HTTPS

    TEST: tr69_35
    MODULE: tr69
    DESCRIPTION: Verify CPE follows 302 redirects to new ACS server with a specified port number log
    TEST: tr69_36
    MODULE: tr69
    DESCRIPTION: Verify CPE follows 307 redirects to new ACS server with a specified port number log
    TEST: tr69_37
    MODULE: tr69
    DESCRIPTION: Verify CWMP session can be redirected from HTTP to HTTPS using 302
    TEST: tr69_38
    MODULE: tr69
    DESCRIPTION: Verify CWMP session can be redirected from HTTP to HTTPS using 307

Bug Fixes and Notes


  • Resolved a false negative failure in the rfc5508_rec_2 test case when run in configurations using PPTP or L2TP on the WAN. [LH #4159]

  • The ability to expand and collapse sections within CDRouter’s log file viewer has been removed. This feature is not compatible with CDRouter’s updated and improved log file viewer. [LH #4134]

  • CDRouter’s log file viewer now has its own search feature which can be accessed by typing CTRL + F within the log file viewer. Previously this command would open the browser’s native search feature, which is no longer supported in CDRouter’s updated log file viewer. Most search functions supported natively by the browser are also supported by CDRouter’s built-in search feature. [LH #4134]

  • A number of fixed delays have been removed from the scaling tests. These delays should not be needed by most modern devices. Removal of these delays reduces the duration of the scaling tests. [LH #4155]

  • Enhancements have been made to CDRouter’s wireless LAN clients to improve error detection and reconnection when its association to access point has been lost [LH #4155]

  • Resolved a test case cleanup issue in the cdrouter_app_140 and ipv6_app_140 test cases that could prevent these tests from running properly if they were run multiple times in the same test run. [LH #4167]

CDRouter IPv6

  • The rfc5508 test module is not compatible with DS-Lite WAN mode and is now automatically skipped in these configurations. [LH #3403]

  • The ndp and ndp-wan test modules have been updated to use a new set of procs to determine the MAC address of the DUT when needed. [LH #4093]

CDRouter TR-069

  • Tests tr69_31 through tr69_34 have been updated to send HTTP redirects with URLs containing a fully-qualified domain name of an alternate ACS, rather than an IP address. This provides a more realistic redirection scenario and verifies that the DUT performs full HTTPS/TLS certificate validation with the new ACS. [LH #2056]

  • Two new testvars have been added: docsisDhcpRelayServer and docsisDhcpv6RelayServer. These testvars specify the DHCP/DHCPv6 relay server address of the CMTS in DOCSIS test setups. These testvars complement the dhcpRelayServer and dhcpv6RelayServer testvars, and are only needed in certain network configurations. Normally, CDRouter only has routing information to reach the IP subnet/IPv6 prefix of the DUT’s WAN interface and its own local interface. If the relay server uses an unknown address (such as its upstream WAN interface) as the source address for DHCP/DHCPv6 requests, CDRouter would not be able to respond to them because the address is not in CDRouter’s routing table. These testvars will allow CDRouter to send responses back to the specified addresses. [LH #4115]

  • The “XMPP connection request configuration” check that runs in the CDRouter “start” procedure was updated to better handle situations where the DUT sends an Inform to the ACS before responding to the connection request. This prevents the problem of having the ACS receive an unexpected “6 CONNECTION REQUEST” Inform while the first test case is running. [LH #4154]

CDRouter Performance

  • CDRouter Performance now takes advantage of kernel-based packet filtering on systems with a 4.14 or newer Linux kernel. Older systems will continue to implement user-space packet filtering. Kernel-based packet filtering is more efficient and improves the overall performance of the system. As part of this update, CDRouter will also automatically truncate the value of the testvar perfUdpLen, if needed, to avoid fragmentation. [LH #4140]

CDRouter ICS

  • The default value of the icsInterface testvar has been changed to none instead of eth0. Note that this will cause a configuration error if supportsIcs is set to “yes”, but this testvar has not been explicitly set. When setting the value of icsInterface, CDRouter will automatically provide a list of possible values from the available interfaces on the system. [LH #4144]

CDRouter 11.4 Build 2 June 20, 2019

New Features and Enhancements

  • New IPv4 fragmentation test module

    A new test module, nat-frag, has been added to this release. This test module includes six new test cases that verify the behavior of the DUT’s NAPT implementation with TCP, UDP, and ICMP fragmentation with both in-order and out-of-order fragments. [LH #4141]

New Test Modules and Test Cases


  • New test module verifying NAPT behavior with IPv4 fragmentation

    MODULE: nat-frag
    DESCRIPTION: NAPT tests for IPv4 fragmentation

Bug Fixes and Notes


  • Resolved an issue in CDRouter’s web UI associated with filtering results by date. This issue only impacted the Microsoft Edge and Firefox browsers. [LH #4123]

  • CDRouter now supports L2GRE test scenarios that contain one or more routing hops between the L2GRE client and remote endpoint. No additional configuration is required to support these setups; CDRouter will automatically account for any intermediate routers, if present. [LH #4190]

  • The password input box on the /system/upgrade page within the web UI has been removed. This field is no longer required by the new CDRouter Customer Lounge when upgrading CDRouter through the web interface. [LH #4117]

  • Resolved an error when trying to view the start.txt log file within the web UI for results generated in CDRouter 9.3 or earlier releases. This issue was introduced in CDRouter 11.4.1, and impacts the 11.4.1 release only. [LH #4183]

  • Resolved an issue with the elapsed time calculation for a running test within the web UI. This update prevents the elapsed time from changing formats during a test run. [LH #3709]

  • The cdrouter_dhcp_35 test case is now automatically skipped if the DUT does not support DHCP authentication, as configured by the testvar supportsDhcpAuth. [LH #4193]

  • Resolved an issue with CDRouter’s PPTP client shutdown routine that would prevent forwarding of IPv4 multicast traffic on the LAN in subsequent tests. [LH #4187]

  • CDRouter 11.1.1 through CDRouter 11.4.1 contained an issue in which the number of wireless LAN clients created by CDRouter was not restricted by the lanWirelessMaxClients testvar. This issue has been resolved. CDRouter now adheres to the lanWirelessMaxClients when creating wireless LAN clients. [LH #4195]

  • Removed the requires-dhcp-pool-size-le-64-wireless-lan skip label which was used to skip the cdrouter_scale_10 test case in configurations where only wireless LAN interfaces were available and the DHCP pool size was greater than 64. This constraint no longer applies to NTA1000v6 systems which can create more than 64 wireless LAN clients. To resolve this issue the cdrouter_scale_10 test case has been updated to generate a failure if the DHCP pool cannot be exhausted. [LH #4194]


  • CDRouter’s network connectivity health tests performed at the end of the start procedure have been updated to support DOCSIS setups. These checks will now verify connectivity to nodes along the path between the DUT’s Cable Modem and CDRouter’s WAN interface. Note that you must set the healthCheckEnable testvar to yes to enable the network connectivity health checks. [LH #4119]

CDRouter TR-069

  • The testvar acsDownloadCaCertPath is now disabled by default. This means it does not have a value unless it is uncommented and given one in a CDRouter configuration file. This now matches the behavior of acsCaCertPath. [LH #4211]

  • In tests tr69_31 through tr69_38, the alternate ACS ( was not transmitting the CA certificates contained in the acsDownloadCaCertPath file when initializing an SSL/TLS connection with the DUT. This has been resolved. Note that the certificates from this file will only be sent if acsDownloadCaCertPath is explicitly defined in the config file. Otherwise, only the server certificate (acsDownloadCertPath) will be sent. [LH #4204]

  • Added an additional configuration constraint to verify that the CWMP bootstrap scenario file exists and is readable, if defined using the testvar cwmpBootstrapScenario. [LH #4196]

  • CDRouter’s RADIUS server will now be automatically enabled when running ir181_test_5.6.9, ir181_test_5.6.11, ir181_test_5.6.13, tr69_wireless_40, tr69_wireless_41, and tr69_wireless_42. Previously these tests would not enable the RADIUS server, which would lead to test failures if the RADIUS server was not already enabled during start (which would occur only if WPA/WPA2 Enterprise were initially configured). [LH #4179]

  • The AddObject issued by CDRouter for the Device.Firewall.Chain parameter in the ir181_test_5.5.1, ir181_test_5.5.2, ir181_test_5.5.3, and ir181_test_5.5.4 tests is now properly formatted. Previously this AddObject was not using calculating the correct instance number which would generate a CWMP fault when sent to the DUT. [LH #4179]

  • The source and destination addresses used to verify the port mapping behavior in the ir181_test_5.5.1, ir181_test_5.5.2, ir181_test_5.5.3, and ir181_test_5.5.4 are now obtained from the configured free network range. [LH #4179]

  • The length of the packets used for the forwarding portion of the ir181_test_5.5.1, ir181_test_5.5.2, ir181_test_5.5.3, and ir181_test_5.5.4 has been set to 256 bytes. Previously the length was not specified which would generate a fatal error. [LH #4179]

  • The ir181_test_5.5.1, ir181_test_5.5.2, ir181_test_5.5.3, and ir181_test_5.5.4 tests were previously issuing a GetParameterValues RPC for the parameter Device.DestinationInterface, which does not exist in the Device:2 data model and would generate a CWMP fault when sent to the DUT. This issue is the result of a typo in the IR-181 test plan which has now been reported to the Broadband Forum. The correct parameter is Device.DestInterface. These tests have been updated to use the correct parameter name. [LH #4179]

  • Previously the ir181_test_5.5.1, ir181_test_5.5.2, ir181_test_5.5.3, and ir181_test_5.5.4 tests were specifying an invalid type value of integer when issuing SetParameterValues RPCs for certain parameters. These tests have been updated to specify the correct type syntax of int for the impacted parameters. [LH #4179]

  • The ir181_test_5.4.3 now sets the Protocol parameter for the port mapping instance that is created to UDP as defined in test test procedure. Previously this test set the Protocol parameter to TCP. [LH #4200]

  • The ir181_test_5.4.1 through ir181_test_5.4.9 tests (with the exception of ir181_test_5.4.2) now query the DUT for WAN interface instance that is in use and use that interface when creating port mappings. [LH #4201]

  • The ir181_test_5.3.1 test was updated to resolve a fatal error that occurred when the DUT did not return an expected instance of the “Device.Ethernet.Link.{i}.LowerLayers” parameter [LH #4203]

  • The ir181_test_5.2.6 test case now explicitly sets all required parameters even if the default value for each parameter is what is defined in the test procedure. [LH #4207]

  • The ir181_test_5.2.7 test case now explicitly sets the Interface parameter to an empty string as specified in the test procedure. [LH #4208]

  • Tests od128_test_35.1 through od128_test_35.6 have been updated and now require two different Deployment Unit images in order to run. Three additional testvars have been introudced in order to support this enhancement. All six of the following testvars must now be defined in order to run these tests:

    -  tr69DUInstallUUID
    -  tr69DUChangeExecEnvRef
    -  tr69DUInstallImage
    -  tr69DUInstallImageVersion
    -  tr69DUInstallImageAlternate
    -  tr69DUInstallImageAlternateVersion

    The ACS will first check the Device.SoftwareModules.DeploymentUnit.{i}.Version parameter to determine which version of the Deployment Unit is currently installed (if any), and then send a ChangeDUState RPC to instruct the DUT to download a different version. [LH #4184]

  • Tests od128_test_35.3 through od128_test_35.6 may no longer be run independently. Unlike most tests in CDRouter, these tests rely on the assumption that test od128_test_35.1 has already been run and that the Deployment Unit image is installed on the DUT. CDRouter will automatically abort these tests if the first test in the set has not already been run. [LH #4184]

CDRouter BBF.069

  • Many of the SSL Certificate files used with the BBF.069 tests have been updated with new expiration dates. Note that certificates shipped with earlier versions of CDRouter’s BBF.069 add-on may no longer be valid. [LH #4197]



About CDRouter

CDRouter is made by QA Cafe, a technology company based in Portsmouth, NH.

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