Testing Wifi Scalability with Wireless Station Virtualization

3 min read

Nearly every home device has Wifi capability, and with the emergence of the Internet of Things, that number is likely to increase exponentially. It will be more important than ever to ensure that Wifi routers and access points can handle the load and the applications that are likely to be accessed by all of these Wifi enabled devices.

CDRouter 9.2 introduced the ability to simulate many wireless stations from a single wlan interface. This allows testers to exercise their DUT’s ability to handle multiple wireless station clients without each having its own Wifi radio. This extremely powerful feature lets you test whether your DUT will stop accepting Wifi connections after a certain point, how your DUT’s handling of wireless connections compares to wired connections, and ensuring that it treats all of its wireless station clients equally.

Test Exercises

DHCP Scalability over Wifi

Using the scaling.tcl test module, you can test your DUT’s ability to assign its pool of DHCP addresses to clients looking to connect through the router. This has the added effect of testing how many Wifi clients are likely to connect - many DUTs either limit the maximum number of Wifi clients on purpose, or have an unknown limitation due to design limitations (especially smart-phones set up as wireless hotspots). An unexpected limit is a bug! You don’t want users trying to connect devices and finding they cannot when they expect to.

The scalability tests also work over IPv6 with the scaling-v6.tcl test module.


Mixed wired and wireless

Using this feature with CDRouter Multiport lets you test to make sure that your DUT handles hosts connected via both wired and wireless connections equally. This also means that you can run many of the tests that required more than one host on your wireless interface (wlan1) in addition to your wired test interfaces.



Application and QoS testing

If you have your DUT set up with QoS policies, testing multiple wireless clients will help you ensure that the device treats these QoS requirements equally for each wireless client. This also works well when mixing both wired and wireless hosts connecting to your DUT.



Example Configuration

Our support page gives you the basics of how to set up CDRouter to use a wireless LAN interface. Here’s an example configuration we use when using a mixed wired/wireless test setup:

Main interface (wired eth1):

testvar lanInterface eth1
testvar lanMode DHCP
testvar lanIp
testvar lanMask
testvar lanSecurity NONE
testvar dhcpClientStart
testvar dhcpClientEnd

Second interface (wireless wlan1):

testvar_group lan2 {
    testvar lanInterface wlan1
    testvar lanMode DHCP
    testvar lanIp
    testvar lanMask
    testvar lanSecurity WPA-PSK
    testvar dhcpClientStart
    testvar dhcpClientEnd
    testvar lanSSID qacafe
    testvar wpaMode auto
    testvar wpaCipher auto
    testvar wpaGroupCipher auto
    testvar wpaKey qacafe123
    testvar lanWirelessMaxClients 20

If the number of maximum wireless clients is known, you can specify the maximum number of simultaneous wireless clients supported by the DUT using the testvar lanWirelessMaxClients, creating up to 64 wireless clients. If this is set to a value of say 20, CDRouter will create 20 wireless clients during the scaling and scaling-v6 test modules, and will then max out the DHCP pool using wired ethernet clients.



Wireless is a fairly lossy environment. Running tests with multiple wireless clients may cause a lot of packet loss, which means you may see failures on tests that should normally pass. In these cases, we recommend using CDRouter’s test retry feature to iron out any statistical anomalies.

Lastly, as we said before, many devices cannot handle large numbers of wireless clients. For older devices, setting lanWirelessMaxClients to 10 is usually a good idea, then push that number up to see where it fails. Newer or higher grade enterprise devices can handle more, but it’s always helpful to find out!