KMAX Release Notes

Version 1.4

New Features

  1. KMAX-V is released. KMAX-V is for use in a virtual machine on VMware hypervisors, particularly ESXi.

    Typically a KMAX-V virtual machine is connected to three or more virtual network interfaces, The first is for management and control; the second subsequent interfaces are the data bearing interfaces. These latter interfaces are typically attached to physical interfaces of VLANs.

    This makes it convenient to locate KMAX-V in a company or lab data center and use VLANs to bring client packets to and from the KMAX-V.

    KMAX-V is distributed as a .OVA file that may be directly imported by VMware tools to create a new virtual machine. KMAX-V uses a new floating license system. This requires that the customer establish a lightweight license server (provided by IWL) on a convenient Linux virtual or physical platform. This is usually a very easy task – often less than five minutes of effort. Once running the customer may have multiple instances of KMAX-V, but the number which may be simultaneously running is controlled by the number of license “seats”.

  2. KMAX was subjected to a battery of measurements for accuracy of delay, packet drop, and rate limitation. Tools from Spirent, Ixia, and IWL were used to make measurements and generate statistics. A report is being prepared describing KMAX accuracy and stability.


  1. Additional examples have been provided to demonstrate some common use cases for the kmaxw REST and kmaxd JSON APIs.

  2. A 32-band template has been added (an additional license key is required to activate this.)

  3. Startup time has been reduced.

Bug Fixes

  1. Fixed several bugs in the error handling for the REST API for classifier nodes

  2. Various bug fixes and minor code streamlining.

Version 1.3


  1. Updated the radio/wireless handoff scenario so that every band is active (but with the same impairment values.)

  2. Added new scenarios that are spin-offs of the more general App to Cloud emulation scenario:
    • App to Cloud Static Emulation (Load and Go).
    • App to Cloud Periodic emulation (Load and Go).
    • App to Cloud 4G 3G Handoff (Load and Go).
    • App to Cloud 4G WiFi Handoff (Load and Go).

Bug Fixes

  1. The 6-band template was not applying any drop, duplicate, or rate limit impairments on any of the flows (including the default flow) because it incorrectly linked the Classifier nodes to the delay node, thus bypassing the affected nodes. The template has been repaired. Any scenarios users saved that used the old template should be discarded – you will need to manually copy the impairment settings from the old templates to one made with the corrected one in the library.

  2. The GUI was only allowing waveform time steps down to 0.1 seconds but it should have been allowing down to 0.01 seconds.

  3. The rate limiter was assuming an incorrect overhead bit count for Ethernet frames containing Ethertypes that it did not recognize. This would cause the effective bit rate of those packets to be off by a few percent from the target rate. This bug has been corrected.

  4. A problem was fixed that would cause some KMAX-MM machines to report an error on boot-up.

Version 1.2

New Features

  1. New KMAX collections:

    • KMAX-V (for use on a Vmware ESXi virtual machine)
  2. New platforms: PC-Engines APU2, Intel Skylake, Supermicro 5019S-ML.

  3. RADIUS access control.


  1. The security allow/deny access lists have been extended to support both IPv4 and IPv6 addresses.

  2. Increased IPv6 support has been added for the management network interface. This includes SLAAC and DHCP6, and a persistent DUID to support consistent DHCP6 assignments.

  3. 10G network interfaces are now supported on certain platforms.

  4. New scenarios have been added. These include scenarios for:
    • Internet of Things
    • 3G/4G/LTE paths
    • WiFi handoff
    • Cloud computing, etc.

In addition there are now “load and go” scenarios that require no user tailoring before use.

  1. The scenario loader has been extended so that the various scenarios are enumerated under various categories. This makes it easier for the user to find an appropriate scenario.

  2. User modified or user-created scenarios may be saved so that they are automatically loaded when the KMAX system starts.

  3. Additional pre-written packet classifiers have been added.

  4. The packet parser used for packet classification and alteration has been extended.

  5. Increased functionality has been added to the Alter mechanism.

  6. Added a multi-span control to the graphical user interface to allow easier setting of control values over wide ranges of possible values.

  7. Improved the binding of templates to network interfaces so that it better conforms to user expectations.

  8. Improved packet capture and playback capabilities.

  9. Expanded the options for browser-type specific control.

  10. M.2 NVME SSD drive support has been added.

  11. Support UEFI booting.

Bug Fixes

  1. Improved rate limit logic to better handle real-time changes to the control values and to repair a bug that caused rate limiting to cut in too early when using the token bucket algorithm.

  2. Repaired bugs that were causing Websocket disconnects.

  3. Repaired bugs in the RED queue management option in the rate limiter.

  4. Improved the way that packet bursts are generated by the delay impairment.

  5. Improved the accuracy of KMAX probability distributions and timing.

  6. Disabling the re-sequence function now releases packets that are being held.

  7. Repaired an error in SNMP configuration that could cause the SNMP agent to fail to start.

  8. Waveform timing over multiple iterations is now more accurate.

  9. Corrected display of the various network interface names on the Dashboard page.

  10. SNMP traps are now more accurately generated when a network interface goes down.

  11. Increased use of the W3C validator on HTML and CSS pages.

  12. Increased granularity of licensing of KMAX functions.

  13. Security tightened by removing unused components and logins.

  14. Various bug fixes and user interface improvements.

  15. Overall performance improvements.

Getting KMAX

The update package consists of a single file, approximately 34 megabytes in size. Fetch the update file from the IWL support website:

  1. Use a web browser to visit

  2. Log in using the username and password previously provided to you by IWL when you acquired the KMAX. If you do not have the username or password, please contact IWL sales for assistance.

  3. Navigate through the “Downloads” items (and the sub-pages) to reach the KMAX support files for your particular KMAX model. Note: Some early KMAX-MM units used the FreeBSD 10.2 operating system (rather than 10.3), those units require the FreeBSD 10.2 version of the update package. All others use the FreeBSD 10.3 version.

  4. Download the “Current Stable Release” for your particular device (and operating system version.) Note, you will be required to agree to the IWL licenses for the KMAX product.

Updating Your Device

Use your web browser to initiate an update of the KMAX device:

  1. Navigate to the “Dashboard” web page of your KMAX. (This is the first page that is displayed after you agree to the license on the KMAX device’s home page.)

  2. Pull down the “Manage System” menu and select “Upgrade KMAX”

  3. Use the “Select KMAX package tar file...” button to locate the update package file you downloaded.

  4. Accept the update and wait for it to process. Your KMAX will reboot.

    After rebooting you should clear your web browser cache (some browsers, such as Firefox, may require that you restart the browser in order to fully clear its cache.)

    NOTE: You may see the following error when you do the update. It is harmless and is a side effect of your browser caching parts of the prior version: Error when processing template: kmax_check.html: "require_login_bool" not defined.

  5. Your update is complete, you may remove the update package file that you downloaded