Knowledge Base >
Release Notes >
CDRouter 2.5 Release Notes
CDRouter 2.5 Release Notes
Welcome to CDRouter version 2.5!
What's new since version 2.4:
Multi-LAN support
-----------------
* CDRouter-Multiport now allows you to configure multiple LAN interfaces.
This allows you to physically connect multiple wired ethernet LAN
ports or wireless LAN ports to the router under test.
When multiple LAN interfaces are configured, CDRouter can alternate
between each LAN interface. This allows you to verify that every
physical port is operational and also verify both wired and wireless
interfaces at the same time.
CDRouter-Multiport also introduces a new test module named lan-mp.tcl
that verifies connectivity between LAN ports for unicast, broadcast,
and multicast traffic.
Each additional LAN interface is configured by configuring a
testvar_group entry for the new LAN interfaces. The new LAN interfaces
must be named lan2, lan3, lan4, etc. Up to 64 additional LAN
interfaces can be defined. Additional LAN interfaces can be either
wired ethernet or wireless. Please see the included local.conf file
for more examples.
Example:
#
# Example additional LAN interface
testvar_group lan2 {
# -- specify the physical interface
testvar lanInterface eth3
# -- configure a different MAC address
testvar lanMac 00:00:cc:cc:01:02
# -- mark the interface as ethernet
testvar lanType ethernet
# -- enable EAPOL for wireless with WPA-RADIUS
# testvar lanUseEAPOL yes
}
By default, CDRouter will change the main LAN interface after each
test. You can override this behavior by configuring the testvar
useSameLanInterface to yes.
Example:
testvar useSameLanInterface yes
** NOTE ON WIRELESS CARDS **
QA Cafe has run into some wireless cards that do not receive
multicast traffic using the NDIS windows drivers and DriverLoader.
This may lead to test failures that involve multicast packets.
Please contact support@qacafe.com for a list of wireless cards
that are known to work.
** Other Multi-LAN Caveats **
In release CDRouter-Multiport 2.5, if one LAN interface is placed
in an 802.1q VLAN, each additional LAN interface will also be placed
in the same VLAN. This release not not support unique VLANs per
interface.
New built-in capture file options
---------------------------------
* Starting in CDRouter 2.5, capture files can be automatically generated
for each physical or logical interface. When the -capture option is
used on the command-line, CDRouter will create a capture file that
contains all the traffic sent and received on the interface. By default,
each filename is named after the interface using a *.cap extention.
In the base version of CDRouter, a wan.cap and lan.cap file are created.
The capture file may be viewed using ethereal, tcpdump, or other
traffic display tools. This allows future test analysis after the test
has completed.
When the -capture option is used along with the -logdir option,
unique capture files will be generated for each test case that is
executed. The capture file name is based on the test case name or
number. Only the traffic sent and received during the test case
will be included in the capture file.
Examples:
1. Enable capture files on a test run
% buddy -module nat.tcl -capture
2. Create a separate capture file for each test case
% buddy -module nat.tcl -capture -logdir testresults
3. Create a separate capture based on the test case number
% buddy -module nat.tcl -capture -logdir testresults -number-format
Excluded DHCP addresses
-----------------------
* CDRouter now allows you to configure a DHCP pool with specific
IPv4 addresses excluded. The excluded addresses must match the
excluded addresses configured on the routers DHCP pool. To exclude
an address from the DHCP pool, configure the testvar
dhcpClientExclude with a list of IPv4 addresses that should be
excluded.
Examples:
To configure a DHCP pool of 192.168.1.1 - 192.168.1.100 that
excludes 192.168.1.50:
testvar dhcpClientStart 192.168.1.1
testvar dhcpClientEnd 192.168.1.100
testvar dhcpClientExclude 192.168.1.50
To configure a DHCP pool of 192.168.1.100 - 192.168.1.120 that
excludes 192.168.1.15 and 192.168.1.17:
testvar dhcpClientStart 192.168.1.100
testvar dhcpClientEnd 192.168.1.120
testvar dhcpClientExclude "192.168.1.15 192.168.1.17"
NOTE: When the exclude testvar contains more than one IPv4
address, it must be enclosed within quotes to designate a list.
NAT timer lag time
------------------
* For some NAT timer implementations, you may need to configure the
testvar natLagTime. This value represents the amount of seconds
CDRouter will wait before checking that a NAT timer has expired.
If an implementation only checks the NAT timers periodically, the
actual value of a specific NAT timer may vary. The testvar
natLagTime allows the NAT timer to be within a range.
For example, if the NAT timers are only checked once per minute, the
testvar natLagTime should be set to 60.
testvar natLagTime 60
Configuration of initial TCP/UDP port numbers
---------------------------------------------
* Normally, CDRouter will select a new starting TCP/UDP port for TCP/UDP
clients when the test run starts. This allows you to start and stop
CDRouter and use different client ports each time. However, it is
possible to force a specific starting port for test purposes. This can
be helpful when you need to force a port to the same value each test
run. The starting port number must be an integer from 1 to 65535.
For example:
testvar tcpUdpPortStart 10000
Configuration of GRE receive window size
----------------------------------------
* CDRouter 2.5 allows you to configure the size of the GRE receive
window size when running PPTP. The window size can be configured
using the testvar greReceiveWindow. The default value is 10 packets.
The window size must be greater than or equal to 1 and less or
equal to 65535.
testvar greReceiveWindow 10
New portTriggerDelay testvar
----------------------------
* A delay can be configured between each trigger port. This is sometimes
required for port trigger implementations using Smart ALGs. To configure
the delay, configure the testvar portTriggerDelay with the number of
milli-seconds.
Example:
testvar portTriggerDelay 5000
IPSEC pass through with IKE
---------------------------
* The IPSEC pass through tests can now be configured to always initiate
an IKE connection first before sending IPSEC packets. By default,
some of the IPSEC pass through tests only send IPSEC packets without
any IKE traffic. This will verify that IPSEC tunnels with manual
keys work with IPSEC pass through. However, some devices may only
permit IPSEC traffic if an IKE session has been started.
To configure the IPSEC pass through module to always use IKE, configure
the testvar alwaysUseIke to yes.
Example:
testvar alwaysUseIke yes
URL filtering tests using unique server IP address
--------------------------------------------------
* The url-filter.tcl test module has been updated in CDRouter 2.5 to
use unique IPv4 addresses for each HTTP and HTTPS server. Previously,
each URL resolved to the same IPv4 address.
URL filtering of HTTPS connections updated
------------------------------------------
* Testcase cdrouter_urlfilter_40 which verifies blocked HTTPS connections
has been updated to support routers that simply drop TCP packets to
blocked locations rather than terminate HTTPS on the router.
EAP Configuration Improvements
------------------------------
* If the AP/Router does not support sending an EAP-Failure after
receiving an EAP-Logoff, the testvar eapSendLogoffFailure can be
configured to no. Some wireless 802.1x authenticators may
immediately disassociate a wireless client when a EAP-Logoff
is received without sending an EAP-Failure message first.
Example:
testvar eapSendLogoffFailure no
* If the AP/Router does not support the EAPOL "held" state, the testvar
eapQuietPeriod should be set to 0. CDRouter will automatically
skip the HELD state tests when the eapQuietPeriod is 0.
Example:
testvar eapQuietPeriod 0
Using 'IGNORE' statements with multiple LAN and WAN interfaces
--------------------------------------------------------------
* Starting in CDRouter-Multiport 2.5, you can quickly comment out an
additional WAN or LAN interface by placing the keyword "IGNORE" in
front of the testvar_group entry in the configuration file. For
example, if the following interface is configured in your
configuration file:
testvar_group lan2 {
# -- specify the physical interface
testvar lanInterface eth3
# -- configure a different MAC address
testvar lanMac 00:00:cc:cc:01:02
# -- mark the interface as ethernet
testvar lanType ethernet
}
You can disable this interface from the configuration file by adding
IGNORE infront of the testvar_group:
IGNORE testvar_group lan2 {
# -- specify the physical interface
testvar lanInterface eth3
# -- configure a different MAC address
testvar lanMac 00:00:cc:cc:01:02
# -- mark the interface as ethernet
testvar lanType ethernet
}
In the example above, CDRouter will skip the lan2 interface.
Adding test specific pre-test and post-test commands
----------------------------------------------------
* CDRouter 2.5 introduces new configuration commands that allow
you to run your own Tcl code before and after each test case. This
can now be easily done on a individual test level. There are
several applications of this feature such as adding additional
verification steps and test troubleshooting.
The pre-test and post-test commands are configured by adding
the buddy::pre_test_command and buddy::post_test_command entries
to the configuration file. These statements must be configured
with the name of the test case along with a Tcl function or a
Tcl script that should be executed.
Examples:
buddy::pre_test_command cdrouter_nat_1 {
global lanStack
set target [ testvar remoteHostIp ]
set result [ ICMP_ping lanStack $target 5 ]
if { $result != 5 } {
buddy::FAIL "Ping to $target failed"
}
}
For more information on pre-test and post-test commands, please
contact support@qacafe.com.
Configure testvars for group interfaces on the commandline
----------------------------------------------------------
* The buddy test harness now allows configuration of testvars for WAN
or LAN groups using the -testvar_group option from the commandline.
The -testvar_group option allows you to override any existing configuration
file entry.
The format of the -testvar_group option is :x=y
Examples:
% buddy -config conf1.conf -testvar_group lan2:lanInterface=eth4
% buddy -testvar_group lan2:lanMac=00:00:03:0a:0b:0c