CDRouter 16.4
April 23, 2026
New Features
-
DHCPv6 Prefix Delegation only Clients: Added a new
dhcpv6-pd-smodule with new tests that verify that the DUT correctly assigns a valid IA_PD (non-zero prefix with a valid lifetime) to a DHCPv6 Prefix Delegation only LAN client requesting only an IA_PD (with no IA_NA) as described in RFC 9818. [sc46845]dhcpv6_pd_server_1dhcpv6_pd_server_2dhcpv6_pd_server_3
-
TR-471 Verification Tests: Added two new verification tests to new
tr471_functional_uspandtr471_functional_cwmpmodules that check the DUT’s data model for the required TR-471 objects, parameters, and commands. These tests allow users to confirm that a speed test configuration will succeed without having to run a complete speed test. [sc47100]tr471_functional_usp_1tr471_functional_cwmp_1
-
Support for
obudpstv7.X Servers: CDRouter now supports bothobudpstv8.X and v7.X servers for TR-471 Speed Tests. The newtr471SoftwareVersiontestvar selects the server version (default8.2.1), and anError_Timeouthint is logged when a version mismatch is detected between the DUT and the configured server. [sc46822] -
USP Service Authentication and Registration Tests: Added a new
usp_servicestest module with UDS MTP Registration and Authentication tests that exerciseDevice.TestUDS.Register()andDevice.TestUDS.Auth()to validate USP Service password-based authentication and Register ACLs over Unix Domain Sockets. A new USP Services section has been added to the USP User Guide. [sc46617] [sc46618] -
uspAgentID Auto-Discovery: The
uspAgentIDtestvar now accepts a value ofauto, which tells CDRouter to automatically discover the USP Endpoint ID and agent path from the DUT’s Connect record. This eliminates the need to configure a uniqueuspAgentIDanduspAgentPathfor each DUT. The discovered EID is written to the test log, and auto-discovered values are also used when configuring secondary USP controllers. TheuspWaitForConnectRecordtestvar controls whether CDRouter waits for a Connect Record during startup; set it tonofor legacy agents that do not send Connect Records. [sc43468] -
TR-181 Data Model 2.20: Updated CDRouter to support the TR-181 Data Model 2.20.1 (previously 2.19.1). All new 2.20 parameters and objects are incorporated in USP and CWMP test cases. [sc46608]
-
prplWare 4.2 Data Model: Added support for the prplWare 4.2 data model in prpl HL-API testing. [sc46868]
-
prplWare 4.2 TestList: prplWare 4.2 Certification testlists are now available. This testlist is a collection of test cases for prpl Foundation prplWare certification. This collection of tests are the recommended test cases to execute as documented in the HL-API and prplOS Network Functionality Test Plans. Additional conditional tests can be selected for certification based on the device’s support for advanced prplWare features. [sc47125]
-
prplOS LAN Device.Hosts Tests: Added nine new tests in the
prplos.tclmodule covering LANDevice.Hostsverification for prplWare 4.2. [sc46867]prplos.1.7.1prplos.1.7.2prplos.1.7.3prplos.1.7.4prplos.1.7.5prplos.1.7.6prplos.1.7.7prplos.1.7.8prplos.1.7.9
-
Speed Test Optional Arguments: Added new testvars that control the optional TR-471
IPLayerCapacitySpeed Test input arguments. The Speed Test now sends only the minimum required arguments (ServerList,Role) by default and exposes the advanced parameters via optional testvars. A warning is logged if the server configuration does not match the DUT. [sc46850]
Changelog
CDRouter
-
Updated the bundled Packet Viewer to 2026.04. [sc46620]
-
The DHCP Server and Client option testvars:
dhcpClientOptionCodedhcpClientOptionDatadhcpServerOptionCodedhcpServerOptionDatadocsisDhcpServerOptionCodedocsisDhcpServerOptionData
Now default to the Vendor Specific Information Option using QA Cafe’s IANA Enterprise Number, so uncommenting the testvar in the configuration yields a safe default. [sc46863]
-
Added a new per-LAN group testvar
mloDisablethat disables Wi-Fi MLO on MLO-capable client cards (such as the Intel BE200). This is useful when the DUT advertises MLO on all SSIDs or when testing requires forcing single-link (SLO) association. [sc40864] -
Addressed an issue in
cdrouter_dhcp_51where the WAN DHCP client was left in the wrong state during cleanup, which could cause false failures incdrouter_dhcp_60and other later DHCP tests. [sc46616] -
Addressed false failures in the
mcasttest module whenmulticastBypassPPPoEis enabled. The NAT address and PPPoE source checks are now skipped so that devices that forward multicast over both PPPoE and IPoE no longer fail intermittently. [sc45350] -
Added a small delay between mDNS queries in tests
mdns_22andmdns_24to resolve sporadic failures when the DUT has recently sent the record. [sc46823] -
Added a note to the
cdrouter_upnp_210andcdrouter_upnp_igd2_210test descriptions documenting that theupnpMinSubTimeouttestvar controls the UPnP subscription timeout used by the test. [sc46558] -
Log filtering on the
/api/v1/results/{id}/tests/{seq}/logendpoint is now applied before pagination, solimit/offsetcombined withfilterparameters returns the expected paginated filtered results. [sc45729] -
Addressed a panic in Packet Viewer’s
qapcap.GetStatsthat could cause CDRouter to lose packet analysis until the service was restarted. [sc47048] -
Updated the wireless libraries and improved reliability of Wi-Fi 7 MLO client association. The
wifi_30association test now runs the full 100 attempts rather than exiting early, and additional diagnostic information has been added to the connection log for MLO clients. [sc46864] -
Addressed a fatal error when processing EAPOL key message 4 that occurred when multiple MLO clients on the same Band/SSID triggered a GTK/IGTK rekey. CDRouter now correctly handles MLO GTK/IGTK in EAPOL group key rekey. [sc46189]
-
Improved the “Ignoring EAPOL message, beacon/probe IE does not match key data” warning to include the specific mismatch, and promoted several EAPOL IE log messages from
MSG_DEBUGtoMSG_ERROR. [sc46015]
IPv6
-
The DHCPv6 Server and Client option testvars:
dhcpv6ClientOptionCodedhcpv6ClientOptionDatadhcpv6ServerOptionCodedhcpv6ServerOptionDatadocsisDhcpv6ClientOptionCodedocsisDhcpv6ClientOptionData
Now default to the Vendor Specific Information Option using QA Cafe’s IANA Enterprise Number, so uncommenting the testvar in the configuration yields a safe default. [sc46863]
-
Test
dhcpv6_56is now automatically skipped in DHCPv6 relay setups, where the Decline and Duplicate Address Detection portion of the test cannot run when CDRouter is off-link. [sc46729] -
Fixed a typo in the
icmpv6_21andicmpv6_22test descriptions. [sc46696] -
Added a small delay between mDNS queries in test
ipv6_mdns_22to resolve sporadic failures when the DUT has recently sent the record. [sc46823]
Performance
- Updated bundled iPerf from 3.19.1 to 3.20, which picks up the upstream fix
for an iperf3 segfault when
-Jis used without a JSON output file. Note the iperfautomode for packet length is no longer supported by the upstream release. [sc46602] [sc35659]
prpl Certification
- Updated the prplOS Test Plan reference from revision 1.2 to 1.3. [sc47125]
- Updated
prplos.1.6.19to transmit an IPv6 Echo Request of size 1500 so that Host-1 replies with an Echo Reply of size 1500, and the test now verifies the ICMPv6 Packet Too Big message on the WAN interface as required by RFC 4443. [sc47103] - Updated
prplos.1.3.19to send the DHCPv6 Vendor Specific Information option as thesentOption. The enterprise number used inprplos.1.3.10has also been updated to QA Cafe’s IANA number. [sc47121] - Updated the DHCP Option Tag in
prplos.1.2.30from0104to04. [sc47104] - Addressed a fatal error in
prplos.1.3.10when the DHCPv6 Vendor-Specific Information value check failed. [sc47149] - Updated
prplos.1.2.24to release LAN clients at the start of the test so that the test’s chosen DHCP pool no longer overlaps with the addresses the LAN clients received during setup. [sc46472] - Added a missing fail message in
dhcpv6_pd_20so that the test reports a proper FAIL when the DUT has no IA_PD binding at the start of the test. [sc47133] - Improved the log message in the
prpl_hl-apiwritable-parameter tests when required objects are missing from the profile. Previously the test reported a misleading “Could not determine writeable parameters” message. [sc46878]
Security
- Updated the ET Open ruleset in the CDRouter Security expansion to 11172. [sc46631]
Speed Test
- Addressed a fatal error in the CWMP TR-471 tests. [sc46839]
- Addressed an issue with TR-471 speed tests reporting a false failure due to 0.01 Mbps floating-point rounding between the DUT-reported and server-recorded rates. A log message typo has also been corrected. [sc46993]
TR-069
- Addressed an issue in
tr69_131introduced in 16.3 where the test did not correctly wait for theTransferCompleteRPC after a firmware Download. [sc46932] - Addressed an issue in
tr69_400where the expected number of entries in theDevice.IP.Diagnostics.TraceRoute.RouteHopstable was incorrectly adjusted when the DUT was in bridge mode. [sc46122] - Addressed a fatal error in
tr69_annex_n_37. [sc47117] - Updated
tr69_dns_sd_1to send aGetParameterNamesRPC withNextLevel=0so that theService.{i}.objects underDevice.DNS.SD.are returned. [sc40081] - Updated
tp181_test_5.6.15to include Wi-Fi scan results in the log when the test detects that the DUT is still broadcasting an SSID after the SSID and AccessPoint objects have been deleted. [sc34370]
USP
- Added a config check error when
uspControllerIpModeis set toipv6-onlybutsupportsIPv6is set tono. [sc46532] - Updated
usp_conformance_2_18to accept a USPoperate_respwithcmd_failure{ error_code 7006 }(Permission Denied) when the DUT correctly rejects aReboot()after a newDevice.LocalAgent.ControllerTrust.Role.{i}.Permissiondisallows it. [sc46132] - Addressed duplicate MQTT message logging after a DUT reboots without sending a clean MQTT DISCONNECT. The MQTT server now cleans up stale subscriptions from previous sessions when a new CONNECT is received. [sc47028]