Knowledge Base >
Release Notes >
CDRouter 4.2 Release Notes
CDRouter 4.2 Release Notes
Welcome to CDRouter version 4.2
CDRouter 4.2 introduces several new features to the CDRouter test suite and
related add-ons.
New Xbox Live Test Module
-------------------------
A new xbox.tcl module is available that contains tests similar to the
Xbox Live console. An application note is available that describes the
test cases included in the xbox.tcl module.
http://www.qacafe.com/notes/show/8
The final result of the Xbox NAT test is based on the expected classification
of NAT on the device under test. Xbox classifies the NAT behavior of
the device as either open, moderate, or strict. By default, CDRouter
will check that the device is classified as open, but you can configure
the test to accept either moderate or strict by configuring the
testvar xboxNatMinType.
For example,
testvar xboxNatMinType moderate
Set the NTP Date
----------------
CDRouter 4.1 introduced the ntpOffset testvar to adjust the NTP time
forward or backward based on the CDRouter host's local time. CDRouter 4.2
improves on this by adding a new testvar to set the date to a specific
starting time. The new testvar ntpStartDate allows you to always start
the NTP server at a specific time. This is very useful for dealing with
any expired certificates or certificate testing.
Example:
Set the time to March 1st, 2007, 11:00 UTC time:
testvar ntpStartDate "3/1/2007 11:00 AM UTC"
Additional STUN Test Case
-------------------------
The apps.tcl module includes an additional test case for an authenticated
STUN session.
TEST 155: Verify authenticated STUN session through the router
MODULE: apps.tcl
NAME: cdrouter_app_131
Additional DNS Proxy Test Case
------------------------------
The dns.tcl module includes an additional test case for verifying that
DNS recovers after a DNS server outage.
TEST 385: Verify DNS proxy recovers after DNS server outage
MODULE: dns.tcl
NAME: dns_100
New MSS Clamping Configuration
------------------------------
CDRouter now allows you to configure a different MSS clamping value
for the incoming TCP direction in cases where it may be different
than the outbound direction. If the inbound direction differs from the
outbound direction, the inbound direction can be adjusted using the
testvar mssClampingInValue. If not specified, the outbound and inbound
directions will check for the same value specified in the
testvar mssClampingValue.
Example with different values per direction:
testvar mssClampingValue 1452
testvar mssClampingInValue 1460
DNS Lookup Timeout
------------------
The default DNS lookup timeout is normally 5 seconds when a CDRouter client
attempts to resolve a hostname. In some cases, a device under test may be
slow to respond to DNS requests. The DNS lookup timeout can be adjusted
by configuring the testvar dnsLookupTimeout.
Example with 10 second DNS lookup timeout
testvar dnsLookupTimeout 10
Running external scripts
------------------------
CDRouter 4.2 has a new API interface for running external scripts
and programs. The new "SCRIPT_exec" proc can be used to launch an
external script while maintaining CDRouter's event loop. Using Tcl's
exec command directly may lead to CDRouter blocking and not processing
any incoming packets or events.
Examples:
# -- run a script and let the output show up in the log
SCRIPT_exec "/hom/tools/run.sh" my-log-prefix
# -- run a ping command and display the output afterwards
set output [ SCRIPT_exec "ping -c 10 [ testvar acsIp ]" ]
pktsrcLog $output
The SCRIPT_exec command may be used in testcases or testcase enter/exit
procs. For more examples of SCRIPT_exec, please visit
http://www.qacafe.com/kb/articles/show/248
Chrome Browser Support
----------------------
BuddyWeb now supports Google's new Chrome browser.
Please see http://www.google.com/chrome
Madwifi Wireless Driver Support
-------------------------------
CDRouter 4.2 adds experimental support for the madwifi driver as
an alternative to driverloader.
Please see http://www.qacafe.com/kb/articles/show/253
----------------------------------------------------------------------
CDRouter TR-069 Updates
----------------------------------------------------------------------
Updated XML Parser
------------------
CDRouter 4.2 now uses a faster XML parser by default. The new parser
helps improve the performance of the CDRouter ACS when a device supports
a large data model.
Please note that if you are tracking the timing of specific tests, the
new timing will be shorter. QA Cafe has experienced a reduction of 40
to 60 percent in the time it takes the ACS to parse the SOAP requests from the
CPE.
NOTE: It is still possible to configure CDRouter to use the older parser.
The older parser can be enabled by touching the following file:
# touch /usr/buddyweb/etc/use-pure-tcl-xml-parser
Buddyweb does not need to be enabled. To return to the new parser, delete
the file /usr/buddyweb/etc/use-pure-tcl-xml-parser.
# rm /usr/buddyweb/etc/use-pure-tcl-xml-parser
New TR-106 profile testing module
---------------------------------
CDRouter 4.2 adds support for the Broadband Forum's TR-106 "Data Model
Template for TR-069-Enabled Devices". Several new test cases for
testing the profiles defined by TR-106 have been included in the new
tr106_profiles.tcl module.
New TR-111 Part 2 module
------------------------
CDRouter 4.2 contains a new TR-111 Part 2 module containing specific tests
for TR-111 Part 2. The tr111_part2.tcl module can test an IGD with
TR-111 Part 2 or a LAN side device with TR-111 Part 2.
To enable TR-111 Part 2 testing, the testvar supportsTr111Part2 must
be configured to yes. During the first Inform from a device, CDRouter will
configure the STUN client and initial settings for TR-111 Part 2.
There are three additional testvars that can be used to control the
TR-111 Part 2 test setup:
testvar STUNMaximumKeepAlivePeriod 60
The STUNMaximumKeepAlivePeriod maps directly to the TR-111 Part 2 parameter
STUNMaximumKeepAlivePeriod. CDRouter will configure this value on the TR-069
client. The default is 60 seconds.
testvar STUNMinimumKeepAlivePeriod 60
The STUNMinimumKeepAlivePeriod maps directly to the TR-111 Part 2 parameter
STUNMinimumeepAlivePeriod. CDRouter will configure this value on the TR-069
client. The default is 60 seconds which matches the value of
STUNMaximumKeepAlivePeriod.
testvar STUNAuth no
By default, the CDRouter STUN server will not require authentication for
the STUN client. Authentication can be enabled by configuring the testvar
STUNAuth to yes. CDRouter automatically configures a STUN username and
STUN password when TR-111 Part 2 is enabled.
New PD-128 Test Case 4.1
------------------------
The pd128.tcl module has been updated to include an implementation of
PD-128 Test 4.1. This test case is only run when TR-111 Part 2 is
enabled.
TEST 405: PD-128 Test 4: STUN NAT Traversal Test
MODULE: pd128.tcl
NAME: pd128_test_4.1
New PD-128 Test Case 6.2
------------------------
The pd128.tcl module has been updated to include an implementation of
PD-128 Test 6.2. This test case is only run when TR-111 Part 2 is
enabled.
TEST 408: PD-128 Test 6 Part 2: UDP Connection Request
MODULE: pd128.tcl
NAME: pd128_test_6.2
Support for Upload RPC
----------------------
The tr69.tcl module has two new additional tests for the Upload RPC.
Support for the Upload RPC can be enabled or disabled by configuring
the testvar tr69UploadRPC.
By default, uploaded vendor configuration and log files are stored
in the /tmp directory. This location may be changed by configuring
the testvar tr69UploadPath.
There is a new test case for a configuration file upload and a log
file upload:
TEST 478: Verify vendor config file HTTP Upload with no ACS specified delay
MODULE: tr69.tcl
NAME: tr69_140
TEST 479: Verify vendor log file HTTP Upload with no ACS specified delay
MODULE: tr69.tcl
NAME: tr69_150
Improved Verification for GetParameterNames Walk Testing
--------------------------------------------------------
The GetParameterNames "walk" test capabilities for CWMP profiles
have been improved to catch problems with returned parameter lists
that are not correctly implementing the nextLevel = 'true'
functionality. CDRouter currently catches this type of problem
for general GetParameterNames tests, but this type of
validation is now implemented when walking through all of
the parameter names during CWMP profile testing as well.
New AddObject/DeleteObject CWMP Profile Testing
-----------------------------------------------
CDRouter's CWMP Profile testing has been updated in this release with
a new AddObject/DeleteObject test for all objects that are creatable.
Support for CWMP profiles is automatically detected by reading the
DeviceSummary parameter in the initial Inform from the device under test. If
the device does not support the DeviceSummary parameter, a list of supported
CWMP profiles may be configured statically in the CDRouter configuration
file.
The new CWMP profile support also allows the use of skipping verification
for specific parameters that may not be implemented.
CDRouter contains five generalized tests for each CWMP profile that is
supported. For a discussion on CWMP profile testing and configuration
options, please see the new chapter on "CWMP Profile Testing" in the
CDRouter TR-069 User Guide.
http://www.qacafe.com/static/pdf/cdrouter-tr69-user-guide.pdf
New ACS Download Server Certificate
-----------------------------------
In some configurations, CDRouter may need to create a second download
server running https. CDRouter now contains a default certificate for this
download server that is based on the same CA as the default ACS
certificate. You can configure your own certificate for the download
server using the following testvar:
testvar acsDownloadCertPath /usr/share/doc/cdrouter/acs-download.qacafe.com.pem
If your certificate requires an intermediate CA, you can also configure the
the intermediate CA certificate:
testvar acsDownloadCaCertPath /usr/share/doc/cdrouter/acs.qacafe.com-ca.pem
TR-069 Port Map Deletion and Disable Timeout
--------------------------------------------
CDRouter 4.2 now allows you to configure the amount of time to wait
for a port mapping to be deleted after a DeleteObject RPC has been issued
for the port mapping. The default value is current 15 seconds. This value
may be changed by configuring the testvar tr69PortMapDeletionDelay.
Example:
# Wait 120 seconds before checking that port map is deleted
testvar tr69PortMapDeletionDelay 120
CDRouter also allows you to configure a similar delay for port mappings
that are disabled instead of deleted. The testvar tr69PortMapDisableDelay
may be configured to adjust the delay after disabling a port mapping.
The default value is 15 seconds.
Example:
# Wait 120 seconds before checking that port map is disabled
testvar tr69PortMapDisableDelay 120