qacafe - ip test solutions
Knowledge Base > CDRouter 2.1 Release Notes

CDRouter 2.1 Release Notes

Release Notes
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: