Ixia, a communications network tester from Ixia, USA.
Automated test scenarios for 1.Ixia
Test PC (install Ixos) at Frame-->TCL Drive library SIG_TEQ_IXIA.TCL (load Ixtclhal Library)-----(Ethernet cable)----->ixia Chassis
Ixos is Ixia's basic software package, which mainly includes ixserver (the service Ixserverservice run on the Windowsos of the Ixia machine box, handling the communication between the tester and the tester), Ixexplorer (Client interface on the tester, Access to all Ixia hardware features), Tclserver.
After the IxOS installation on the test machine is complete, its installation directory has a. TCL library file that defines the chassis internal TCL API command.C:/Program files/ixia/ixos/5.30-ea-sp2/tclscripts/bin/ IXIAWISH.TCL. You need to load the "package require Ixtclhal" in your library file.
2.Ixia Automation architecture and TCL API hierarchy
The Ixhal is a hardware abstraction layer on the Ixia chassis, a C + + based application that provides a higher level of pumping for ixia hardware and operates Ixia hardware with Ixserver. Ixhal also play a role in the information cache, the issued parameters first cached to Ixhal, and then write to the hardware, from the hardware read the parameters are read into the Ixhal, and then TCL application is TCL console
Ixtclhal is the TCL library on the client and is provided by all TCL APIs that access the Ixia hardware platform. It allows you to distribute various configurations, create various scenarios (such as traffic), and perform actions. These TCL commands are implemented specifically by the C + + language. After the test machine installs the Ixos client, the installation directory has IXTCLHAL.TCL and other library files and IxTCLHAL.dll,ixtclhaldll Provides an interface for connecting to the Ixtclhal Command library.
3.Ixia TCL API Command format
Divided into low-level and high-level two kinds:
(1) Lower-level API underlying API functions ( underlying API based on chassis basic Operation Configuration , Object Oriented )
The underlying API is typically an object-oriented function that operates on a function name + standard method
In fact, this function defines a structure, the structure member has a lot of properties, the user sets a specific attribute value to define a structure, and finally issued to the chassis in effect
Eg:port Stream Filter capture Capturebuffer stat IP
(2) higher-level API high-level API function ( Two-time encapsulated function , process-oriented )
The high-level API is generally a process-oriented function, followed by a parameter that is interpreted directly by interpreter and executed immediately, usually preceded by "IX".
Eg:ixconnecttochassis (proc beginning with IX)
4.IxTclHal common standard method for low-level API
5. General call to Ixtclhal command test process steps
(1) Loading ixia TCL Command Library
The Ixtclhal.dll--tclhal classes and methods are loaded in the TCL interpreter;
Load the TCL initialization file that defines the default value of the test;
Load a common process
Ixia instruments contain several applications depending on the test domain and functionality, which provide the TCL API interface to access and control all hardware functions, but require different TCL packages to be loaded:
IxOS package require Ixtclhal the most basic hardware control functions
IxNetWork package require Ixtclhal test routing protocol functions
IxLoad package require IxLoad test 4-7-layer function
Ixscriptmate depend on the test pre-defined testing Suite (RFC2544 ...), high-level API interface
HLTAPI package require Ixia high-level API, user-commonly used TCL test interface
IXVPN package require IXVPN VPN test function
There are a lot of other things .....
(2) connecting to the chassis
Establish a TCP link to ixserver;
Check if the version matches;
Get the current configuration;
Assign an ID to the Ixia chassis;
If the UNIX system is also linked to a TCP Server
(3) Configure ports port, create and set traffic stream, set other required things such as filter filters, and write configuration parameters to hardware
(4) hit the stream, and according to the test requirements in the Receive Port capture packet (PortGroup), or view some related counts (statallstats)
(5) End test
Interrupt with Ixia chassis link
Release the memory allocated by TCL arrays and lists
Frees the Tclhal memory allocated by the object
If the UNIX client wants to interrupt the TCL server link
If you use the ixdisconnectfromchassis command, only the connection to the Ixia chassis is interrupted and the Tclhal environment is not interrupted
6. Some ixia's considerations when executing
(1) The built-in PC host (WINDOWXP) on the Ixia meter chassis needs to be--->services.msc---> start the corresponding Ixserverservice
(2) Ixia on the Ixserver and TESTPC on the TCL client version of the best match, or some API issued execution may be problematic, client side execution script will be error
(3) Tcl language + ixia tcl API = tcl Operation Ixia Instrument library file Sig_ixiaat.tcl, some of the function's return values are written to the registry, for the upper-level results to judge
(4) The PKGINDEX.TCL in the library directory should be added to the following sentence
"Package ifneeded ixtclhal 5.30 [list source [file join" C:/Program Files/ixia/ixos/5.30-ea-sp2/tclscripts/bin " IXIAWISH.TCL]] "
In order to ensure that the SIG_TEQ_IXIA.TCL "package require Ixtclhal" can find the corresponding library files, in theory, the definition of the Ixia TCL command can be carried out separately in the same directory for portability, So the client test PC does not have to bother to install Ixos, but it seems this file and the Ixos installation directory of some other. tcl files and. dll files are managed, only the IXIAWISH.TCL files are migrated separately, execution will be error, some things can not be found. The specific documents involved need to be studied in depth.
(5) Ixexplorer after installation comes with TCL interrupt, but the operation of Ixia can also use any one TCL interrupt, as long as the library files used to load the
This article is simply an introduction to the Ixia Automation principle, detailed Ixia TCL API can be found in the specific API official documentation.
Automation of Ixia Tester