
Welcome to CDRouter version 2.1!
What's new since version 2.0.2:
-------------------------------
New Dynamic DNS test module
---------------------------
* CDRouter now supports the Dynamic DNS protocol created by
Dynamic Network Services, Inc. (www.dyndns.org) The new dyndns.tcl
tests will verify that a client complies with the DynDNS.org
update syntax and specifications.
Several new testvars have been introduced in order to support the
new test module:
To enable the DynDns test module:
testvar supportsDynDns yes
testvar dynDnsServerIp 5.6.7.8
To match the client configuration
testvar dynDnsHostname test.qacafe.com
testvar dynDnsUsername qacafe
testvar dynDnsPassword qacafe123
testvar dynDnsAgent RAS/1.1
And optionally
testvar dynDnsSystem dyndns
testvar dynDnsMx mail.cdrouter.com
testvar dynDnsBackMx no
testvar dynDnsWildcard no
Timeouts and Delays are configurable with the dynDnsWait testvar
testvar dynDnsWait 30
Error conditions are also tested and can be setup with
testvar testDynDnsErrorCode yes
testvar dynDnsReturnCode badauth
Please refer to the extended documentation in local.conf included
with this release.
Hotspot login support
---------------------
* CDRouter now supports hotspot routers that require a user to login
before full access is granted to the WAN interface. The new hotspot
support allows a DHCP client to login into a web service using
HTTP or HTTPS. Each DHCP client has an associated user name and
password that can be configured or automatically assigned.
When the RADIUS server is enabled, CDRouter will also act as a
RADIUS server and handle authentication and accounting requests
from the router. The RADIUS server currently handles PAP style
authentication.
HTTP or HTTPS login can be enabled by defining a list of URLs
that should be accessed once the DHCP client on the LAN is active.
Normally, more than one URL is required to login. The first URL
triggers HTTP redirection and typically sets up a HTTP session
cookie. The next URL may send a HTTPS GET that includes a username
and password.
In scenarios where the login and logout process is more complex,
you may define HTTP login and logout Tcl procedures to handle the
login and logout. Example login and logout Tcl scripts are included
in the /usr/share/doc/cdrouter/helper-scripts directory. Please
consult the user guide as well for details on setting up HTTP
login.
To enable HTTP login using a simple URL list, a testvar for each
URL may be defined.
Login Example:
testvar browserLoginUrl1 http://www.yahoo.com/
testvar browserLoginUrl2 https://192.168.1.1/login?username=%USERNAME%&password=%PASSWORD%
The browserLoginUrl testvar entries may contain 3 different keywords
that are dynamically substituted before the URL is accessed.
%USERNAME% is translated to the client's user name
%PASSWORD% is translated to the client's password
%IPADDRESS% is translated to the clients IPv4 address
Logout Example:
testvar browserLogoutUrl1 http://192.168.1.1/logout?username=%USERNAME%
If a Tcl procedure is required to handle the HTTP login, it may be
defined using the browserLoginProc testvar.
Logout Example:
source /usr/share/doc/cdrouter/helper-scripts/hotspot-login.tcl
testvar browserLoginProc example_login
testvar browserLogoutProc example_logout
Client usernames and passwords default to client and admin
for each client where is the client number. For example, the
first DHCP client will have a username of "client1" with a password
of "admin1". You may also configure specific usernames and
passwords for each client using the following testvars.
testvar clientLoginName1 qacafe
testvar clientLoginPassword1 qacafe123
testvar clientLoginName2 fish
testvar clientLoginPassword2 secret123
For more information on hotspot configuration, please consult the
CDRouter User Guide.
New DHCP server address conflict test cases
-------------------------------------------
* A new test case has been added to the dhcp-s.tcl test module to
verify that the router attempts to avoid IP address conflicts when
assigning a new IP address. The new test case name is
cdrouter_dhcp_server_540.
New DHCP server WINS test case
------------------------------
* A new test case has been added to the dhcp-s.tcl test module for
learning the configured WINS servers from DHCP. Up to 2 WINS servers
may be configured that should match the configured WINS servers on
the router. CDRouter will verify that each DHCP client learns the
correct WINS server.
Example:
testvar winsServer1 3.3.3.4
testvar winsServer2 3.3.3.5
Configurable DHCP options and parameter requests
------------------------------------------------
* You can configure the CDRouter DHCP client to request extra DHCP options
in the DHCP Option Parameter list. The testvar dhcpExtraClientParams can
be used to specify extra parameters.
Example, to add DHCP option 71
testvar dhcpExtraClientParams "71"
Example, to add DHCP options 69 and 70"
testvar dhcpExtraClientParams "69 70"
* You can configure the CDRouter DHCP server to provide extra DHCP options
to the WAN DHCP client. Up to 255 additional DHCP options can be
configured. Each DHCP option is configured using 2 testvar entries for
the DHCP option code and raw hex data for the option. The DHCP option
data must be converted into the raw ascii hex format. See the user's
guide for more examples.
Example, to add DHCP option 69 and DHCP option 71
testvar dhcpServerOptionCode1 69
testvar dhcpServerOptionData1 04040404
testvar dhcpServerOptionCode2 71
testvar dhcpServerOptionData2 0404040504040406
New DNS test cases
------------------
* Several new DNS application tests have been added to the apps.tcl
test module. The new test cases verify that DNS requests can be sent
to the real DNS servers directly and that DNS queries sent to the
router's DNS proxy correctly handle fail-over between DNS servers.
The following test cases have been added:
TEST 101: Verify DNS queries to router are forwarded to real DNS server
MODULE: apps.tcl
NAME: cdrouter_app_20
TEST 102: Verify DNS queries sent to primary DNS server
MODULE: apps.tcl
NAME: cdrouter_app_21
TEST 103: Verify DNS queries sent to backup DNS server
MODULE: apps.tcl
NAME: cdrouter_app_22
TEST 104: Verify DNS relay on router fails over to backup DNS server
MODULE: apps.tcl
NAME: cdrouter_app_25
TEST 105: Verify DNS queries sent directly to a 3rd party DNS server
MODULE: apps.tcl
NAME: cdrouter_app_30
Configurable DNS servers
------------------------
* CDRouter now supports user-defined entries in DNS. Up to 100
hostname to IP address pairs may be configured. Each DNS entry
that is configured will be available in both the primary and
backup DNS servers.
Example:
testvar dnsHostname1 foo.qacafe.com
testvar dnsIp1 10.1.1.1
testvar dnsHostname2 test.qacafe.com
testvar dnsIp2 10.1.1.2
NAT UDP test cases
------------------
* The NAT UDP test cases in the nat.tcl module have been modified to
allow configuration of the primary UDP port that is tested. Previously,
these tests used DNS as the UDP application. Now, the application port
number may be configured using the defaultUdpEchoPort testvar. The
default UDP application port is 2048.
testvar defaultUdpEchoPort 2048
Configurable RADIUS server attributes
-------------------------------------
* This release of CDRouter allows the user to configure additional
RADIUS authentication server attributes that should be returned to
any RADIUS client. These attributes will be returned for both EAP
session and Hotspot-Login sessions. Up to 255 additional RADIUS
attributes may be defined. Each RADIUS attribute is configured
using 2 testvar entries for the RADIUS attribute type and raw
hex data for the attribute. The RADIUS attribute data must be
converted into the raw ascii hex format. See the user's guide for
more examples.
Example, to add RADIUS atrribute 200 and RADIUS attribute 201
testvar radiusServerAttrType1 200
testvar radiusServerAttrData1 04040404
testvar radiusServerAttrType2 201
testvar radiusServerAttrData2 0404040504040406
PPTP with DHCP client on WAN interface
--------------------------------------
* CDrouter now supports PPTP clients that use DHCP to learn their
initial IPv4 address. To enable a DHCP server on the WAN interface
when running PPTP, use the testvar pptpUseDHCP yes.
Example:
testvar pptpUseDHCP yes
NOTE: Enabling the DHCP server in PPTP wanMode does not include
the DHCP WAN side test cases such as dhcp-c.tcl and renum-dhcp.tcl.
New HTTPS session test case
---------------------------
* A new test case has been added to the apps.tcl module to verify a
single HTTPS session through the router. The new test case name
is cdrouter_app_110.
New ICMP test cases
-------------------
* Additional test cases have been added to the icmp.tcl test module to
verify ICMP echo requests to both the routers LAN and WAN IPv4
address from a LAN DHCP client.
V.35 physical interface support
-------------------------------
* CDRouter can now use a Sangoma Serial interface card (S5141). This
allows CDRouter to have a direct V.35 connection to CSU/DSU. The
testvar configuration for V.35 is the same as the T1 configuration.
You may select either PPP/T1 or static as the WAN mode. The
encapsulation type may be either PPP or FrameRelay.
Also see support note:
http://www.qacafe.com/help/question.php?qstId=50
New buddy -testvar command-line option
--------------------------------------
* The -testvar commandline option can now be used to specify a testvar
setting on the commandline. The value will overwrite any value in the
configuration file. Following the -testvar option, the testvar variable
must be specified, followed by an '=' character and then the actual
contents of the testvar. For example,
# buddy -config mysetup.conf -testvar wanMode=PPPoE
# buddy -config mysetup.conf -testvar wanMode=DHCP
New buddy -max-fail command-line option
---------------------------------------
* The -max-fail commandline option can now be used to exit the
test run when "max-fail" failures occur.
Example. Run the entire test suite, but stop if 5 failures occur.
# buddy -max-fail 5
This option can be combined with any of the repeat options
as well.
Example: Repeat test cdrouter_nat_1 until it fails 5 times
# buddy -max-fail 5 -repeat -execte cdrouter_nat_1
Control-C support during test runs
----------------------------------
* Control-C can now be entered on the keyboard during a test run without
loosing the final test summary. When a control-C is entered during the
test run, the current test is stopped and test summary is displayed.
Users may also send a SIGINT signal to the running buddy process
to stop a test run without access to the test run stdin.
Example:
[root@oakbank cdrouter]# ps -auwx | grep buddy
root 8612 18.6 2.1 14248 11200 pts/6 S 23:03 0:56 tclsh /usr/bin/buddy -config l.conf -module nat.tcl -repeat -trace -pt
root 8677 0.0 0.1 3568 624 pts/7 S 23:08 0:00 grep buddy
[root@oakbank cdrouter]# kill -INT 8612
When the test run is stopped by a Control-C or SIGINT, the following
log message will appear:
*** Test run stopped by Control-C on Mon May 24 23:08:34 EDT 2004
NOTE: If you are using "tee" to capture the test run output, you
should use the "-i" option to allow Control-C to operate. Otherwise,
buddy will not receive the control-C and will just terminate without
a test summary.
Example:
# buddy -config lab.conf -pt -trace -repeat | tee -i log.txt
Support for Tcl 8.4
-------------------
* This release of CDRouter now supports Tcl 8.4. QA Cafe recommends using
the version of Tcl that is bundled with your Linux distribution.
SuSE support
------------
* CDRouter now supports SuSE using the rpm installation. To install
CDRouter on SuSE 9.0 or greater, please use the redhat9 rpm
packages.
Test Summary Fixes
------------------
* The mcast.tcl test module now uses the testvar multicastCacheTimeout
for all test cases that send an IGMP leave. When the router is
running as an IGMP proxy, CDRouter will not expect an IGMP leave
on the LAN to generate an IGMP leave on the WAN until the
multicastCacheTimeout has expired. This allows you to reconfigure
the IGMP leave timeout and IGMP robusness factor for your
implemention.
* Changes have been made to "buddy" to support test summaries when
tests are repeated multiple times using one of the -repeat options
or when specified multiple times on the command line. When a test
is repeated multiple times, the test summary result is "FAIL" if
the test case failed during any of its runs. Previously, the last
test result was reported in the test result summary.
What's new since version 2.0.1:
-------------------------------
* Release 2.0.2 was released to correct a problem determining the system
identifier on some Linux systems. If you have an existing license file
on your system, CDRouter will continue to use the original system id
used to create the license. If you deleted your license file that was
created before release 2.0.2, you should use your original system id
when you download a new license file. You can find out your original
system identifier using the following command:
# buddy -show-system-id-old
Note: If you have an existing license file, you do not need to obtain
a new license file when you upgrade to a new release.
If you are installing for the first time, this issue does not apply.
Please contact support@qacafe.com for help with any license issues.
What's new since version 2.0:
-----------------------------
802.11g/802.11a Support
-----------------------
* Starting in CDRouter release 2.0.1, 802.11g and 802.11a network cards
are now supported using the DriverLoader software from Linuxant. In order
to use an 802.11g or 802.11a card, you must select a supported card that
works with DriverLoader.
The DriverLoader software enables your Linux system to use the
Windows based NDIS driver under Linux. Many 802.11g and 802.11a cards
are supported. You may purchase the DriverLoader software directly from
Linuxant.
http://www.linuxant.com/
NOTE: Only PCI and Cardbus cards are supported by the DriverLoader
software. QA Cafe recommends using PCI based cards to enable 802.11g
testing with CDRouter. Cardbus test setups may work, but they are
currently not supported by QA Cafe since there may be issues with PCMCIA
and Cardbus with various laptop configurations.
* Please contact support@qacafe.com before selecting an 802.11g card
for CDRouter testing.
RTSP ALG support
---------------------------
* RTSP is a control protocol for initiating and directing delivery of
streaming multimedia from media servers. When used with a UDP transport,
RTSP requires ALG support to modify the setup of the specific media
channels.
CDRouter now supports testing the RTSP ALG functionality in a router.
These new RTSP ALG test cases are part of the app.tcl test module.
To enable RTSP testing, the testvar supportsRtspAlg must be set to
yes in your configuration file.
Example:
testvar supportsRtspAlg yes
You may also configure the amount of time between the RTSP TEARDOWN and
the verification of the port mappings using the testvar rtspTeardownDelay.
The default value for rtspTeardownDelay is 5 seconds.
Example:
testvar rtspTeardownDelay 5
DHCP Infinite Lease
------------------
* It is now possible to configure the dhcpLeaseTime to 'infinite'. The
CDRouter DHCP server will send an inifinite DHCP lease to the WAN
client when running in DHCP mode. If an inifinite DHCP lease is used,
all tests that require the DHCP client to renew its lease will be
skipped. The maximum dhcpLeaseTime that CDRouter can support is
4294967 seconds..
Example:
testvar dhcpLeaseTime infinite
TCP MSS Auto Configuration
--------------------------
* The testvar mssClampingValue can now be configured to 'default'. When
configured with this value, CDRouter will attempt to compute the
expected TCP MSS Clamping value based on the value of the LAN MTU.
The LAN MTU can also be configured to 'default'. In this case,
CDRouter sets the LAN MTU based on the type of WAN protocol. For
example, if both the lanMtu and mssClampingValue are set to 'default',
CDRouter will set the expect TCP MMS size to 1452. (Default LAN
MTU = 1492 bytes, subtract 20 bytes for IP header, subtract 20
bytes for TCP header)
Memory Utilization Improvements
-------------------------------
* The amount of memory CDRouter consumes in long duration test runs
has been improved.
Installation:
-------------
The following distribution contains binary packages for Debian and
Red Hat Linux. Source packages are also included. Before upgrading,
please read the Upgrades chapter from the user guide.
Red Hat Users:
The Red Hat rpm packages for Red Hat versions up to Red Hat 8.0 are
located in the "redhat" directory. If you are running Red Hat 9,
you should use the rpm packages in the "redhat9" directory.
Install each Red Hat package using rpm:
# rpm -ivh *.rpm
Or if you are upgrading from a previous version of cdrouter or the
demo version, we recommend removing the older version first.
(Delete full version)
# rpm -e pktsrc buddy cdrouter
# rpm -ivh *.rpm
(Delete demo version)
# rpm -e pktsrc buddy cdrouterdemo
# rpm -ivh *.rpm
(Now install the new rpm packages)
# rpm -Uivh *.rpm
Debian Users:
The Debian packages are located in the "debian" directory.
Install each debian package using dpkg:
# dpkg -i *.deb
Related articles that may also be helpful: