Tcl Software Structure
The Tcl software is structured as a number of client-server pieces so that it may operate simultaneously in three different environments:
- On the Ixia chassis: The Tcl scripts are executed on the same computer that runs the Ixia hardware.
- On a Windows client: The Tcl scripts are executed on a Windows 2000/XP client.
- On a Unix client: The Tcl scripts are executed on a Unix client.
The following sections describe the components used in each of these scenarios.
Operation on the Ixia Chassis
When the Tcl client software is installed on the Ixia chassis itself three distinct software components are used, as shown in the following figure.
Figure: Software Modules Used on an Ixia Chassis

In this scenario, three components are used as described in the following table.
Operation on a Windows Client
When the Tcl client software runs on a Windows client, the same three components are used but in a different configuration, as shown in the following figure.
Figure: Software Modules Used on a Windows Client

In this scenario, three components are used as described in the following table.
Module | Usage |
---|---|
Tcl scripts |
Ixia supplied and user developed tests run on the Windows client using the Tcl software. The Tcl extensions that program the Ixia hardware use the TclHAL layer. |
TclHAL |
A layer of software, supplied as a DLL (Dynamic Linked Library), that is responsible for interpreting the Tcl commands into C++ functions to be sent to the IxServer over the local network. |
IxServer |
An independent Windows executable running on the Ixia Chassis that is responsible for directly controlling the Ixia hardware. Its commands are received from clients over the LAN. |
Operation on a Unix Client
When the Tcl client software runs on a Unix client, five components are used as shown in the following figure.
Figure: Software Modules Used on a Unix Client

In this scenario, five components are used as described in the following figure.
Module | Usage |
---|---|
Tcl scripts |
Ixia supplied and user developed tests run on the Windows client using the Tcl software. The Tcl extensions that program the Ixia hardware use the Tcl-DP client software. |
Network Interface |
This is a layer of software within the TCL system that translates hardware commands into ascii commands, which are sent to the TCL Server on the connected Ixia chassis. |
TclServer |
This layer receives commands from the Tcl-DP client on Unix client platforms. Commands are translated into calls to the TclHAL layer. |
TclHAL |
A layer of software, supplied as a DLL (Dynamic Linked Library), that is responsible for interpreting the Tcl commands into C++ functions to be sent to IxServer on the chassis over the network. |
IxServer |
An independent Windows executable running on the Ixia Chassis that is responsible for directly controlling the Ixia hardware. Its commands are received from clients over the LAN. |
Multiple Client Environment
A single Ixia chassis may be used by multiple clients simultaneously. Clients may run from the Ixia chassis, Windows clients, and Unix clients simultaneously, as shown in the following figure.
Figure: Multi-Client Environment

TCL Version Limitations
Note the following limitation with respect to Tcl versions and the use of Wish and Tclsh shells:
- Tcl 8.0 is no longer supported.
- Tclsh does not run on any version of Windows, with Ixia software. Under Linux or Solaris, Tclsh runs on any version of Tcl greater than or equal to 8.2.
The use of the Wish shell with Ixia software has been tested for Tcl 8.3 under Windows, Linux, and Solaris. It has not been tested, but should run with any Tcl version greater than or equal to 8.2.
Beginning with the Ixia TCL libraries supplied with IxOS version 3.80, these libraries are compatible with TCL version 8.3 and above. That is, it is not necessary to obtain a new version of the Ixia libraries when TCL 8.4 (or above) is installed on a computer.