|Release Type||Release Number||Release Date|
|Original||CDRouter 10.4 Build 2||August 16, 2017|
|Maintenance Release 1||CDRouter 10.4 Build 3||September 14, 2017|
|Maintenance Release 2||CDRouter 10.4 Build 4||October 3, 2017|
Note: CDRouter 10.4 includes many new features and configuration testvars. Old config files can be automatically upgraded to include all new CDRouter 10.4 testvars using the config upgrade utility.
CDRouter 10.4 Build 2 August 16, 2017
New Features and Enhancements
Support for layer 3 GRE tunnels on the WAN
A new gre test module, with 16 test cases, has also been added. This test module can be used to validate GRE tunnel behavior on the DUT. [LH #3260]
Username/password replaces API token on import page
In previous releases the API token of the remote system was required when importing results from another CDRouter system. With this release the username and password of the remote system can now also be used since it is usually easier to remember.
Username/password fields added to cdrouter command
When automatic login has been disabled, the
cdroutercommand line tool requires the
-tokenargument be provided for authentication. Two new arguments have now been added that can be used in place of
-password. These can be more convenient and easier to remember than the token field. In addition, two new environment variables are now recognized as well: CDROUTER_API_USERNAME and CDROUTER_API_PASSWORD. Any combination of environment variables or command line arguments can be used, but the command line arguments take priority. Also, @FILE values can be provided for
-passwordor CDROUTER_API_PASSWORD, in which case the actual password value will be read from FILE.
New location for CDRouter TCL test modules
Prior to CDRouter 10.4, the location on disk for all CDRouter TCL test module files was
/usr/share/doc/cdrouter. In order to improve CDRouter’s directory layout, the new location is
/usr/cdrouter/tests. For backward compatibility, CDRouter installs a symbolic link for
/usr/share/doc/cdrouterthat points to
BBF.069 add-on now bundled with CDRouter
Please see the BBF.069 section below for more information.
New IPv4 test cases for DNS bit 0x20 technique
Two new test cases, dns_420 and dns_tcp_420 have been added to verify the DUTs functionality in regards to the DNS bit 0x20 technique, as specified in this IETF draft.
Support for ForceRenew Nonce Authentication
CDRouter now supports DHCP ForeceRenew Nonce Authentication, as defined in RFC 6704. DHCP authentication can be enabled within CDRouter by setting the new testvar supportsDhcpAuth to a value of yes. In addition, three new test cases have been added to dhcp-c.tcl module to verify the DUT’s DHCP authentication functionality: cdrouter_dhcp_32, cdrouter_dhcp_33, and cdrouter_dhcp_34. [LH #3074]
Support for configuring the 802.11 mode that a LAN client uses to associate
CDRouter’s simulated LAN clients can now be configured to associate using a specific 802.11 mode. Previously the LAN clients only supported ‘auto’ where they would choose the ‘best’ mode offered by the AP/SSID with which they were attempting to associate. The new testvar lan80211Phy can be used to select the 802.11 mode for the LAN client. [LH #2786]
New test case for verifying DHCP server vendor defined options
The new cdrouter_dhcp_server_30 test case has been added to the dhcp-s test module. This test is designed to verify that the DUT’s DHCP server includes specific vendor defined options as defined by the new testvars lanDhcpClientOptionCode and lanDhcpClientOptionData. [LH #3253]
New test case for verifying DHCP server options for DNS servers
The new cdrouter_dhcp_server_630 test case has been added to the dhcp-s test module. This test is designed to verify that the DUT’s DHCP server returns the correct DNS servers. [LH #3253]
New IPv6 test cases for DNS bit 0x20 technique
Two new test cases, ipv6_dns_420 and ipv6_dns_tcp_420 have been added to verify the DUTs functionality in regards to the DNS bit 0x20 technique, as specified in this IETF draft.
Support for authenticated DHCPv6 Reconfigure with Rebind
CDRouter now supports Authenticated DHCPv6 Reconfigure with Rebind as defined in RFC 6644 using the authentication mechanism described in Section 21.5 of RFC 3315. In addition, five new test cases have been added to the dhcpv6-c test module to verify the DUT’s DHCPv6 authentication functionality: dhcpv6_32, dhcpv6_33, dhcpv6_34, dhcpv6_35, and dhcpv6_36. [LH #3075]
New CWMP Bootstrap Scenario available at start of test run
It is now possible to have CDRouter’s ACS execute a custom set of CWMP methods against the DUT at the beginning of each test run. The new testvar, cwmpScenarioBootstrap, can be configured to specify the name of a “scenario” script file containing the commands you want to run. The script file may contain any of the scenario commands available with CDRouter’s CWMP Scenario Testing feature. This can be used to make additional configuration changes on the DUT before running any tests. The ACS will run the commands from the CWMP Scenario file after the DUT has initialized and contacted the ACS for the first time. The CDRouter TR-069 User Guide contains more information on how to create a CWMP Scenario script file.
CDRouter BBF.069 add-on included in main CDRouter installation
In CDRouter 10.4, the CDRouter BBF.069 add-on has been fully integrated with the rest of the CDRouter installation and is no longer distributed as a separate package. Customers who have purchased BBF.069 will now receive updates automatically when upgrading to new versions of CDRouter.
As part of this integration, it is no longer necessary to copy additional testvars into your config file in order to run BBF.069 tests. The latest BBF.069 tests have been updated to use testvars that already exist within CDRouter wherever possible, and a small set of new testvars prefixed with
'bbf069'are automatically included in CDRouter’s configuration file. Please see the CDRouter BBF.069 User Guide for details on these changes and to upgrade your existing config files.
New graph scaling feature
The bandwidth performance graph within CDRouter’s web UI now supports setting the upper Y-axis value range from the default of 1,000Mb/sec to either 100 or 10,000.
New application latency tests
Added three new test cases to each of the IPv4 and IPv6 modules to help measure the average latency of a LAN client making DNS queries, performing DHCP renews, and restarting DCHP entirely. These six new test cases perf_10, perf_11, perf_12, ipv6_perf_10, ipv6_perf_11, and ipv6_perf_12.
New performance requirements
Beginning with CDRouter 10.4, a 3.10.103 or higher kernel is required to run any of the performance tests. If performance tests are being skipped due to an older kernel, please refer to this Knowledge Base article for instructions on updating this.
Support for CM provisioning over IPv6
CDRouter DOCSIS now supports provisioning of the CM over IPv6. To enable IPv6 provisioning, the new testvar docsisIpProvisioningMode must be set to a value of ipv6-only. For more information, please see the CDRouter DOCSIS user guide.
New IPv6 specific CM test modules
Four new test modules have been added to the CDRouter DOCSIS add-on: dhcpv6-docsis, firewall-docsis-v6, nmap-docsis-v6, and snmp- docsis-v6. These modules are designed to verify the IPv6 functionality of a CM when operating in an IPv6 enabled provisioning mode.
New Test Modules and Test Cases
New GRE test module
MODULE: gre.tcl DESCRIPTION: IPv4 over GRE related test cases NEW TEST CASES: 16
New DNS test cases for bit 0x20 technique
TEST: dns_420 MODULE: dns.tcl DESCRIPTION: Verify DNS proxy handles use of bit 0x20 in DNS labels
TEST: dns_tcp_420 MODULE: dns-tcp.tcl DESCRIPTION: Verify DNS proxy handles use of bit 0x20 in DNS labels
New DHCP server test case to verify vendor defined options
TEST: cdrouter_dhcp_server_30 MODULE: dhcp-s.tcl DESCRIPTION: DHCP server includes vendor defined options
New DHCP server test case to verify returned DNS servers
TEST: cdrouter_dhcp_server_630 MODULE: dhcp-s.tcl DESCRIPTION: DHCP server returns correct DNS server(s)
New tests for DHCP Forcerenew Nonce Authentation
TEST: cdrouter_dhcp_32 MODULE: dhcp-c.tcl DESCRIPTION: client supports DHCP Forcerenew Nonce Authentication
TEST: cdrouter_dhcp_33 MODULE: dhcp-c.tcl DESCRIPTION: client ignores DHCPFORCERENEW without Authentication option
TEST: cdrouter_dhcp_34 MODULE: dhcp-c.tcl DESCRIPTION: client ignores DHCPFORCERENEW authenticated with incorrect nonce
New IPv6 DNS test cases for bit 0x20 technique
TEST: ipv6_dns_420 MODULE: dns-v6.tcl DESCRIPTION: Verify DNS proxy handles use of bit 0x20 in DNS labels
TEST: ipv6_dns_tcp_420 MODULE: dns-tcp-v6.tcl DESCRIPTION: Verify DNS proxy handles use of bit 0x20 in DNS labels
New test cases for Authenticated DHCPv6 Reconfigure with Rebind
TEST: dhcpv6_32 MODULE: dhcpv6-c.tcl DESCRIPTION: Verify client supports DHCPv6 Reconfigure Key Authentication
TEST: dhcpv6_33 MODULE: dhcpv6-c.tcl DESCRIPTION: Verify client ignores DHCPv6 Reconfigure without Authentication option
TEST: dhcpv6_34 MODULE: dhcpv6-c.tcl DESCRIPTION: Verify client ignores DHCPv6 Reconfigure with incorrect Reconfigure Key
TEST: dhcpv6_35 MODULE: dhcpv6-c.tcl DESCRIPTION: Verify client supports DHCPv6 Reconfigure with Rebind request
TEST: dhcpv6_36 MODULE: dhcpv6-c.tcl DESCRIPTION: Verify client ignores DHCPv6 Reconfigure requesting a Solicit
New IPv4 DHCP Renew latency, DHCP Restart latency, and DNS query latency tests
TEST: perf_10 MODULE: perf.tcl DESCRIPTION: IPv4 DHCP renew latency test
TEST: perf_11 MODULE: perf.tcl DESCRIPTION: IPv4 DHCP restart latency test
TEST: perf_12 MODULE: perf.tcl DESCRIPTION: IPv4 DNS query latency test
New IPv6 DHCP Renew latency, DHCP Restart latency, and DNS query latency tests
TEST: ipv6_perf_10 MODULE: perf-v6.tcl DESCRIPTION: IPv6 DHCP renew latency test
TEST: ipv6_perf_11 MODULE: perf-v6.tcl DESCRIPTION: IPv6 DHCP restart latency test
TEST: ipv6_perf_12 MODULE: perf-v6.tcl DESCRIPTION: IPv6 DNS query latency test
New DHCPv6 client module for CMs
MODULE: dhcpv6-docsis.tcl DESCRIPTION: DOCSIS CM DHCPv6 client related tests NEW TEST CASES: 22
New IPv6 firewall module for CMs
MODULE: firewall-docsis-v6.tcl DESCRIPTION: IPv6 firewall tests including port scans against the CM NEW TEST CASES: 6
New IPv6 SNMP module for CMs
MODULE: nmap-docsis-v6.tcl DESCRIPTION: Nmap based IPv6 portscan tests from the WAN to the CM NEW TEST CASES: 16
New IPv6 Nmap module for CMs
MODULE: snmp-docsis-v6.tcl DESCRIPTION: IPv6 SNMP related test cases against DOCSIS CM on WAN NEW TEST CASES: 18
Bug Fixes and Notes
Resolved an issue with CDRouter’s web UI where in some cases, trying to create a new configuration file or edit an existing configuration file would cause the browser to repeatedly reload the configuration page. [LH #3276]
CDRouter will now print a warning message in the log if any configured test interface unexpectedly changes state or is disconnected during a test run. [LH #2854]
CDRouter will now skip test modules upnp-v6 and rip-wan along with test cases tr69-50 through tr69-64 when the testvar wanMode is set to dslite. [LH #3297]
The test case rfc4787_req_8 will now run if the testvar natMode is set to port-restricted. Previously this test case would be skipped in this configuration. [LH #3313]
Resolved an issue with test case dslite_20 where CDRouter improperly fragmented its outgoing IPv4 packet on the LAN side before sending it to the DUT. CDRouter now sends the packet on the LAN without fragmentation. [LH #3296]
Resolved an issue with the cdrouter_mptcp_2 test case that would result in an inconsistent multipath TCP option length that would lead to a test failure. This issue would only appear if the test was repeated multiple times during a single test run. [LH #3301]
Resolved an issue where an additional LAN client that was created during a test was not properly deleted at the end of the test. This was causing the next test that required an additional LAN client to generate a fatal error. [LH #3279]
The multicastToUnicast testvar has been obsoleted and is no longer used by CDRouter. In prior releases, CDRouter’s wireless interfaces would drop IPv6 multicast packets containing a unicast MAC address unless this testvar was explicitly set to “yes”. Per RFC 6085, CDRouter no longer drops multicast packets containing a unicast MAC address that matches CDRouter’s receiving interface. Setting this testvar no longer has any effect.
The default value of the pppoeServiceName has been changed from ‘qacafe’ to ‘any’ to improve out-of-the-box compatibility with more CPE devices. Any PPPoE based configuration files that relied on the previous default value must now be updated to explicitly set the pppoeServiceName testvar to a value of ‘qacafe’. [LH #3273]
The ipv6_upnp_35, ipv6_upnp_36, ipv6_upnp_40, ipv6_upnp_41, ipv6_upnp_45, ipv6_upnp_50, ipv6_upnp_100, ipv6_upnp_igd2_35, ipv6_upnp_igd2_36, ipv6_upnp_igd2_40, ipv6_upnp_igd2_41, ipv6_upnp_igd2_45, ipv6_upnp_igd2_50 and ipv6_upnp_igd2_100 will now be skipped if the DUT is not running IPv4 on the WAN. Although these tests are part of the CDRouter IPv6 add-on, they only use IPv6 to send UPnP commands to the DUT. The DUT still needs to have IPv4 enabled since many of the tests are creating IPv4 port-mappings.
The ipv6_upnp_12 test was unable to send a packet from the remoteHost due to no valid source address if a link local address was used in the XML attributes. This has been resolved. [LH #3294]
Resolved an issue with the ipv6_firewall_506 test case in which the packet with source address of :: (all zeros) was not actually being transmitted. [LH #3290]
The ipv6_upnp_20 test was modified to properly handle square brackets when parsing a relative IPv6 URL in a UPnP message. [LH #3283]
CDRouter’s IPv6 stacks will now automatically join the solicited-node multicast group for all configured unicast source addresses. This will happen dynamically as stacks are created during a test run.
In addition, CDRouter’s WAN stack will join the link-local and site-local scope all routers multicast groups, ff02::2 and ff05::2, respectively, if configured to act as a router. By default all multicast joins will be performed using MLDv2. CDRouter can be configured to use MLDv1 instead by setting the testvar mldVersion to a value of “1”.
Prior to this release CDRouter’s stacks were not joining these multicast groups. [LH #3293]
The default value of the mldVersion testvar has been changed from 1 to 2.
Added a new testvar ipv6WanAssignPrefixLen which specifies the prefix length learned by the relayed DHCPv6 network.
Updated some test cases to honor the boolean type value defined with the testvar tr69ForceBoolean when performing sets.
Resolved an issue where CDRouter was not displaying the contents of the HTTP 404 message in the log file when the DUT makes a bad GET request to the TR-069 file server.
Resolved an issue where CDRouter’s DHCP server would not disable the ACS URL Discovery feature when the acsDiscoveryUrl testvar was set to “none” in some configurations. [LH #3280]
Previously there was a bug where all test cases within the BBF.069 add-on would run if supportsCWMP testvar was set to
no. In this build all the test cases in BBF.069 add-on will be skipped if supportsCWMP testvar is set to
Resolved an issue were certain automated tests were being labeled as “Manual”, and were being skipped during normal test runs. The bbf069-requires-manual-testing label was updated so that only tests requiring manual intervention will be skipped during normal test runs. [LH #3295]
Resolved an issue where CDRouter’s configuration constraint check did not properly check against the max allowed value for the testvars perfDownloadMaxLatency, perfUploadMaxLatency, and perfLantoLanMaxLatency in the Wireless subsection within the CDRouter Performance Add-On portion of the config file. [LH #3323]
CDRouter 10.4 Build 3 September 14, 2017
Bug Fixes and Notes
Resolved an issue with the import utility. When importing a test run that included a device, the package snapshot for that result would not reference the correct, imported device ID. [LH #3303]
Resolved an issue in CDRouter’s “export as csv” option on the Results page within the web UI. In previous versions the CSV file generated by CDRouter would include all results regardless of any filters applied. With this fix only the results that match the current filter or that are selected, will be included in the exported CSV file. [LH #3345]
Resolved an issue with the DHCP Server Identifier option (option 54) included in DHCPOFFER and DHCPACK messages transmitted by CDRouter’s DHCP server on the WAN. Starting with release 10.4 Build 2, CDRouter’s DHCP server would populate this DHCP option with a value of 255.255.255.255 instead of the actual DHCP server address. With this build the correct DHCP server address is now used. [LH #3364]
Resolved a potential fatal error in the dns_rfc5625_22 test case when DNS forwarding is not working as expected within the DUT. [LH #3346]
Resolved an issue with the ipv6_slacc_wan_11 test case in which CDRouter was incorrectly setting the S-bit in Neighbor Advertisements when responding to multicast Neighbor Solicitations from the DUT. This fix adheres to the requirement in Section 4.4 of RFC 4861 which states that the S-bit “MUST NOT be set in multicast advertisements or in unsolicited unicast advertisements.” [LH #3360]
Updated the ipv6_basic_13 and ipv6_basic_15 test cases to send the ICMPv6 ping in step 2 of the procedure to the all routers multicast group
ff02::2instead of the all nodes multicast group
ff02::1. This change ensures that the test is targeting the DUT specifically and that other nodes connected to the LAN will not influence the test. [LH #3343]
Resolved an issue with CDRouter’s WAN IPv6 stack routing table to handle multiple hop environments. [LH #3350]
- Resolved an issue when parsing the
DeviceSummaryparameter during start to determine which profile tests should be automatically skipped. In previous versions of CDRouter any profiles associated with service objects (ie VoiceService:1) that were included in the
DeviceSummaryparameter reported by the DUT would be incorrectly skipped by CDRouter. This issue only impacted configurations where the
DeviceSummaryparameter was present and used for determining which tests to skip. [LH #3349]
- The LAN to LAN UDP latency test cases, perf_lan_9 and ipv6_perf_lan_9, now produce CSV files which are used for graphing the latency. Previously these tests did not produce CSV files and as a result the graph could not be generated. [LH #3344]
CDRouter 10.4 Build 4 October 3, 2017
Bug Fixes and Notes
Resolved an issue with CDRouter’s import utility when trying to import a result that did not include a Device. This issue was introduced in the previous 10.4 Maintenance Release (MR1) and does not impact other versions of CDRouter.
Resolved an issue with CDRouter’s test package initialization (start.tcl) in a routed or relayed closed-loop setup when not providing a value for the testvar wanIspAssignGateway.
Updated CDRouter’s behavior when creating new DHCP enabled LAN clients. Prior to this release, when new LAN clients were created a gratuitous ARP would be sent to announce the new client’s MAC / IP information to the DUT. However, most modern devices are configured to ignore or drop gratuitous ARP messages. This could lead to ARP conflicts in certain test scenarios. As a result, CDRouter will now ARP for the gateway in addition to sending a gratuitous ARP whenever a new LAN DHCP client created. ARP-ing for the gateway should force the DUT to update its ARP cache with the correct, current information for the new LAN client. This change improves compatibility with some devices.
- Changed the default value for ipv6LanIp to be 3001:dddd::%eui64%, so that a default configuration for IPv6 will not cause a configuration check error.
The CWMP Scenario testing feature was updated to support the ability to use dynamic path instances in the value of a SetParameterValues request. This makes it possible to set the value of certain parameters to refer to another object instance that was created during the same test scenario. For example, after calling AddObject to dynamically create a new instance of WiFi.SSID., the new instance, “WiFi.SSID.%INSTANCE%”, may be specified as the value in a SPV request as the value of the Bridging.Bridge.1.Port.LowerLayers parameter. [LH #3392]
Resolved an issue when parsing certain URLs in the tr69_conn_req_4 test case that could result in a fatal error. [LH #3399]
- The tests in the BBF.069 Upload module are now skipped if the testvar tr69UploadRPC is set to a value of ‘no’.