Ixia Custom Engineering: All Scripts
Script Index
Applications
- ATM/SONET Applications
- ATM DHCP Server Tester - The ATM DHCP Server Tester, tests the response time and capacity of a DCHP server. The ATM interface is configured using LLC Bridged Ethernet/802.3
- ATM IGMP Join/Leave - The ATM IGMP Join/Leave Latency tester allows the user to measure the join and leave latency for a number of IGMP Groups. The test requires a minimum of three ports 1) Test port, 2) Traffic port (source of IGMP traffic) and 3) a timing port, the timing port does not need to be connected to the SUT and is used in internal loopback mode to capture the timestamps of outgoing joins and leaves. Multiple Test and Traffic ports can be defined. The user can configure the size of IGMP packets as well as the group IP address and traffic rates. Three separate sub-tests are available: Join/Leave Latency, this measures the time from when a join is sent to when the first data packet is received from that group and will also measure the time from when a leave is sent to when the last data packet from that group is received. A chart is plotted showing the average join and leave latencies for all VLAN's. Numerical results are also generated. Re-join Latency, in this test a number of IGMP groups are joined (user configurable), once traffic is received from these groups leaves are sent and at the same time joins are sent to a different set of groups. The test measures the time between the second set of leaves and the first data packet from the second set of groups. A chart is plotted showing the average re-join latency as well as a results table detailing latencies on a per VLAN bases. Overlap Duration this test is similar to the Re-join test except that the time during which both sets of traffic are received is measured.
- ATM/Ethernet Throughput Tester v1.3 - The ATM/Ethernet tester performs throughput/latency tests between a group of ATM ports and a group of Ethernet ports. The script supports both a binary-search (with optional latency check) as well as a rate-iterator mode that will measure packet loss at various traffic rates and packet sizes. DHCP support is available for the ATM/VC's and is presented in a tree view. Users may select single or multiple VC's and either manually assign IP information or request it from a DHCP server. This script requires IxOS 3.70 or better. Only the LM1000TXS4 and LM1000SFPS4 cards are supported for Ethernet. Version 1.9.0 now supports a range of VPI's as well as a range of VCI's
- SRP script - The SRP Topology Discovery Application is a GUI based TCL script that enables a target Ixia OC-48 or OC-192 port to simulate a node or a group of nodes in the SRP Topology Discovery process.
- Ethernet Applications
- DHCP Assigner - This script will request IP addresses, via DHCP, for all streams on the selected ports. Having obtained IP addresses it will then set the source IP address of the existing streams and will set the destination MAC address to "ARP/DISCOVER". The script configures Protocol Server to support ARP/Ping for the discovered addresses and will ARP the gateway(s) for each port. To Run: Extract the files to a directory of your choice. Open a Wish console and then source the file dhcpAssign.tcl.
- DHCP Server Tester - DHCP Server Tester, tests the response time and capacity of a DCHP server. When running on IxOS 4.0 or better this script now supports up to 4096 reqyuests per port.
- DHCPv4 Client Tester - This script simulates a DHCPv4 Server. The user can configure several DHCP options as well as program a delay before sending Offer or ACK packets.
- MAC Stability Tester - This script verifies the stability of a switch's forwarding database (FDB). It does this by generating random addresses some percentage of which is continuously re-freshed the rest are allowed to age out and are replaced with a new set. The script also runs a traffic test, at timed intervals, that measures packet loss (or flooding) as well as latency.
- NIC tester - The NIC tester allows the user to test Ethernet Network Interface Cards (NICs) using Ixia 10/100, Gigabit or 10/100/1000 cards. The Device Under Test (DUT) for the purposes of this test is considered to be the NIC, NDIS driver, TCP/IP stack and UdpRoundTrip program.
- Power Over Ethernet Test - Ixia's PoE Test application is designed to validate the implementation of Power Sourcing Equipment (PSE) according to IEEE 802.3af, using Ixia's PLM1000T4-PD load module.
IEEE 802.3af tests are grouped in the following broad groups: :- Detection tests
- Classification tests
- AC/DC Maintain Power Signature tests
- Start Up/Shut Down tests
- Operating tests
- User Defined tests
- Xaui Monitor - The Xaui Monitor script file allows the user to monitor the Xaui registers. Also, provides the ability to test two XENPAK modules, monitoring multiple registers on each module
- Filter/Capture Applications
- PRBS Analyzer -
This script is used for analysis of received data to count and flag PRBS data errors, optional by PGID.
This script expects the user to have the capture buffer ready in the IxExplorer before running this script. Detailed description of how to set the Transmit/Receive port properties and Tx Streams is described in PRBS.pdf.
There is a input file "prbs.ini" where user can specify some PRBS related parameters:
a. Maximum packets. If the number of packets captured exceeds this number, PRBS analysis is aborted. This number should be set to a low value; the default is 10.
b. Minimum packet size for analysis. Packets shorter than this value will not be analyzed for PRBS errors. The default value for this is 64 bytes.
c. Maximum PRBS errors. Packets with more than this number of PRBS errors will not be considered as having any PRBS errors. The default value for this is 8.
d. Show packets with excessive errors. This affects the display or errored packets. If set, packets which are rejected because they had more than Maximum PRBS errors would be displayed. The default value for this is disabled.
The following information is displayed at the end of the script
lineNo: [time] [PGID: p] Offset: o, Expected: XX (01110111), Received YY (01010111)
^
The elements of this display are:i. lineNo - an incrementing line number, per packet.
ii. Time - the timestamp on the packet, if enabled in the receive data integrity properties,
iii. PGID: p - if applicable, the PGID in the packet
iv. Offset: o - the offset within the packet where the PRB error was found,
v. Expected - the expected byte, both in hex and binary,
vi. Received - the received byte, both in hex and binary,
vii. ^ - marker(s) underneath the bit error(s).
If there are more than Maximum PRBS errors, and Show packets with excessive errors is enabled display:
lineNo : [time] [PGID: p] <Maximum PRBS errors> were detected, packets was ignored.
Dispays the number of such packets whether Show packets with excessive errors is set or not. Keeps count of these by PGID if applicable.
Also displays total PRBS bits received, Packets with PRBS errors, PRBS Errored Bits, Bit Error Ratio, Packets with excessive errors (more than 8) If applicable, displays PRBS errors per PGID and Packet ignored due to excessive errors.
Results are stored in Results*.csv in the same directory as this tcl file was sourced from.
- RT-PGID - Polls PGID's using Tcl to setup TX mode and RX mode. This script demonstates the use of Packet group IDs "PGIDs" to get the total frames received, min, max and average latency.
- Linux SDK Applications
- ICESOCKET - This package allows the user to run arbitrary commands on Linux running on the Port CPU's of TXS cards.
The package consists of a Linux executable program that listens on port 60000 for connections and will then take lines of text, sent over the connection, and execute each in a separate shell (uses the Linux "system" call).
If the first character of a line of text is a caret (^) then the output is captured and sent back to the client over the same socket connection.
This package must be installed on an Ixia Chassis. To install, unzip the file to the "C:\Program Files\Ixia\packages" directory. When installation is complete there will be a TCL script (sample.tcl) in the "C:\Program Files\Ixia\packages" directory that shows how to open a socket connection from a TCL script and display the output. - NAS Tester - The NAS Tester is based around the PostMark benchmark with additions to enable it to run on Ixia's TXS technology ports. Configuration is achieved via a TCL/TK GUI.
Existing file system benchmarks are deficient in portraying performance in the ephemeral small-file regime used by Internet software, especially:- electronic mail;
- netnews;
- web-based commerce.
Note: This requires ICEPACK (http://www.ixiacom.com/downloads/ice/icepack.zip) - Other
- CliX 3.3.5 (For IXOS 3.65 and 3.70 only; No active support; Upgrade to the latest IXOS and CliX) - IOS-like Command line Interface Added:
- Support for 10GE and OC192
- Support for Advanced Scheduler Mode
- Support for Sequence Checking
- Support for Data Integrity Checking
- Support for IPV6 streams
- Support for multiple gateways (one per stream) as well as default gateway
- Support for netmasks for both IPV4 & IPV6
- CliX 4.3.17EA (Supported only for IXOS 3.80 and later releases) - IOS-like Command line Interface.
Feature/Support List:- All existing SONET, 10GE and TXS Family Ethernet load modules are supported.
- Supported Protocol: BGP, OSPF, MLD, RIP, IGMP and PIM
- Supported Modes: Advanced Scheduler, Sequence Checking, Data Integrity Checking, Stream Based Statistics and Multi-Flow Mode.
- IPV4 and IPV6 streams
- Support for multiple gateways (one per stream) as well as default gateway
- Support for netmasks for both IPV4 & IPV6
- DHCP Server - This script allows the user to configure and run a full DHCP server on a port CPU.
- FTP get - FTPGet uses a Tcl FTP extension to provide file transfer client support. This package is only needed with the ixia 3.0 release, the functionality is built into the 3.1 release and future software releases. After downloading and install read the readme.txt file for an example of how to use this feature.
- IceServer - The iceserver.tcl script allows users to access several Ixia functions via a text based TCP connection. This allows the user to control an Ixia Chassis with any program that's capable of opening a socket interface, e.g. telnet, Visual Basic, Java or a custom C/C++ application
This script can be run anywhere that the Ixia TCL Client has been installed. To start the server open a wish console and source the script. The server will listen, by default on port 64206, for client connections. The server supports one client connection at a time. To modify the port the server listens on, change the following line of code, that can be found at the top of the script:
set listenPort 64206 ;# change this line to modify the port the server listens on
Once a connection has been made the server awaits command lines from the client. A command line consists of a command keyword, followed by zero or more parameters, depending on the command. A command line is terminated by a carriage return. - IxVoice TCL API - This API provides the facilities to configure, control and automate IxVoice application via TCL scripts and expect. The IxVoice TCL API is available for Solaris, Linux or Windows. Expect is required. The API has been tested using Windows cygwin Expect. It has not been tested with the version of Expect available with Active TCL. Note: The Unix file is for Solaris. A Linux version is available upon request.
- Mana - Mana is a plugin based framework for making Tk GUIs. Several sample GUI plugins are included. If you want to get into Tk, this is a good place to start.
- ScriptEase - ScriptEase allows you to create sets of 'actions' to perform on 'port groups', then make a GUI or export to standalone TCL scripts. First define the port groups, then create buttons with a list of actions to perform in order on them.
- Routing Protocol Applications
- BGP convergence test - This test finds the convergence times when routes are being flapped. Works with IPv4 and IPv6.
- IGMP Join/Leave Tester - The IGMP Join/Leave Latency tester allows the user to measure the join and leave latency for a number of IGMP Groups. The test requires a minimum of three ports:
1) Test port,
2) Traffic port (source of IGMP traffic) and
3) a timing port, the timing port does not need to be connected to the SUT and is used in internal loopback mode to capture the timestamps of outgoing joins and leaves. Multiple Test and Traffic ports can be defined. The user can configure the size of IGMP packets as well as the group IP address and traffic rates.
Three separate sub-tests are available:
Join/Leave Latency, this measures the time from when a join is sent to when the first data packet is received from that group and will also measure the time from when a leave is sent to when the last data packet from that group is received.
A chart is plotted showing the average join and leave latencies for all VLAN's. Numerical results are also generated.
Re-join Latency, in this test a number of IGMP groups are joined (user configurable), once traffic is received from these groups leaves are sent and at the same time joins are sent to a different set of groups. The test measures the time between the second set of leaves and the first data packet from the second set of groups.
A chart is plotted showing the average re-join latency as well as a results table detailing latencies on a per VLAN bases.
Overlap Duration this test is similar to the Re-join test except that the time during which both sets of traffic are received is measured. - IGMPV2 Throughput Tester - The IGMPV2 Throughput Tester allows the user to run RFC2544 type tests in a IGMPV2 environment, The test can be configured with multiple Traffic Ports (IGMPV2 sources) with multiple groups being generated on each port. The test can be configured to either perform a binary search to find the "no-drop" rate for a list of frame sizes or can iterate through a list of frame rates to determine packet loss for each rate. In both binary search and rate iterate modes the test will measure min/max/average latencies. The Traffic and Test ports can be either VLAN (802.1Q) tagged or not. When the Test ports are tagged then results are generated on a per VLAN basis
Now supports IxOS 4.0 DHCP Clients. - MLD Join/Leave Latency Tester - The MLD Join/Leave Latency tester allows the user to measure the join and leave latency for a number of MLD Groups. The test requires a minimum of three ports:
1) Test port,
2) Traffic port (source of MLD traffic) and
3) a timing port,
the timing port does not need to be connected to the SUT and is used in internal loopback mode to capture the timestamps of outgoing joins and leaves. Multiple Test and Traffic ports can be defined. The user can configure the size of MLD packets as well as the group IP address and traffic rates.
Three separate sub-tests are available:
Join/Leave Latency, this measures the time from when a join is sent to when the first data packet is received from that group and will also measure the time from when a leave is sent to when the last data packet from that group is received.
A chart is plotted showing the average join and leave latencies for all VLAN's. Numerical results are also generated.
Re-join Latency, in this test a number of MLD groups are joined (user configurable), once traffic is received from these groups leaves are sent and at the same time joins are sent to a different set of groups. The test measures the time between the second set of leaves and the first data packet from the second set of groups.
A chart is plotted showing the average re-join latency as well as a results table detailing latencies on a per VLAN bases.
Overlap Duration this test is similar to the Re-join test except that the time during which both sets of traffic are received is measured.
The MLD Join/Leave Latency tester additionally supports MLDv2. - MLD Throughput Tester - The MLD Throughput Tester allows the user to run RFC2544 type tests in a MLD environment, The test can be configured with multiple Traffic Ports (MLD sources) with multiple groups being generated on each port.
The test can be configured to either perform a binary search to find the "no-drop" rate for a list of frame sizes or can iterate through a list of frame rates to determine packet loss for each rate. In both binary search and rate iterate modes the test will measure min/max/average latencies.
The Traffic and Test ports can be either VLAN (802.1Q) tagged or not. When the Test ports are tagged then results are generated on a per VLAN basis. - Multicast channel changer - IP Multicast Channel Changer utilizes a many to one port map. Many transmit ports, each transmit port is configured to transmit to one group. One receive port joins and leaves each group. "Walking the channels" This script provides leave and join delay for each of the groups ( channels) . This script only works with non-CPU 10/100 ports.
- multicast Error Test - This test is used to create negative test scenarios where MultiCast error conditions are introduced in order to observe DUT behavior.
- Multiple Port Protocol Server - This script allows configuring key features of the Protocol Servers of all the ports of a given chassis. The configuration data is entered into the script's TK GUI in a tabular format and applied to the chassis when the "Apply"
- OSPF Grid - OSPF Grid TCL script creates an arbitrary sized (n x m) OSPF grid topology using Ixia's OSPF emulation software. The DUT can be virtually connected to any of the routers in the grid. Each router on the edge of the virtual grid has 'target' stub networks. As far as the DUT is concerned, it is part of a network with thousands of OSPF adjacencies. By default, each router in the grid has a random OSPF Metric on each of it's 4 interfaces (from 1 to 48), truly stressing the SPF algorithm as the shortest path to 'edge' stub networks is calculated. Each simulated router on the grid can also specify several stub interfaces to further fill the DUT's routing table
- RSVP-TE Throughput Test - This Application's primary focus is to test the MPLS forwarding performance of a P router or a system of P routers. It can also be used to find the throughput performances as the number of RSVP-TE session increases.
- Scheduling Applications
- IxScriptmate Automation Tool - This tool allows the user to automatomatically run a series of up to 255 IxScriptmate tests. The user can also save automation session configurations, thus creating high level test libraries.
Notice:
A Telnet package such as the one available in http://tmartin.org/tcltelnet/ needs to be installed prior to using this application. This Telnet package is a 3rd party software. Ixia does not assume any responsibilities whatsoever for that software. Please make sure that you comply with all of the terms and conditions of the license for that software. - Script Scheduler - Script Scheduler allows users to schedule scripts to run at any time, based on the UNIX cron utility. - UNIX only -
- TAM - Test Automation Manager (TAM) allows creating, editing and running fully automated, complex test scenarios, out of existing, individual Test scripts. This is done by invoking these individual Test Scripts (or, the "Building Blocks") in an automated sequence, according to simple rules, set via the TAM.
- Stream Based Applications
- Back to Back Test - This is a GUI-based, custom back to back test measures the max. burst size that can be sent from a higher speed port (e.g., 1Gig) to a lower speed port (e.g., 100Mbit/sec) without having frames dropped. The test is running binary search cycles until a no-drop occurs. The user may define the loss tolerance and the granularity, thus being able to affect the speed and accuracy of the test. This is a Layer 2 Test.
- Bandwidth Spreadsheet - Bandwidth Spreadsheet uses an Excel Spread sheet to distribute bandwidth over multiple streams (now supports 50 streams)
- Bit Rate Monitor - Graphical presentation of Bit Rate, on the time axis, for one or more ports. Points on the graphs can be marked to measure instantaneous and delta values for bit rate and elapsed time. One example of usage would be Convergence measurement.
See the ReadMe.txt file in the zip archive for more details - Blackout Test - Transmits traffic from one Tx port to one or more Rx ports. After transmission is done, it checks each of the receiving ports for missing traffic. The missing traffic is expressed in milliseconds. The test can be configured and run over L2 or L3 network.
- Broadcaster - Multiple ports transmit to mac address {ff ff ff ff ff ff}. This package provides a layer 2 test that increments source addresses to broadcast to all ports in the test. Statistics are displayed at the end for each ports transmit and receive stats
- CE-CE Mesh Test - This Program is a Layer 2 fully meshed test that supports multiple 802.1q Tagged VLANs per port. Each VLAN can participate in either a unicast, broadcast, or multicat domain. It also supports rogue addresses which are addresses that are not learned in a mac table (for negative testing). The statistics are per VLAN and broken down by category (unicast, multicast, broadcast, and rogue). This script is supported on only TXS ethernet family of modules.
- DHCPv6 STream Builder - This utility allows the user to build, transmit, capture and decode IPv6/DHCPv6 packets
- DNS Blaster - The DNS Blaster script uses a data file (whitespace delimited) to create up to 16 different DNS lookup streams per port. Each stream can generate up to 4096 names based on a template. Traffic rates can be configured both in the input file and on the fly. The script monitors the number of responses (good & bad) received Now supports DHCP Assigned ports when running on IxOS 4.0 or better
- DNS Tester - Test DNS servers latency and throughput. Updated to support requesting both A and AAAA records for IPv6 compatibility
- DNSv6 Tester - An IPv6 version of the DNS tester. This script will measure response times for both A and AAAA-record DNS queries.
- IxAttack - The IxAttack utility is script that generates Denial of Service (DoS) traffic for testing Firewalls. It supports the ARP, Ping, Ping of Death, Land, Syn, Smurf, Unreachable Host, and Teardrop attack types. The IxAttack configures up to 16 ports at a time. It allows saving and recalling attack configurations thus creating Firewall test libraries,
- IxJumbo - IxJumbo Provides the full range of statistics from the Ixia TXS4 ports - Integrity Checking, Latency, Throughput in a many2many mesh script. It also provides graphs for output along with csv files. IxJumbo was created using ITM. Now works with OptIxia and works with Multiple Chassis. Store and Forward Latency option available. Smart port mapping and address assignments provided for large port count quick configuration.
- IxMiniAttack - The IxMiniAttack utility is script that generates Denial of Service (DoS) traffic for testing Firewalls. It supports the ARP, Ping, Ping of Death, Land, Syn, Smurf, Unreachable Host, and Teardrop attack types. The IxMiniAttack configures one port at a time. However it also makes it possible to create multiple DoS attack sources (DDoS) by simply invoking it multiple times and setting a different target Ixia Port at each time.
- L2 ATM'Ethernet Tester - The L2 (layer 2) ATM/Ethernet tester performs throughput/latency tests between a group of ATM ports and a group of Ethernet ports. The script supports both a binary-search (with optional latency check) as well as a rate-iterator mode that will measure packet loss at various traffic rates and packet sizes.. This script requires IxOS 3.70 or better. Only the LM1000TXS4 and LM1000SFPS4 cards are supported for Ethernet.
- Mesh Tester - This script allows the user to measure throughput/latency in a meshed environment. The script allows for user-specified background traffic to allow more "real world" testing than is possible with the standard RFC throughput tests. For more information refer to the documentation and user guide in the zip file.
- MultiVlan - Two port. bidirectional test that transmits 802.1q VLAN tagged frames. User specifies first and last VLAN ID, framesize, data rate and number of frames. Frames are transmitted on each VLAN from start to last. Latency and frameloss are reported for each VLAN individually.
- Mutliple VLAN tags - Mutliple VLAN tags script zip file Generates traffic with multiple VLAN Tags per packet.
- Port2Port - The transmit port sends traffic to a receive port, the receiver captures and convert to streams and re-transmit. The packets will ping-pong between two ports. This is a good example using the capture buffer. Updated with a version to do Layer 3. The Layer 3 version demostrates how to modify the packet before sending back out, it also utilizes capture triggers and capture filtering
- QinQ - QinQ allows the user to create Ethernet Packet with multiple VLAN tags.
- Stream Time - Configures a specific duration in seconds on streams on a port. This script is intended to be used with mulitple streams. It is required to have each stream configured as "advance to next" with the last stream set to "return to first" calculating the transmit time in seconds.
- VPN Gateway test - Set up your Security Polices on the DUT, setup ixVPN to match the configuration. ixVPN will trigger keys to be generated and/or send the traffic to be encrypted. uni-directional or bi-directional Secure traffic with a uni-directional background/clear traffic option -Statistics throughput / percent loss min/max/avg lat for each tunnel tunnel capacity encryption latency secure priority - Adjustable variables frame size frame count per address pair percent line rate unique address pairs
Utilities
- Filter/Capture Utilities
- Cap2Flow - Cap2Flow converts capture buffer frames to flows, maintaining the timing for the out going frames
- capExport - script allows the users to capture traffic and export to a series of files
- Latency Plot - Latency Plot script zip file This script Plots Latency for multiple ports
- Multi Port Analyzer - Multi Port Analyzer script allows the user to use the free "Ethereal" protocol analyzer using the packets retrieved from the capture buffer of an Ixia port. The script controls starting and stopping capture on the port (currently there's no provision to change port modes, capture/trigger filters)
- Routing Protocol Utilities
- BGP Route Import - This utility imports the BGP table information from a Cisco Router. The BGP table must be output to a file before the script can read it.
- Scheduling Utilities
- Syslog - Syslog package file works from a windows platform only at this time. It Provides an interface for users to send syslog messages
- Script Bundles
- BLT Library - This is the BLT library that's used by several scripts. The only difference between this and the one available at http://incrtcl.sourceforge.net/blt/ is that when you extract the library from the ZIP file it will be correctly located in the IXIA directory structure. There is a dll file called blt24.dll that needs to be moved to c:\program files\ixia\tclscripts\bin.
- Grab Bag - "Grab Bag" is a set of useful procs. The code is organized into 4 main sections: procs related to IP & Mac Addresses procs related to file/string/list handling procs related to streams miscellaneous procs
- ICE Pack - This is a Download on demand package that starts a program that will listen on port 60000 for commands that it will then pass to the shell. Read the icepack.txt file for help. Sample TCL code that does fun stuff: set sock [socket 10.0.2.1 60000] if {$sock == 0} { puts "No Server listening" return } puts $sock "echo 'This is fun' > /tmp/funfile" puts $sock "/bin/filt 9 0x8011" close $sock
- LabView - LabView TCL file shows an example of interfacing to LabView via TCOM
- Pineapple - This is an API that configures various routing and MPLS protocols. The protocols include BGP, ISIS, LDP, and OSPF. It also configures BGP VPNs and VPLS. There are procedures that generate streams from learning the labels. Works with TXS4 or SFP4 modules.
- Script Examples - This is a collections of 19 scripts that exercise many of the Ixia concepts and algorithms. It provide and good source for your collections of tools. A word document with explainations as well as a zip file containing each script in a standalone mode.
- TclODBC Library - This is the TclODBC library that's used by several scripts. The only difference between this and the one available at http://sourceforge.net/projects/tclodbc is that when you extract the library from the ZIP file it will be correctly located in the IXIA directory structure.
- Stream Based Utilities
- DHCPv6 Assigner - This script will create a globally routable IPv6 address for each IPv6 stream that's configured on one or more ports. The script will request a prefix via DHCPv6 and will then form IPv6 address(es) by taking the upper 64-bits pf the prefix and the EUID from the stream. Having created the IPv6 addresses it will then set the source IPv6 address of the existing streams and will set the destination MAC address to "ARP/DISCOVER". The script configures Protocol Server support the newly created interfaces. To Run: Extract the files to a directory of your choice. Open a Wish console and then source the file
dhcpV6Assign.tcl. - Ping Tester - ICMP test Utility
- Trace Route - Trace Route script allows users to issue the traceroute command via TCL
