You are on page 1of 536

HLTAPI Commands

Release 2.80
Part No. 913-0008-06 Rev. B
September 2006
Copyright © 2006 Ixia. All rights reserved.
This publication may not be copied, in whole or in part, without Ixia’s consent.
RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the U.S. Government is subject to the restrictions set forth in
subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-
19.
Ixia, the Ixia logo, and all Ixia brand names and product names in this document are either trademarks or registered trademarks of
Ixia in the United States and/or other countries. All other trademarks belong to their respective owners.
The information herein is furnished for informational use only, is subject to change by Ixia without notice, and should not be con-
strued as a commitment by Ixia. Ixia assumes no responsibility or liability for any errors or inaccuracies contained in this publica-
tion.

Corporate Ixia Worldwide Headquarters Web site: www.ixiacom.com


Headquarters 26601 W. Agoura Rd. General: info@ixiacom.com
Calabasas, CA 91302
Investor Relations: ir@ixiacom.com
USA
Training: training@ixiacom.com
+1 877 FOR IXIA (877 367 4942)
+1 818 871 1800 (International) Support: support@ixiacom.com
(FAX) +1 818 871 1805 +1 877 367 4942
sales@ixiacom.com

EMEA Ixia Europe Limited Support: eurosupport@ixiacom.com


Globeside Business Park +44 1869 356370 (Option 5)
Building One, Unit A
Marlow, SL7 1GJ
United Kingdom
+44 1869 356370
(FAX) +44 1869 356371
ixiaeurope@ixiacom.com

Asia Pacific Asia Pacific Representative Office Support: support@ixiacom.com


New Shanghai International Tower, Suite 26E +1 818 871 1800 (Option 1)
360 Pudong Nan Rd
Shanghai 200120
China
+86 21 50543439
ixiachina@ixiacom.com

Japan Ixia KK Support: support@ixiacom.com


Aioi Sampo Shinjuku Building, 16th Floor +1 818 871 1800 (Option 1)
3-25-3 Yoyogi Shibuya-Ku
Tokyo 151-0053
Japan
+81 3 5365 4690
(FAX) +81 3 3299 6263
ixiajapan@ixiacom.com

India Ixia India Support: support-india@ixiacom.com


No. 508, 6th Main 6th Cross +91 80 32918500
ST Bed, Koramangala 4th Block
Bangalore 560 034
India
+91 80 25633570
(FAX) +91 80 25633487
ixiaindia@ixiacom.com

Part No. 913-0008-06 Rev. B


September 13, 2006

ii HLTAPI Commands, Release 2.80 Rev. B


Table of Contents

About This Guide


Installing HLTAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv

What’s New in Release 2.80 SP2 . . . . . . . . . . . . . . . . . . . . . xvii

Chapter 1 Session APIs


::ixia::connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

::ixia::interface_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

::ixia::cleanup_session . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15

::ixia::interface_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16

Chapter 2 Traffic APIs


::ixia::traffic_config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

::ixia::traffic_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45

HLTAPI Commands, Release 2.80 Rev. B iii


Table of Contents

::ixia::traffic_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47

Chapter 3 Ixia Specific APIs


::ixia::capture_packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

::ixia::get_packet_content . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Chapter 4 BGP APIs


::ixia::emulation_bgp_config . . . . . . . . . . . . . . . . . . . . . . . . 4-2

::ixia::emulation_bgp_route_config . . . . . . . . . . . . . . . . . . . 4-7

::ixia::emulation_bgp_control . . . . . . . . . . . . . . . . . . . . . . . 4-14

::ixia::emulation_bgp_info . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

Chapter 5 DHCP APIs


::ixia::emulation_dhcp_config. . . . . . . . . . . . . . . . . . . . . . . . 5-2

::ixia::emulation_dhcp_group_config . . . . . . . . . . . . . . . . . . 5-4

::ixia::emulation_dhcp_control . . . . . . . . . . . . . . . . . . . . . . . 5-8

::ixia::emulation_dhcp_stats. . . . . . . . . . . . . . . . . . . . . . . . 5-10

Chapter 6 FTP APIs


::ixia::emulation_ftp_config . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

::ixia::emulation_ftp_traffic_config . . . . . . . . . . . . . . . . . . . 6-10

::ixia::emulation_ftp_control . . . . . . . . . . . . . . . . . . . . . . . . 6-14

iv HLTAPI Commands, Release 2.80 Rev. B


Table of Contents

::ixia::emulation_ftp_control_config . . . . . . . . . . . . . . . . . . . 6-16

::ixia::emulation_ftp_stats . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22

Chapter 7 HTTP APIs


::ixia::emulation_http_config . . . . . . . . . . . . . . . . . . . . . . . . . 7-2

::ixia::emulation_http_traffic_config . . . . . . . . . . . . . . . . . . . 7-10

::ixia::emulation_http_traffic_type_config . . . . . . . . . . . . . . 7-18

::ixia::emulation_http_control. . . . . . . . . . . . . . . . . . . . . . . . 7-26

::ixia::emulation_http_stats . . . . . . . . . . . . . . . . . . . . . . . . . 7-28

::ixia::emulation_http_control_config . . . . . . . . . . . . . . . . . . 7-35

Chapter 8 IGMPvX APIs


::ixia::emulation_igmp_config . . . . . . . . . . . . . . . . . . . . . . . . 8-2

::ixia::emulation_igmp_control. . . . . . . . . . . . . . . . . . . . . . . . 8-5

::ixia::emulation_igmp_group_config. . . . . . . . . . . . . . . . . . . 8-6

::ixia::emulation_igmp_info . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

Chapter 9 ISIS APIs


::ixia::emulation_isis_config. . . . . . . . . . . . . . . . . . . . . . . . . . 9-2

::ixia::emulation_isis_topology_route_config. . . . . . . . . . . . 9-10

::ixia::emulation_isis_control . . . . . . . . . . . . . . . . . . . . . . . . 9-18

HLTAPI Commands, Release 2.80 Rev. B v


Table of Contents

Chapter 10 L2TPoX APIs


::ixia::l2tp_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2

::ixia::l2tp_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

::ixia::l2tp_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12

Chapter 11 L2TPv3 APIs


::ixia::l2tpv3_dynamic_cc_config . . . . . . . . . . . . . . . . . . . . 11-2

::ixia::l2tpv3_session_config . . . . . . . . . . . . . . . . . . . . . . . 11-8

::ixia::l2tpv3_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14

::ixia::l2tpv3_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15

Chapter 12 L3VPN APIs


::ixia::l3vpn_generate_stream . . . . . . . . . . . . . . . . . . . . . . 12-2

Chapter 13 LDP APIs


::ixia::emulation_ldp_config . . . . . . . . . . . . . . . . . . . . . . . . 13-2

::ixia::emulation_ldp_route_config . . . . . . . . . . . . . . . . . . . 13-7

::ixia::emulation_ldp_control . . . . . . . . . . . . . . . . . . . . . . 13-12

::ixia::emulation_ldp_info . . . . . . . . . . . . . . . . . . . . . . . . . 13-14

Chapter 14 MLD APIs


::ixia::emulation_mld_config. . . . . . . . . . . . . . . . . . . . . . . . 14-2

vi HLTAPI Commands, Release 2.80 Rev. B


Table of Contents

::ixia::emulation_mld_group_config. . . . . . . . . . . . . . . . . . . 14-6

::ixia::emulation_mld_control. . . . . . . . . . . . . . . . . . . . . . . . 14-7

Chapter 15 Multicast APIs


::ixia::emulation_multicast_group_config . . . . . . . . . . . . . . 15-2

::ixia::emulation_multicast_source_config. . . . . . . . . . . . . . 15-4

Chapter 16 OSPF APIs


::ixia::emulation_ospf_config . . . . . . . . . . . . . . . . . . . . . . . . 16-2

::ixia::emulation_ospf_topology_route_config . . . . . . . . . . . 16-8

::ixia::emulation_ospf_control . . . . . . . . . . . . . . . . . . . . . . 16-16

::ixia::emulation_ospf_lsa_config . . . . . . . . . . . . . . . . . . . 16-18

Chapter 17 PIM-SM APIs


::ixia::emulation_pim_config . . . . . . . . . . . . . . . . . . . . . . . . 17-2

::ixia::emulation_pim_group_config. . . . . . . . . . . . . . . . . . . 17-9

::ixia::emulation_pim_control. . . . . . . . . . . . . . . . . . . . . . . 17-13

Chapter 18 PPPoX APIs


::ixia::pppox_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2

::ixia::pppox_control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-13

::ixia::pppox_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-14

HLTAPI Commands, Release 2.80 Rev. B vii


Table of Contents

Chapter 19 RIP APIs


::ixia::emulation_rip_config . . . . . . . . . . . . . . . . . . . . . . . . 19-2

::ixia::emulation_rip_route_config . . . . . . . . . . . . . . . . . . . 19-6

::ixia::emulation_rip_control . . . . . . . . . . . . . . . . . . . . . . . . 19-8

Chapter 20 RSVP-TE APIs


::ixia::emulation_rsvp_config . . . . . . . . . . . . . . . . . . . . . . . 20-2

::ixia::emulation_rsvp_tunnel_config . . . . . . . . . . . . . . . . . 20-7

::ixia::emulation_rsvp_control . . . . . . . . . . . . . . . . . . . . . 20-14

::ixia::emulation_rsvp_info . . . . . . . . . . . . . . . . . . . . . . . . 20-15

::ixia::emulation_rsvp_tunnel_info . . . . . . . . . . . . . . . . . . 20-18

Chapter 21 TELNET APIs


::ixia::emulation_telnet_config . . . . . . . . . . . . . . . . . . . . . . 21-2

::ixia::emulation_telnet_traffic_config. . . . . . . . . . . . . . . . 21-10

::ixia::emulation_telnet_stats . . . . . . . . . . . . . . . . . . . . . . 21-14

::ixia::emulation_telnet_control_config. . . . . . . . . . . . . . . 21-23

::ixia::emulation_telnet_control . . . . . . . . . . . . . . . . . . . . 21-29

Appendix A Example APIs


IxNetwork/IxRouter Examples . . . . . . . . . . . . . . . . . . . . . . . A-3

viii HLTAPI Commands, Release 2.80 Rev. B


Table of Contents

IxAccess Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-81

IxOS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-101

IxLoad Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-110

HLTAPI Commands, Release 2.80 Rev. B ix


Table of Contents

x HLTAPI Commands, Release 2.80 Rev. B


About This Guide

This guide describes the Ixia implementation of the Cisco High Level Tcl API.
The intended audience consists of Cisco test technicians who configure Ixia test
equipment and software.

The intent of the HLTAPI is to make the use of the test equipment easier to auto-
mate. The HLTAPI hides Ixia’s lower level API, greatly reducing test script
changes when Ixia’s lower level API changes in newer releases. Any differences
will be hidden under the HLTAPI, making them completely transparent to the
end user, and thus requiring no changes to the test scripts themselves.

The Ixia HLTAPI adheres to the following Cisco requirements:

• It is a self-contained package containing everything needed to use the


library. The individual test technician uses the TCL “package require”
command to use the Ixia HLTAPI calls.

• It is distributed from a link off of the ATS Web site.

The following sections are contained in this preface:

• Installing HLTAPI on page xii

• Notes on page xv

• What’s New in Release 2.80 SP2 on page xvii

HLTAPI Commands xi
Preface

Installing HLTAPI
Windows The HLTAPI package is provided in two forms, either a ZIP file or a TAR file.
They are named, respectively:

ixia_hlt_api_package_<release>.zip

ixia_hlt_api_package_<release>.tar

where <release> is the release designation.

These file contains all the libraries and utilities required to call the Ixia package.

NOTE: When installing HLTAPI on a chassis, the TclIx component must be


installed in the following directory:

Program Riles/ixia/tclscripts/lib

To install the HLTAPI


1. Download either the ZIP or TAR file from the portal.

2. Extract and copy all directories and files from the ZIP or TAR file into your
TclScripts/lib directory.

3. Verify that the installed environment has a pointer to the location of the pack-
age files.

To access the library procs


• Use the following command:
package require Ixia

NOTE: pkgIndex.tcl files are now provided for IxOS 3.65, 3.70, and 3.80 and
need to be put in place by the user. Future versions of the released IxOS code
for 3.70 and forward will contain the changes in these files, but this allows users
to move forward without having to wait. These files are named
pkgIndex.tcl.install but need to be renamed to pkgIndex.tcl when the user
places them in the proper directories.

UNIX To install the HLTAPI on a Linux/Solaris machine:

1. Download either the ZIP or TAR file from the portal.

2. Extract and copy all directories and files from the ZIP or TAR file into the lib
directory of the IxOS client installation. For example, if the IxOS client is
installed in /home/ixia/ixos4.0, the HLTAPI should be extracted to /home/ixia/
ixos4.0/lib.

Alternatively, create a HLTAPI only and directly extract the files there. In this
case, set the TCLLIBPATH to point to both IXIA client installation and the
HLTAPI installation.

xii HLTAPI Commands


Preface

3. Add the following environment variables to point to the HLTAPI package:

• IXIA_HOME – where the IxOS client is installed.

• IXIA_VERSION – version of IxOS client software. This will be one of


several preset options. See Setting the IXIA_VERSION Variable on page
xiii for more information on how to set this variable.

• TCLLIBPATH – path to the TCL code where the package can be found

See example below:


IXIA_HOME=/home/ixia/ixos4.0
IXIA_VERSION=HLTSET8
TCLLIBPATH=$IXIA_HOME/lib
If HLTAPI is installed in it’s own directory, set TCLLIBPATH to also point to
the HLTAPI directory. For example:
HLTAPI_HOME=/home/hltapi2.4
TCLLIBPATH="$IXIA_HOME/lib $HLTAPI_HOME"
To access HLTAPI library procs, issue the following commands in Tcl or expect
shell:
package require Ixia

NOTE: On an IxOS Windows installation, all the protocols must be installed.


For Cisco IxOS bundled packages (release 3.80 and prior), the "MCAST-01P"
protocol is commonly not installed. Without this package, the HLTAPI
::ixia::connect call generates the following message:

invalid command name ‘mldServer’.

If this or a similar error message appears in IxOS 4.00 (or later), install the
IxRouter or IxNetwork package on both the IxOS chassis and IxOS client.

Setting the IXIA_VERSION Variable


As of the 2.70 HLTAPI release, the IXIA_VERSION variable no longer uses just
the IxOS version number as its setting. Depending on the test environment, a pre-
defined set of values is defined for each of the HLTAPI compatible products.
Table 2-1 on page 2-xiii shows the possible values for IXIA_VERSION.
Table 2-1. IXIA_VERSION Values

env HLT IxOS IxRouter IxNetwork IxAccess IxLoad


(IXIA_VERSION)

HLTSET1 2.40 3.80 NA NA 2.00 NA

HLTSET2 2.40 4.00 4.00 NA 2.00 NA

HLTSET3 2.50 3.80 NA NA 2.00 NA

HLTSET4 2.50 4.00 4.00 NA 2.10 NA

HLTSET5 2.60 4.00 4.00 NA 2.10 NA

HLTAPI Commands xiii


Preface

Table 2-1. IXIA_VERSION Values

env HLT IxOS IxRouter IxNetwork IxAccess IxLoad


(IXIA_VERSION)

HLTSET6 2.60 4.00 4.10 NA 2.10 NA

HLTSET7 2.60 4.10 4.10 NA 2.20 NA

HLTSET8 2.70 4.00 4.10 NA 2.20 NA

HLTSET9 2.70 4.10 4.10 NA 2.20 3.00

HLTSET10 2.70 4.10 4.00 5.00 2.20 3.00

HLTSET11 2.80 4.00 4.10 N/A 2.20 N/A

HLTSET12 2.80 4.10 SP6 4.10 SP1 N/A 2.20 SP2 3.00 SP1
Patch 2 Patch 2

HLTSET13 2.80 4.10 SP5 N/A 5.00 N/A 3.00 SP1

HLTSET14 2.80 4.10 SP6 4.10 N/A 2.30 3.00 SP1

HLTSET15 2.80 4.10 SP6 N/A 5.00 2.30 3.00 SP1

HLTSET16 2.80 4.10 SP6 N/A 5.10 2.30 3.00 SP1

Determine what version of the product to be tested is used, then use the value in
the far left column as the value for IXIA_VERSION. If multiple products are
used, be sure to use a value that incorporates the appropriate version of all Ixia
products in the test.

Notes. The default setting for env(IXIA_VERSION) is HLTSET13. If the value is


set to an IxOS major.minor version, then the largest HLTSET list that
corresponds to that IxOS version is used.
IxAccess 2.20 requires Tcl 8.3. IxLoad 3.00 requires Tcl 8.4.

xiv HLTAPI Commands


Preface

Notes
Command Conventions.
• All the commands in this guide are in the following format:
-command_name_example

A dash (“-”) indicates the beginning of the command (it is a documenta-


tion convention only, and is not used when employing the command). If
the command is made up of multiple words, they are separated by an
underscore (“_”).

In a few instances in this manual, due to space constraints, commands are


forced to break in the middle of the word. When this happens, ignore the
dash indicating the word break when using the command. For example, if
the following command were shown in the manual:
-command_name_ex-
ample

it should be used as follows:


command_name_example

However, if the command breaks at an underscore, it is still necessary to


include the underscore in the command. For example, if the following
command were shown in the manual:
-command_name_
example

it should be used as follows:


command_name_example

• Some commands in this manual are in colored text. Red commands are
Ixia specific commands, while blue commands are Cisco specific com-
mands. For example:
-ipv6_mpls_nlri

is an Ixia specific command, while


-remote_as

is a Cisco specific command.

HLTAPI Commands xv
Preface

HLTAPI
• In the traffic_config call, ICMP options are valid for IPv4 only; ICMP
options are not currently supported for IPv6 streams.

• IGMP is only supported on ports that contain a CPU.

• It is recommended that any applications using HLTAPI should be installed


on an intermediary workstation rather than on an Ixia chassis. In the case
of IxLoad, it is a requirement.

• When installing HLTAPI on a chassis, the TclIx component must be


installed in the following directory:
Program Riles/ixia/tclscripts/lib

xvi HLTAPI Commands


Preface

What’s New in Release 2.80 SP2


This section outlines the new features and changes from HLTAPI 2.80 to 2.80
SP2.
Table 2-2. New Features in HLTAPI 2.80 SP2

Feature Description Link

IGMPoPPP support IGMPoPPP is now supported. See Chapter 8, IGMPvX APIs for
more information

IxAccess DHCP The DHCP options for IxAccess are now See Chapter 5, DHCP APIs for
related API options available. more information

Per port aggregate Per port aggregated Type of Service statistics See Chapter 2, Traffic APIs for
TOS statistics are now available. more information

Per session traffic Per session traffic statistics are now available. See Chapter 2, Traffic APIs for
statistics more information

HLTAPI Commands xvii


Preface

xviii HLTAPI Commands


Session APIs
1
Chapter 1:

This chapter covers the following topics:

• ::ixia::connect on page 1-2.

• ::ixia::interface_config on page 1-4.

• ::ixia::cleanup_session on page 1-15.

• ::ixia::interface_stats on page 1-16.

HLTAPI Commands, Release 2.80 Rev. B 1-1


Session APIs
1

NAME — ::ixia::connect

DESCRIPTION This command connects to the Ixia Chassis, takes ownership of selected ports,
and optionally loads a configuration on the chassis or resets the targeted ports to
factory defaults.

SYNOPSIS ::ixia::connect
-device ip address or chassis name
-port_list interface list
[-reset]
[-config_file chassis configuration file]
[-username username]
[-break_locks CHOICES 0 1]
[-sync CHOICES 0 1]
[-tcl_server tcl server ip address]
[-timeout]
[-nobios]
[-forceload]

ARGUMENTS

-device IP address or name of the chassis. May contain a list of devices.

-reset Resets the card to factory defaults.

-config_file Name of a file containing Ixia configuration information. Must be a .chs file of
an exported chassis from IxExplorer.

-port_list List of Ixia ports of which to take ownership. If multiple devices are specified,
then this is a list of lists. A single item is of the form card number / port number.
So card 2, port 4 would look like 2/4.

-username Username for logging on to the chassis.

-break_locks Valid choices are:

Value Usage

0 Force option is not used.


1 Force option is used when taking ownership.

-sync If enabled, the ixClearTimeStamps routine is called for the reserved port list.

-tcl_server IP address or name of the ixTclServer. Default is the first item in option "device"
list.

-timeout

-nobios

-forceload

1-2 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
port_handle.$device.$port Port in the form of c/l/p.

EXAMPLES See all of the sample files in the Samples subdirectory.


There are also examples shown in Appendix A, "Example
APIs," for usages of the connect procedure.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 1-3


Session APIs
1

NAME — ::ixia::interface_config

DESCRIPTION This command configures an interface on an Ixia Load Module. It provides the
means for managing the Ixia Chassis Test Interface options. Depending on
whether the port is a SONET, Ethernet or ATM type, you have access to the
appropriate protocol properties.

This command accommodates addressing schemes such as like IPv4, IPv6, MAC
and VLAN. You also have access to the SONET properties for a PoS port, and if
the port is configured for PPP, you have access to the PPP configuration options.

SYNOPSIS ::ixia::interface_config
-port_handle interface list
[-intf_mode CHOICES atm pos_hdlc pos_ppp
ethernet frame_relay1490 frame_relay2427
frame_relay_cisco srp srp_cisco rpr gfp]
[-mode CHOICES config modify
destroy]
[-speed CHOICES ether10 ether100
ether1000 oc3 oc12 oc48 oc192 ether10000wan
ether10000lan]
[-phy_mode CHOICES copper fiber]
[-clocksource CHOICES internal loop
external]
[-op_mode CHOICES loopback normal
monitor sim_disconnect]
[-framing CHOICES sonet sdh]
[-rx_fcs CHOICES 16 32]
[-tx_fcs CHOICES 16 32]
[-rx_scrambling CHOICES 0 1]
[-tx_scrambling CHOICES 0 1]
[-rx_c2]
[-tx_c2]
[-duplex CHOICES half full]
[-autonegotiation CHOICES 0 1]
[-vlan CHOICES 0 1]
[-src_mac_addr]
[-intf_ip_addr IP]
[-ipv6_intf_addr IP]
[-netmask IP]
[-ipv6_prefix_length]
[-gateway IPV4]
[-arp_send_req CHOICES 0 1]
[-arp_req_retries]
[-arp_req_timer RANGE 1-100]
[-vpi RANGE 0-255]
[-vci RANGE 32-65535]
[-atm_encapsulation CHOICES VccMuxIPV4Routed
VccMuxBridgedEthernetFCS VccMuxBridgedEthernetNoFCS
VccMuxIPV6Routed VccMuxMPLSRouted LLCRoutedCLIP
LLCBridgedEthernetFCS LLCBridgedEthernetNoFCS
LLCPPPoA VccMuxPPPoA LLCNLPIDRouted]
[-atm_enable_coset CHOICES 0 1]
[-atm_enable_pattern_matching CHOICES 0 1]
[-atm_filler_cell CHOICES idle unassigned]
[-atm_interface_type CHOICES uni nni]

1-4 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

[-atm_packet_decode_mode CHOICES frame cell]


[-atm_reassembly_timeout NUMERIC]
[-data_integrity CHOICES 0 1]
[-no_write FLAG]
[-pgid_128k_bin_enable CHOICES 0 1]
[-pgid_mask]
[-pgid_offset RANGE 4-32677]
[-port_rx_mode CHOICES capture
packet_group data_integrity sequence_checking
wide_packet_group echo auto_detect_instrumentation]
[-ppp_ipv4_address IP]
[-ppp_ipv4_negotiation CHOICES 0 1]
[-ppp_ipv6_negotiation CHOICES 0 1]
[-ppp_mpls_negotiation CHOICES 0 1]
[-ppp_osi_negotiation CHOICES enable disable]
[-qos_stats CHOICES 0 1]
[-qos_byte_offset RANGE 0-63]
[-qos_pattern_offset RANGE 0-65535]
[-qos_pattern_match]
[-qos_pattern_mask]
[-qos_packet_type CHOICES ethernet ip_snap
vlan custom ip_ppp ip_cisco_hdlc ip_atm]
[-rpr_hec_seed CHOICES 0 1]
[-sequence_checking CHOICES 0 1]
[-sequence_num_offset RANGE 24-64000]
[-signature REGEXP ^[0-9a-fA-F]{2}
([.: ]{0,1}){0,11}[0-9a-fA-F]{2}$]
[-signature_mask REGEXP ^[0-9a-fA-F]{2}
([.: ]{0,1}){0,11}[0-9a-fA-F]{2}$]
[-signature_offset RANGE 24-64000]
[-integrity_signature REGEXP ^[0-9a-fA-F]{2}
([.: ]{0,1}){0,11}[0-9a-fA-F]{2}$]
[-integrity_signature_offset RANGE 24-64000]
[-transmit_mode CHOICES advanced stream
flow echo]
[-vlan_id RANGE 0-4096]
[-vlan_user_priority RANGE 0-7]
[-rx_hec]
[-long_lof_wait]
[-crlf_path_trace]
[-tx_enhanced_prdi]
[-rx_enhanced_prdi]
[-ss_bits_pointer_interp]
[-output_enable]
[-tx_k2]
[-tx_s1]
[-signal_fail_ber]
[-auto_line_rdi]
[-auto_line_rei]
[-auto_path_rdi]
[-auto_path_rei]
[-section_unequip]
[-aps]
[-aps_channel]
[-aps_switch_mode]
[-aps_arch]
[-pause_length]

HLTAPI Commands, Release 2.80 Rev. B 1-5


Session APIs
1
[-ignore_pause_frames]
[-interpacket_gap]
[-dst_mac_addr]
[-aps_request_1_1]
[-aps_request_1_n]
[-ipv6_gateway]
[-control_plane_mtu]

ARGUMENTS

-port_handle List of ports of which to take ownership and perform configuration.

-intf_mode SONET header type. Valid choices are:

Value Usage

atm N/A
pos_hdlc N/A
pos_ppp N/A
ethernet N/A
frame_relay1490 N/A
frame_relay2427 N/A
frame_relay_cisco N/A
srp N/A
srp_cisco N/A
rpr N/A
gfp N/A

-mode Action to be taken on the interface selected. Valid choices are:

Value Usage

config N/A
destroy N/A
modify N/A

-speed Speed at which each interface is configured. Valid choices are:

Value Usage

ether10 N/A
ether100 N/A
ether1000 N/A
oc3 N/A
oc12 N/A
oc48 N/A
oc192 N/A
ether10000wan N/A
ether10000lan N/A

1-6 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

-phy_mode For dual mode ethernet interfaces only. Valid choices are:

Value Usage

copper N/A
fiber N/A

-clocksource Clock source for SONET interfaces at which each interface is configured. Valid
choices are:

Value Usage

internal Transmit Clocking Internal


loop Transmit Clocking Recovered
external Transmit Clocking External (77.76MHz)

-op_mode Operational mode on the interface. Valid choices are:

Value Usage
loopback N/A
normal N/A
monitor N/A
sim_disconnect N/A

-framing POS interface type. Valid choices are:

Value Usage

sonet N/A
sdh N/A

-rx_fcs FCS value (16 or 32) for the receiving side of each interfaces. Valid choices are:

Value Usage
16 N/A
32 N/A

-tx_fcs FCS value (16 or 32) for the transmitting side of each interfaces. Valid choices
are:

Value Usage

16 N/A
32 N/A

-rx_scrambling Whether to enable data scrambling in the SONET framer of the Ixia interface.
(SPE Scrambling = X^43+1). Valid choices are:

Value Usage
0 Disable.
1 (default) Enable.

HLTAPI Commands, Release 2.80 Rev. B 1-7


Session APIs
1
-tx_scrambling Whether to enable data scrambling in the SONET framer of the Ixia interface.
(SPE Scrambling = X^43+1). Valid choices are:

Value Usage

0 Disable.
1 (default) Enable.

-rx_c2 Receive Path Signal Label for the Ixia interface.

-tx_c2 Transmit Path Signal Label for the Ixia interface.

-duplex Whether duplex is full or half. Valid choices are:

Value Usage

full N/A
half N/A

-autonegotiation Whether to enable auto-negotiation on each interface. Valid choices are:

Value Usage
0 Disable.
1 (default) Enable.

-vlan Whether to enable VLAN on the traffic generation tool interfaces. Valid choices
are:

Value Usage
1 Enable.
0 (default) Disable.

-src_mac_addr MAC address of the port. Valid formats are:

{00 00 00 00 00 00}, 00:00:00:00:00:00, 0000.0000.0000, 00.00.00.00.00.00,


{0000 0000 0000}

-intf_ip_addr List of IP addresses that configure each of the traffic generation tool interfaces.

-ipv6_intf_addr List of IPv6 addresses that configure each of the traffic generation tool interfaces.

-netmask Network mask used for IP address configuration of the traffic generation tool
interfaces.

-ipv6_prefix_length

-gateway List of IP addresses that configure the addresses of the gateway (that is, the DUT
interface IP addresses).

1-8 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

-arp_send_req Whether sending an ARP request to the DUT is enabled. You can use this basic
function to ensure correct addressing of the interfaces. By default, the ARP is
sent on the Ethernet port. Valid choices are:

Value Usage

0 (default) Disable.
1 Enable.

-arp_req_retries

-arp_req_timer (depracated) The value has no effect on the code. It was left in so as not to break
existing scripts that attempt to use it.

-atm_encapsulation Sets atm encapsulation type for ports that support ATM feature

-atm_enable_coset If 1, enables the Coset algorithm to be used with the Header Error Control (HEC)
byte.

(DEFAULT = 1)

-atm_enable_pattern_ If 1, then the use of capture and filter based on ATM patterns is enabled and the
matching maximum number of VCCs is reduced to 12,288.

(DEFAULT = 1)

-atm_filler_cell SONET frame transmission is continuous even when data or control messages
are not being transmitted. This option allows the cell type that is transmitted dur-
ing these intervals. Valid choices are:

Value Usage

idle (default) idle cells are transmitted with VPI/


VCI = 0/0 and CLP = 0.
unassigned unassigned cells are transmitted with VPI/VCI
= 0/0 and CLP = 0.

-atm_interface_type The type of interface to emulate. Valid choices are:

Value Usage

uni (default) user to network interface


nni network to network interface

-atm_packet_decode_ This setting controls the interpretation of received packets when they are
mode decoded. Valid choices are:

Value Usage

frame (default) Decode the packet as a frame.


cell Decode the packet as an ATM cell.

HLTAPI Commands, Release 2.80 Rev. B 1-9


Session APIs
1
-atm_reassembly_timeout Sets the value for the Reassembly Timeout, which is the period of time
(expressed in seconds) that the receive side will wait for another cell on that
channel - for reassembly of cells into a CPCS PDU (packet). If no cell is
received within that period, the timer will expire.

(DEFAULT = 10)

-data_integrity Whether to enable the data integrity checking capability on the port. Valid
choices are:

Value Usage

0 (default) Disable.
1 Enable.

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-pgid_128k_bin_enable Enables the 128k bin mode so that the wide packet group receive mode will be
larger.

-pgid_mask The mask value to use when the -port_rx_mode is set to wide_packet_group.
Value is by default a two byte value, in hex form, without any spaces (e.g.,
AAAA).

-pgid_offset The group ID offset value. If -port_rx_mode is set to auto_detect_instrumenta-


tion then this offset will be ignored, only the pgid value is needed.

-port_rx_mode Configure the Receive Engine of the Ixia port. Valid choices are:

Value Usage

capture Capture packets.


latency Calculate latency.
data_integrity Check data integrity.
sequence_checking Check data sequencing.
packet_group Compile statistics for specified packet group.
PGID is 2 bytes.
wide_packet_group Compile statistics for specified packet group.
PGID is 4 bytes, but only the low order 17
bits are active.
auto_detect_instrumentation Automatic instrumentation detection This
option includes wide_packet_group mode
also. If this option is set then, for PGID, data
integrity checking and sequence checking
there will be no need for specifying signature
offset, only signature value will be provided.
echo Gigabit echo mode.

-ppp_ipv4_address IPv4 address for which to enable or disable PPP IPv4 negotiation.

1-10 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

-ppp_ipv4_negotiation Whether to enable PPP IPv4 negotiation on this port. Valid choices are:

Value Usage

0 Disable.
1 (default) Enable.

-ppp_ipv6_negotiation Whether to enable PPP IPv6 negotiation on this port. Valid choices are:

Value Usage

0 Disable.
1 (default) Enable.

-ppp_mpls_negotiation Whether to enable PPP MPLS negotiation on this port. Valid choices are:

Value Usage
0 Disable.
1 (default) Enable.

-ppp_osi_negotiation Whether to enable OSI Network Control protocol on the Ixia PoS port. Valid
choices are:

Value Usage
0 Disable.
1 (default) Enable.

-qos_stats Whether to have access to the QOS (IP TOS PRECEDENCE) statistics on this
port. Valid choices are:

Value Usage

0 Disable.
1 (default) Enable.

-qos_byte_offset The byte offset from the beginning of the packet for the byte which contains the
QoS level for the packet.

(DEFAULT = 14)

-qos_pattern_offset The byte offset from the beginning of the packet for the byte(s) that contains a
value to be matched. If the pattern is matched, then the packet is deemed to con-
tain a QoS level.

(DEFAULT = 12)

-qos_pattern_match The value to be matched for at the Pattern Match Offset, subject to the Pattern
Match Mask. The value is in hex.

(DEFAULT = 8100)

-qos_pattern_mask The mask to be applied to the pattern match. Value of 1 indicate that the corre-
sponding bit is not to be matched.

(DEFAULT = 0000)

HLTAPI Commands, Release 2.80 Rev. B 1-11


Session APIs
1
-qos_packet_type The type of packet that the QoS counters are looking for priority bits within.
Choices are: ethernet, ip_snap, vlan, custom, ip_ppp, ip_cisco_hdlc, ip_atm.

(DEFAULT = vlan)

-sequence_checking Whether to enable the frame sequence capability on this port. Valid choices are:

Value Usage

0 (default) Disable.
1 Enable.

-rpr_hec_seed The initial setting of the CRC for the 16 byte header. This option is used only
when intf_mode is set to rpr. Valid choices are:

Value Usage

0 (default) 0x0000
1 0xFFFF

-sequence_num_offset The offset of the sequence number in the packet.

If -port_rx_mode is set to auto_detect_instrumentation then this

offset will be ignored.

(DEFAULT = 44)

-signature Signature used in the packet for Packet Group Statistics when packet groups or
wide packet groups are enable. This signature will be searched into the received
packets at offset represented by -signature_offset.

(DEFAULT = "DE AD BE EF")

If -port_rx_mode is set to auto_detect_instrumentation then this option will rep-


resent the a signature value of 12 hex bytes. This signature will be searched into
the received packets starting with offset -signature_start_offset.

(DEFAULT = "87 73 67 49 42 87 11 80 08 71 18 05")

-signature_mask Sets the signature mask when -port_rx_mode is set to auto_detect_instrumenta-


tion. Value 1 means don't care and value 0 means that that bit should correspond
to the signature. If -signature is "00 00 00 00 00 00 00 00 23 45 67 89" and the -
signature_mask is "FF FF FF FF FF FF FF FF 00 00 00 00", then only last 4
bytes will be searched in the packet. (DEFAULT = "00 00 00 00 00 00 00 00 00
00 00 00")

-signature_offset The offset of the signature in the packet. You can configure a fully customized
signature in the packet for advanced testing. The signature of the packet is a 4-
byte value, "DE AD BE EF". This signature is used for ease of readability when
capturing packets. If -port_rx_mode is set to auto_detect_instrumentation then
this offset will be ignored.

(DEFAULT = 48 bytes)

-signature_start_offset If -port_rx_mode is set to auto_detect_instrumentation then this will be the offset


start to search into the received packets for -signature <signature> option.

(DEFAULT = 0 bytes)

1-12 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

-integrity_signature Signature used in the packet for data integrity checking. When the Receive Mode
for a port is configured to check for data integrity, received packets are matched
for the data integrity signature value. This signature is a 4-byte value.

(DEFAULT = "08 71 18 05")

-integrity_signature_offset The offset of the data integrity signature in the packet. If -port_rx_mode is set to
auto_detect_instrumentation then this offset will be ignored, only the -integrity_
signature is needed.

(DEFAULT = 40 bytes)

-transmit_mode Type of stream for this port. Valid choices are:

Value Usage

advanced (default) Sets up the hardware to use the


advanced stream scheduler, which involves
the ability to interleave differing streams
within one stream definition.
stream Sets up the hardware to use normal streams.
flow Sets up the hardware to use flows.
echo Sets up port to echo received packets (for
gigabit cards only).

-vlan_id VLAN ID of each interface where VLAN is enabled. Valid choices are between
0 and 4095, inclusive.

(DEFAULT = 0)

-vlan_user_priority If VLAN is enabled on the interface, the priority of the VLAN. Valid choices are
between 0 and 7, inclusive.

(DEFAULT = 0)

-rx_hec

-long_lof_wait

-crlf_path_trace

-tx_enhanced_prdi

-rx_enhanced_prdi

-ss_bits_pointer_interp

-output_enable

-tx_k2

-tx_s1

-signal_fail_ber

-auto_line_rdi

-auto_line_rei

HLTAPI Commands, Release 2.80 Rev. B 1-13


Session APIs
1
-auto_path_rdi

-auto_path_rei

-section_unequip

-aps

-aps_channel

-aps_switch_mode

-aps_arch

-pause_length

-ignore_pause_frames

-interpacket_gap

-dst_mac_addr

-aps_request_1_1

-aps_request_1_n

-ipv6_gateway

-control_plane_mtu

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
interface_handle A handle that can be used in router configs

EXAMPLES See files starting with Interface_ in the Samples


subdirectory. Also see most of the other sample files
for further examples of the usage. See Appendix A,
"Example APIs," for further examples of the interface_
config usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) You can configure multiple interfaces on the same Ixia port.

SEE ALSO

1-14 HLTAPI Commands, Release 2.80 Rev. B


Session APIs

NAME — ::ixia::cleanup_session

DESCRIPTION This command disconnects, resets to factory defaults, and removes ownership
from a list of ports. This command can be used after a script is run.

SYNOPSIS ::ixia::cleanup_session
[-maintain_lock CHOICES 1 0]
[-port_handle interface list]
[-reset]
[-handle]

ARGUMENTS

-maintain_lock Valid choices are:

Value Usage
0 Unlock test ports. Use this value at end of
tests.
1 Do not unlock test ports. Use this value at
beginning of tests.

-port_handle List ports to release.

-reset Reset the ports to factory defaults before releasing them.

-handle

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.

EXAMPLES See the file Streams_IPv4_stats.tcl in the Samples


subdirectory for a specific example of the usage of this
command. See Appendix A, "Example APIs," for further
examples.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 1-15


Session APIs
1

NAME — ::ixia::interface_stats

DESCRIPTION Retrieves interface statistics and counter information for the specified test port.

SYNOPSIS ::ixia::interface_stats
-port_handle

ARGUMENTS

-port_handle List ports to release.

RETURN VALUES

Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
intf_type same info as intf_mode of interface_config
framing SONET or SDH, if applicable
card_name official card name
port_name official port name
intf_speed same info as speed in interface_config
tx_frames frames sent
rx_frames frames received
elapsed_time transmit duration
rx_collisions collision frames received
total_collisions total collisions
duplex duplex value, full or half
fcs_errors number of fcs errors
late_collision number of late collisions
link link value representative of an IxTclHal enum

EXAMPLES

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

All keys that are not listed in this documentation are not supported in the current
implementation of this command.

SEE ALSO

1-16 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs
2
Chapter 2:

This chapter covers the following topics:

• ::ixia::traffic_config on page 2-2.

• ::ixia::traffic_control on page 2-45.

• ::ixia::traffic_stats on page 2-47.

HLTAPI Commands, Release 2.80 Rev. B 2-1


Traffic APIs
2

NAME — ::ixia::traffic_config

DESCRIPTION This command configures traffic streams on the specified port with the specified
options.

SYNOPSIS ::ixia::traffic_config
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
-mode CHOICES create modify remove
reset enable
[-port_handle2 REGEXP ^[0-9]+/[0-9]+/[0-9]+$
[-emulation_src_handle]
[-emulation_dst_handle]
[-bidirectional FLAG]
[-stream_id RANGE 1-255]
[-length_mode CHOICES fixed increment
random auto imix gaussian quad]
[-l3_length RANGE 1-64000]
[-l3_length_min RANGE 1-64000]
[-l3_length_max RANGE 1-64000]
[-l3_imix1_size RANGE 32-1518]
[-l3_imix1_ratio]
[-l3_imix2_size RANGE 32-1518]
[-l3_imix2_ratio]
[-l3_imix3_size RANGE 32-1518]
[-l3_imix3_ratio]
[-l3_imix4_size RANGE 32-1518]
[-l3_imix4_ratio]
[-l3_gaus1_avg DECIMAL]
[-l3_gaus1_halfbw DECIMAL]
[-l3_gaus1_weight NUMERIC]
[-l3_gaus2_avg DECIMAL]
[-l3_gaus2_halfbw DECIMAL]
[-l3_gaus2_weight NUMERIC]
[-l3_gaus3_avg DECIMAL]
[-l3_gaus3_halfbw DECIMAL]
[-l3_gaus3_weight NUMERIC]
[-l3_gaus4_avg DECIMAL]
[-l3_gaus4_halfbw DECIMAL]
[-l3_gaus4_weight NUMERIC]
[-rate_pps]
[-rate_bps]
[-rate_percent RANGE 0-100]
[-transmit_mode CHOICES continuous
random_spaced single_pkt single_burst multi_burst
continuous_burst return_to_id return_to_id_for_count
advance]
[-pkts_per_burst INTEGER]
[-burst_loop_count INTEGER]
[-inter_burst_gap INTEGER]
[-inter_stream_gap INTEGER]
[-vlan_id RANGE 0-4095]
[-vlan_id_count RANGE 0-4095]
[-vlan_id_step NUMERIC]
[-vlan_user_priority RANGE 0-7]
[-vlan_id_mode CHOICES fixed increment
decrement random]

2-2 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

[-vlan_cfi CHOICES 0 1]
[-fcs CHOICES 0 1]
[-mpls_labels]
[-l2_encap CHOICES atm_vc_mux
atm_vc_mux_ethernet_ii atm_vc_mux_802.3snap
atm_vc_mux_802.3snap_nofcs atm_vc_mux_ppp
atm_vc_mux_pppoe atm_snap atm_snap_ethernet_ii
atm_snap_802.3snap atm_snap_802.3snap_nofcs
atm_snap_ppp atm_snap_pppoe hdlc_unicast
hdlc_broadcast hdlc_unicast_mpls hdlc_multicast_mpls
ethernet_ii ethernet_ii_unicast_mpls
ethernet_ii_multicast_mpls ethernet_ii_vlan
ethernet_ii_vlan_unicast_mpls
ethernet_ii_vlan_multicast_mpls ethernet_ii_pppoe
ethernet_ii_vlan_pppoe ppp_link ietf_framerelay
cisco_framerelay]
[-mac_src MAC]
[-mac_src_mode CHOICES fixed increment
decrement random emulation]
[-mac_src_step MAC]
[-mac_src_count INTEGER]
[-mac_dst MAC]
[-mac_dst_mode CHOICES fixed increment
decrement discovery random]
[-mac_dst_step MAC]
[-mac_dst_count INTEGER]
[-mac_src2 MAC]
[-mac_dst2 MAC]
[-l3_protocol CHOICES ipv4 ipv6 arp
pause_control ipx]
[-ip_src_addr IP]
[-ip_src_mode CHOICES fixed increment
decrement random emulation]
[-ip_src_count 1-1000000]
[-ip_src_step IP]
[-ip_dst_addr IP]
[-ip_dst_mode CHOICES fixed increment
decrement random emulation]
[-ip_dst_count 1-1000000]
[-ip_dst_step IP]
[-ip_fragment_offset RANGE 0-8191]
[-ip_fragment CHOICES 0 1]
[-ip_fragment_last CHOICES 0 1]
[-ip_ttl RANGE 0-255]
[-ip_protocol RANGE 0-255]
[-ip_id RANGE 0-65535]
[-ip_precedence RANGE 0-7]
[-ip_dscp RANGE 0-63]
[-ipv6_src_addr IPV6]
[-ipv6_src_mode CHOICES fixed increment
decrement random]
[-ipv6_src_count 1-1000000]
[-ipv6_src_step IPV6]
[-ipv6_dst_addr IPV6]
[-ipv6_dst_mode CHOICES fixed increment
decrement random]
[-ipv6_dst_count RANGE 1-1000000]

HLTAPI Commands, Release 2.80 Rev. B 2-3


Traffic APIs
2
[-ipv6_dst_step IPV6]
[-ipv6_traffic_class RANGE 0-255]
[-ipv6_flow_label RANGE 0-1048575]
[-ipv6_hop_limit RANGE 0-255]
[-ipv6_frag_offset RANGE 0-8191 DEFAULT 100]
[-ipv6_frag_more_flag FLAG CHOICES 0 1 DEFAULT 0 ]
[-ipv6_frag_id RANGE 0-4294967295
DEFAULT 286335522]
[-l4_protocol CHOICES icmp igmp ggp gre ip
st tcp ucl egp igp bbn_rcc_mon nvp_ii pup argus emcon
xnet chaos udp mux dcn_meas hmp prm xns_idp trunk_1
trunk_2 leaf_1 leaf_2 rdp irtp iso_tp4 netblt mfe_nsp
merit_inp sep cftp sat_expak mit_subnet rvd ippc
sat_mon ipcv br_sat_mon wb_mon wb_expak rip]
[-icmp_type RANGE 0-255]
[-icmp_code RANGE 0-255]
[-icmp_id RANGE 0-65535]
[-icmp_seq RANGE 0-65535]
[-udp_src_port RANGE 0-65535]
[-udp_dst_port RANGE 0-65535]
[-tcp_src_port RANGE 0-65535]
[-tcp_dst_port RANGE 0-65535]
[-tcp_seq_num RANGE 0-65535]
[-tcp_ack_num RANGE 0-65535]
[-tcp_window RANGE 0-65535]
[-tcp_urgent_ptr RANGE 0-65535]
[-tcp_urg_flag CHOICES 0 1]
[-tcp_psh_flag CHOICES 0 1]
[-tcp_syn_flag CHOICES 0 1]
[-tcp_ack_flag CHOICES 0 1]
[-tcp_rst_flag CHOICES 0 1]
[-tcp_fin_flag CHOICES 0 1]
[-igmp_group_addr IP]
[-igmp_group_mode CHOICES fixed increment
decrement]
[-igmp_group_count RANGE 0-65535]
[-igmp_max_response_time RANGE 0-255]
[-igmp_type CHOICES membership_query
membership_reportdvmrp leave_group]
[-igmp_version CHOICES 1 2 3]
[-vpi RANGE 0-4096]
[-vci RANGE 0-65535]
[-vpi_step RANGE 0-4095]
[-vpi_count RANGE 0-4096]
[-vci_step RANGE 0-65534]
[-vci_count RANGE 0-65535]
[atm_header_aal5error CHOICES no_error bad_crc]
[atm_header_cell_loss_priority CHOICES 0 1]
[atm_header_cpcs_length RANGE 28-65535]
[atm_header_enable_auto_vpi_vci CHOICES 0 1]
[atm_header_enable_cl CHOICES 0 1]
[atm_header_enable_cpcs_length CHOICES 0 1]

2-4 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

[atm_header_encapsulation CHOICES vcc_mux_ipv4_routed


vcc_mux_bridged_eth_fcs vcc_mux_bridged_eth_no_fcs
vcc_mux_ipv6_routed vcc_mux_mpls_routed
llc_routed_clip llc_bridged_eth_fcs
llc_bridged_eth_no_fcs llc_pppoa vcc_mux_ppoa
llc_nlpid_routed]
[atm_header_generic_flow_ctrl RANGE 0-15]
[atm_header_hec_errors RANGE 0-8]
[atm_counter_vpi_data_item_list ANY]
[atm_counter_vci_data_item_list ANY]
[atm_counter_vpi_mask_select ANY]
[atm_counter_vci_mask_select ANY]
[atm_counter_vpi_mask_value ANY]
[atm_counter_vci_mask_value ANY]
[atm_counter_vpi_mode CHOICES incr cont_incr decr
cont_decr]
[atm_counter_vci_mode CHOICES incr cont_incr decr
cont_decr]
[atm_counter_vpi_type CHOICES fixed counter random
table]
[atm_counter_vci_type CHOICES fixed counter random
table]
[-data_pattern]
[-data_pattern_mode CHOICES incr_byte decr_byte
fixed random repeating]
[-dhcp_boot_filename]
[-dhcp_client_hw_addr]
[-dhcp_client_ip_addr IP]
[-dhcp_flags CHOICES broadcast no_
broadcast]
[-dhcp_hops NUMERIC]
[-dhcp_hw_len NUMERIC]
[-dhcp_hw_type RANGE 1-21]
[-dhcp_operation_code CHOICES reply request]
[-dhcp_relay_agent_ip_addr IP]
[-dhcp_seconds NUMERIC]
[-dhcp_server_host_name]
[-dhcp_server_ip_addr IP]
[-dhcp_transaction_id NUMERIC]
[-dhcp_your_ip_addr IP]
[-enable_data_integrity CHOICES 0 1]
[-ethernet_type CHOICES ethernetII
ieee8023snap ieee8023 ieee8022]
[-ethernet_value HEX]
[-enable_auto_detect_instrumentation CHOICES 0 1]
[-fcs_type CHOICES bad_CRC no_CRC
alignment dribble]
[-frame_sequencing CHOICES enable disable]
[-frame_sequencing_offset]
[-frame_size RANGE 20-13312]
[-frame_size_max RANGE 20-13312]
[-frame_size_min RANGE 20-13312]
[-frame_size_step RANGE 0-13292]
[-gre_checksum_enable CHOICES 0 1]
[-gre_checksum HEX]
[-gre_key_enable CHOICES 0 1]
[-gre_key HEX]

HLTAPI Commands, Release 2.80 Rev. B 2-5


Traffic APIs
2
[-gre_reserved0 HEX]
[-gre_reserved1 HEX]
[-gre_seq_enable CHOICES 0 1]
[-gre_seq_number HEX]
[-gre_valid_checksum_enable CHOICES 0 1]
[-gre_version RANGE 0-7]
[-inner_protocol CHOICES ipv4 ipv6 HEX]
[-inner_ip_src_addr IPV4]
[-inner_ip_src_mode CHOICES fixed increment
decrement random]
[-inner_ip_src_count RANGE 1-1000000]
[-inner_ip_src_step IPV4]
[-inner_ip_dst_addr IPV4]
[-inner_ip_dst_mode CHOICES fixed increment
decrement random]
[-inner_ip_dst_count RANGE 1-1000000]
[-inner_ip_dst_step IPV4]
[-inner_ipv6_src_addr IPV6]
[-inner_ipv6_src_mode CHOICES fixed increment
decrement random]
[-inner_ipv6_src_count RANGE 1-1000000]
[-inner_ipv6_src_step IPV6]
[-inner_ipv6_dst_addr IPV6]
[-inner_ipv6_dst_mode CHOICES fixed increment
decrement random]
[-inner_ipv6_dst_count RANGE 1-1000000]
[-inner_ipv6_dst_step IPV6]
[-inner_ipv6_traffic_class RANGE 0-255]
[-inner_ipv6_flow_label RANGE 0-1048575]
[-inner_ipv6_hop_limit RANGE 0-255]
[-inner_ipv6_frag_offset RANGE 0-8191]
[-inner_ipv6_frag_more_flag FLAG]
[-inner_ipv6_frag_id RANGE 0-4294967295]
[-integrity_signature REGEXP ^([0-9a-fA-F]{2}[.:
]{0,1}){0,3}[0-9a-fA-F]{2}$]
[-integrity_signature_offset RANGE 12-65535]
[-ip_length_override CHOICES 0 1]
[-ip_total_length RANGE 0-65535]
[-ip_cost CHOICES 0 1]
[-ip_delay CHOICES 0 1]
[-ip_opt_security]
[-ip_opt_loose_routing IP]
[-ip_opt_strict_routing IP]
[-ip_opt_timestamp]
[-ip_reliability CHOICES 0 1]
[-ip_reserved CHOICES 0 1]
[-ip_throughput CHOICES 0 1]
[-isl CHOICES 0 1]
[-isl_bpdu]
[-isl_frame_type CHOICES ethernet atm fddi
token_ring]
[-isl_index]
[-isl_user_priority RANGE 0-7]
[-isl_vlan_id RANGE 1-4096]
[-ipv6_extension_header CHOICES none hop_by_hop
routing destination authentication fragment]
[-ipv6_hop_by_hop_options]

2-6 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

[-ipv6_routing_node_list IPV6]
[-ipv6_routing_res REGEXP ^([0-9a-fA-
F]{2}[.:]{1}){3}[0-9a-fA-F]{2}$ DEFAULT 00:00:00:00]
[-ipv6_frag_res_2bit RANGE 0-3 DEFAULT 3]
[-ipv6_frag_res_8bit RANGE 0-127 DEFAULT 30]
[-ipv6_auth_string REGEXP ^([0-9a-fA-
F]{2}[.:]{1})+[0-9a-fA-F]{2}$ DEFAULT 00:00:00:00]
[-ipv6_auth_payload_len RANGE 0-4294967295
DEFAULT 2]
[-ipv6_auth_spi RANGE 0-4294967295 DEFAULT 0]
[-ipv6_auth_seq_num RANGE 0-4294967295 DEFAULT 0]
[-l3_length_step RANGE 1-64000]
[-mpls CHOICES enable disable]
[-mpls_bottom_stack_bit CHOICES 0 1]
[-mpls_exp_bit]
[-mpls_ttl]
[-mpls_type CHOICES unicast multicast]
[-name]
[-no_write]
[-pause_control_time RANGE 0-65535]
[-qos_byte RANGE 0-127 DEFAULT 0]
[-qos_rate_mode CHOICES percent pps bps
DEFAULT bps]
[-qos_rate NUMERIC]
[-qos_atm_clp CHOICES 0 1 DEFAULT 0]
[-qos_atm_efci CHOICES 0 1 DEFAULT 0]
[-qos_atm_cr CHOICES 0 1 DEFAULT 0]
[-qos_fr_cr CHOICES 0 1 DEFAULT 0]
[-qos_fr_de CHOICES 0 1 DEFAULT 0]
[-qos_fr_becn CHOICES 0 1 DEFAULT 0]
[-qos_fr_fecn CHOICES 0 1 DEFAULT 0]
[-qos_ipv6_flow_label RANGE 0-1048575 DEFAULT 0]
[-qos_ipv6_traffic_class RANGE 0-255 DEFAULT 0]
[-enable_voice CHOICES 0 1 DEFAULT 0]
[-enable_data CHOICES 0 1 DEFAULT 0]
[-voice_tos RANGE 0-127]
[-data_tos RANGE 0-127]
[-rip_command CHOICES request response
trace_ontrace_off reserved]
[-rip_version CHOICES 1 2]
[-enable_time_stamp]
[-vlan CHOICES enable disable]
[-vlan_protocol_tag_id CHOICES 8100 9100 9200]
[-number_of_packets_per_stream]
[-table_udf_column_name]
[-table_udf_column_type CHOICES hex ascii binary
decimal macipv4 ipv6 REGEXP ^([0-9]+[a|b|d|x],)*[0-
9]+[a|b|d|x]$]
[-table_udf_column_offset]
[-table_udf_column_size]
[-table_udf_rows]
[-enable_udf1]
[-udf1_mode]
[-udf1_offset]
[-udf1_counter_type]
[-udf1_counter_up_down]
[-udf1_counter_init_value]

HLTAPI Commands, Release 2.80 Rev. B 2-7


Traffic APIs
2
[-udf1_counter_repeat_count]
[-udf1_counter_step]
[-udf1_value_list]
[-udf1_counter_mode]
[-udf1_inner_repeat_value]
[-udf1_inner_repeat_count]
[-udf1_inner_step]
[-udf1_enable_cascade]
[-udf1_cascade_type]
[-udf1_skip_zeros_and_ones]
[-udf1_mask_select]
[-udf1_mask_val]
[-udf1_skip_mask_bits]
[-enable_udf2]
[-udf2_mode]
[-udf2_offset]
[-udf2_counter_type]
[-udf2_counter_up_down]
[-udf2_counter_init_value]
[-udf2_counter_repeat_count]
[-udf2_counter_step]
[-udf2_value_list]
[-udf2_counter_mode]
[-udf2_inner_repeat_value]
[-udf2_inner_repeat_count]
[-udf2_inner_step]
[-udf2_enable_cascade]
[-udf2_cascade_type]
[-udf2_skip_zeros_and_ones]
[-udf2_mask_select]
[-udf2_mask_val]
[-udf2_skip_mask_bits]
[-enable_udf3]
[-udf3_mode]
[-udf3_offset]
[-udf3_counter_type]
[-udf3_counter_up_down]
[-udf3_counter_init_value]
[-udf3_counter_repeat_count]
[-udf3_counter_step]
[-udf3_value_list]
[-udf3_counter_mode]
[-udf3_inner_repeat_value]
[-udf3_inner_repeat_count]
[-udf3_inner_step]
[-udf3_enable_cascade]
[-udf3_cascade_type]
[-udf3_skip_zeros_and_ones]
[-udf3_mask_select]
[-udf3_mask_val]
[-udf3_skip_mask_bits]
[-enable_udf4]
[-udf4_mode]
[-udf4_offset]
[-udf4_counter_type]
[-udf4_counter_up_down]
[-udf4_counter_init_value]

2-8 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

[-udf4_counter_repeat_count]
[-udf4_counter_step]
[-udf4_value_list]
[-udf4_counter_mode]
[-udf4_inner_repeat_value]
[-udf4_inner_repeat_count]
[-udf4_inner_step]
[-udf4_enable_cascade]
[-udf4_cascade_type]
[-udf4_skip_zeros_and_ones]
[-udf4_mask_select]
[-udf4_mask_val]
[-udf4_skip_mask_bits]
[-enable_udf5]
[-udf5_mode]
[-udf5_offset]
[-udf5_counter_type]
[-udf5_counter_up_down]
[-udf5_counter_init_value]
[-udf5_counter_repeat_count]
[-udf5_counter_step]
[-udf5_value_list]
[-udf5_counter_mode]
[-udf5_inner_repeat_value]
[-udf5_inner_repeat_count]
[-udf5_inner_step]
[-udf5_enable_cascade]
[-udf5_cascade_type]
[-udf5_skip_zeros_and_ones]
[-udf5_mask_select]
[-udf5_mask_val]
[-udf5_skip_mask_bits]
[-signature REGEXP ^([0-9a-fA-F]{2}[.:
]{0,1}){0,11}[0-9a-fA-F]{2}$]
[-signature_offset]
[-enable_pgid]
[-pgid_value REGEXP ^([0-9a-fA-F]{2}[.:
]{0,1}){0,3}[0-9a-fA-F]{2}$ NUMERIC ]
[-number_of_packets_tx]
[-loop_count]
[-return_to_id]
[-adjust_rate]
[-variable_user_rate CHOICES 0 1 DEFAULT 0]
[-l7_traffic CHOICES 0 1 DEFAULT 0]
[-duration NUMERIC DEFAULT 10]
[-pppoe_unique_acmac CHOICES 0 1 DEFAULT 0]
[-session_repeat_count RANGE 1-8000 DEFAULT 1]
[-session_traffic_stats CHOICES 0 1 DEFAULT 0]
[-ppp_session_id]
[-mac_src2_mode]
[-mac_src2_step]
[-mac_src2_count]
[-mac_dst2_mode]
[-mac_dst2_step]
[-mac_dst2_count]
[-ip_src_skip_multicast]
[-ip_src_skip_broadcast]

HLTAPI Commands, Release 2.80 Rev. B 2-9


Traffic APIs
2
[-ip_dst_skip_multicast]
[-ip_dst_skip_broadcast]
[-ip_hdr_length]
[-ip_bit_flags]
[-ip_mbz]
[-ip_cu]
[-ip_tos_field]
[-ip_precedence_step]
[-ip_precedence_count]
[-ip_dscp_step]
[-ip_dscp_count]
[-ipv6_length]
[-ipv6_next_header]
[-igmp_group_step]
[-igmp_msg_type]
[-igmp_multicast_src]
[-igmp_s_flag]
[-igmp_qrv]
[-igmp_qqic]
[-igmp_record_type]

ARGUMENTS

-port_handle The port for which to configure traffic.

-port_handle2 A second port for which to configure traffic configuration when option "bidirec-
tional" is enabled.

-emulation_src_handle The handle used to retrieve information for L2 or L3 src addresses.

-emulation_dst_handle The handle used to retrieve information for L2 or L3 dst addresses.

-bidirectional Whether traffic is setup to transmit in both directions. The two ports receiving
and transmitting are specified by options port_handle and port_handle2. Option
"l3_protocol" source and destination addresses are swapped to get the traffic
flowing in both directions.

The parameters are based on the port associated with port_handle and are
swapped for the port associated with port_handle2.

MAC addresses can be handled in two ways. First, if the MAC destination
addresses are not provided, ARP is used to get the next hop MAC address based
on the gateway IP address set in the command interface_config. Second, use
option "mac_dst" and "mac_dst2" addresses provided by this command. Option
"mac_dst2" applies to the port associated with option "port_handle2". Option
"stream_id" is the same for both directions.

As for the Source MAC, you can use option "mac_src2" to configure the MAC
on the second port, and option "mac_dst2" to configure the destination MAC on
the second port if you are not using L2 next hop. Valid choices are:

Value Usage

0 Disabled.
1 Enabled.

2-10 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-mode What specific action is taken. Valid choices are:

Value Usage

create Create only one stream.


modify Modify only one existing stream.
remove Remove/disable an existing stream.
reset Remove all existing traffic setups.
enable Enables only existing stream.

-stream_id Required for -mode modify and remove calls. Stream ID is not required for con-
figuring a stream for the first time. In this case, the stream ID is returned from the
call.

-length_mode Behavior of the packet size for a particular stream. Valid choices are:

Value Usage
fixed N/A
increment N/A
random N/A
auto N/A
imix Mix of packet sizes are specified using
options l3_imix1_size etc
gaussian, quad Packet sizes are specified as gaussian/quad
curves using options l3_gaus1_avg, l3_
gaus1_halfbw, l3_gaus1_weight etc.

-l3_length Packet size in bytes. Use this option in conjunction with option "length_mode"
set to fixed. Valid choices are between 1 and 64000, inclusive.

-l3_length_min Minimum packet size for the specified stream in bytes. Use this option in con-
junction with option "length_mode" set to increment.

-l3_length_max Maximum packet size for the specified stream in bytes. Use this option in con-
junction with option "length_mode" set to increment.

-l3_imix1_size First Packet size in bytes. Used if length_mode set to imix.

-l3_imix1_ratio Ratio of first packet size. Used if length_mode set to imix.

-l3_imix2_size Second Packet size in bytes. Used if length_mode set to imix.

-l3_imix2_ratio Ratio of second packet size. Used if length_mode set to imix.

-l3_imix3_size Third Packet size in bytes. Used if length_mode set to imix.

-l3_imix3_ratio Ratio of third packet size. Used if length_mode set to imix.

-l3_imix4_size Fourth Packet size in bytes. Used if length_mode set to imix.

-l3_imix4_ratio Ratio of fourth packet size. Used if length_mode set to imix.

-l3_gaus1_avg The center of the first curve. Used if length_mode is set to gaussian or quad.

HLTAPI Commands, Release 2.80 Rev. B 2-11


Traffic APIs
2
-l3_gaus1_halfbw The width at half of the first curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus1_weight The weigth of the first curve. Used if length_mode is set to gaussian or quad.

-l3_gaus2_avg The center of the second curve. Used if length_mode is set to gaussian or quad.

-l3_gaus2_halfbw The width at half of the second curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus2_weight The weigth of the second curve. Used if length_mode is set to gaussian or quad.

-l3_gaus3_avg The center of the third curve. Used if length_mode is set to gaussian or quad.

-l3_gaus3_halfbw The width at half of the third curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus3_weight The weigth of the third curve. Used if length_mode is set to gaussian or quad.

-l3_gaus4_avg The center of the fourth curve. Used if length_mode is set to gaussian or quad.

-l3_gaus4_halfbw The width at half of the fourth curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus4_weight The weigth of the fourth curve. Used if length_mode is set to gaussian or quad.

-rate_pps Traffic rate to send in pps.

-rate_bps Traffic rate to send in bps.

-rate_percent Traffic rate in percent of line rate for the specified stream. Valid choices are
between 0.00 and 100.00, inclusive.

(DEFAULT = 100.00)

-transmit_mode Type of transmit mode to use. Note that all transmit modes need to have one
value set in either rate_pps, rate_bps, or rate_percent. Also, not all choices may
be available for a stream, depending on the ::ixia::interface_config -transmit_
mode argument.

Valid choices are:

Value Usage

advance after all the frames are sent from the current
stream, the frames from the next stream on
the port are transmitted.
continuous continuously transmit the frames on this
stream.
continuous_burst continuously transmit bursts of frames on this
stream.
multi_burst transmit multiple bursts and then stop all
transmission from the port where this stream
resides regardless of existence of other
streams on this port.

2-12 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

Value Usage

return_to_id the last stream on the port is set to this mode


to begin transmission of frames of the first
stream in the list. Parameter return_to_id can
be used to specify the stream number to
begin with.
return_to_id_for_count the last stream on the port is set to this mode
to begin transmission of the first stream in the
list for -loop_count intervals. Parameter
return_to_id can be used to specify the
stream number to begin with.
random_spaced transmit random spaced frames
single_burst transmit one burst and then stop all transmis-
sion from the port where this stream resides
regardless of existence of other streams on
this port.
single_pkt transmit one packet and then stop all trans-
mission from the port where this stream
resides regardless of existence of other
streams on this port.

-pkts_per_burst Number of packets to include in one burst.

-burst_loop_count Number of times to transmit a burst.

-inter_burst_gap Number of milliseconds between each burst in the loop count.

-inter_stream_gap Number milliseconds between each stream configured.

-vlan_id VLAN tag for a particular stream. Valid choices are between 0 and 4095, inclu-
sive.

-vlan_id_count Number of VLANs to be used for a particular stream. Option "vlan_id_mode"


must be set to increment or decrement. Valid choices are between 1 and 4096,
inclusive.

-vlan_id_step The step value for a VLAN ID when the mode is increment or decrement

-vlan_user_priority VLAN user priority for the stream. Valid choices are between 0 and 7, inclusive.

-vlan_id_mode Behavior of the VLAN tag in packets for a particular stream. Valid choices are:

Value Usage

fixed Will set the VLAN tag to be in idle mode.


increment (default) Will set the VLAN tag to be in incre-
ment mode.
decrement Will set the VLAN tag to be in decrement
mode.
random Will set the VLAN tag to be in random mode.

HLTAPI Commands, Release 2.80 Rev. B 2-13


Traffic APIs
2
-vlan_cfi Whether VLAN CFI bit is set or unset for a particular stream. Valid choices are:

Value Usage

0 Unset.
1 Set.

-fcs Whether to insert an fcs error in the frame. Valid choices are:

Value Usage

0 Disable.
1 Enable.

-mpls_labels MPLS labels in the packets for each stream. Ixia supports multiple MPLS labels
in a single packet. For example, to stack three labels in one packet, use -mpls_
labels {14 18 78}, where 14, 18 and 78 are the label IDs in the packet.

-l2_encap Set level 2 encapsulation. Valid choices are:

Value Usage

atm_vc_mux N/A
atm_vc_mux_ethernet_ii N/A
atm_vc_mux_802.3snap N/A
atm_vc_mux_802.3snap_nofcs N/A
atm_vc_mux_ppp N/A
atm_vc_mux_pppoe N/A
atm_snap N/A
atm_snap_ethernet_ii N/A
atm_snap_802.3snap N/A
atm_snap_802.3snap_nofcs N/A
atm_snap_ppp N/A
atm_snap_pppoe N/A
hdlc_unicast N/A
hdlc_broadcast N/A
hdlc_unicast_mpls N/A
hdlc_multicast_mpls N/A
ethernet_ii N/A
ethernet_ii_unicast_mpls N/A
ethernet_ii_multicast_mpls N/A
ethernet_ii_vlan N/A
ethernet_ii_vlan_unicast_mpls N/A
ethernet_ii_vlan_multicast_mpls N/A
ethernet_ii_pppoe N/A
ethernet_ii_vlan_pppoe N/A
ppp_link N/A
ietf_framerelay N/A
cisco_framerelay N/A

2-14 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-mac_src Source MAC address for a particular stream. Valid formats are:

11:11:11:11:11:11

2222.2222.2222

{33 33 33 33 33 33}

-mac_src_mode Behavior of the source MAC address for a particular stream. Valid choices are:

Value Usage

fixed The Source MAC will be idle (same fo all


packets).
increment The Source MAC will be incremented for all
packets.
decrement The Source MAC will be decremented for all
packets.
random The Source MAC will be random far all pack-
ets.
emulation N/A

-mac_src_step Value by which the Source MAC address is incremented.

-mac_src_count Number of source MAC addresses used in a particular stream.

(DEFAULT = 1)

-mac_dst Destination MAC address for a particular stream. Valid formats are:

11:11:11:11:11:11

2222.2222.2222

{33 33 33 33 33 33}

-mac_dst_mode Behavior of the destination MAC address for a particular stream. Valid choices
are:

Value Usage

fixed The destination MAC will be idle (same for all


packets).
increment The Destination MAC will increment for all
packets.
decrement The Destination MAC will be decrement for all
packets.
random The Destination MAC will be random far all
packets.
discovery (default) The Destination MAC will match the
MAC address received from the ARP
request.

-mac_dst_step Value by which the destination MAC Address is incremented.

-mac_dst_count Number of destination MAC addresses used in a particular stream.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 2-15


Traffic APIs
2
-mac_src2 Value of the source MAC address for port_handle2. This option applies to bidi-
rectional only. Valid MAC formats are:

11:11:11:11:11:11

2222.2222.2222

{33 33 33 33 33 33 }

-mac_dst2 Value of the destination MAC address for port_handle2. This option applies to
bidirectional only. Valid MAC formats are:

11:11:11:11:11:11

2222.2222.2222

{33 33 33 33 33 33 }

-l3_protocol Configures a layer 3 protocol header. This option specifies whether to setup an
ARP, Pause Control, IPX, IPv4, or IPv6 packet. Configure the specifics using the
related options. Valid choices are:

Value Usage

ipv4 N/A
ipv6 N/A
arp N/A
pause_control N/A
ipx N/A

-arp_src_hw_addr Value of the source MAC address for arp packets from a particular stream.

-arp_src_hw_mode Behavior of the source MAC address for ARP packets from a particular stream.
Valid choices are:

Value Usage

fixed default
increment N/A
decrement N/A

-arp_src_hw_count Number of source MAC addresses used in ARP packets in a particular stream.

-arp_dst_hw_addr Value of the destination MAC address for arp packets from a particular stream.

-arp_dst_hw_mode Behavior of the destination MAC address for ARP packets from a particular
stream. Valid choices are:

Value Usage

fixed default
increment N/A
decrement N/A

-arp_dst_hw_count Number of destination MAC addresses used in ARP packets in a particular


stream.

2-16 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-arp_operation Type of ARP operation given to a particular ARP pachet from a particular
stream. Valid choices are:

Value Usage

arpRequest default
arpReply N/A
rarpRequest N/A
rarpReply N/A

-ip_src_addr Source IP address of the packet.

-ip_src_mode Source IP address mode. Valid choices are:

Value Usage

fixed The source IP address is the same for all


packets.
increment The source IP address increments.
decrement The source IP address decrements.
random The source IP address is random.
emulation Source IP derived from the emulation handle

-ip_src_count Number of source IP addresses when option "ip_src_mode" is set to increment or


decrement.

-ip_src_step The modifier for the increment and decrement choices of -ip_src_mode which
requires that only one field contain a non-zero value.

-ip_dst_addr Destination IP address of the packet.

-ip_dst_mode Destination IP address mode. Valid choices are:

Value Usage
fixed The destination IP address is the same for all
packets.
increment The destination IP address increments.
decrement The destination IP address decrements.
random The destination IP address is random.
emulation Destination IP derived from the emulation
handle

-ip_dst_count Number of destination IP addresses when option "ip_dst_mode" is set to incre-


ment or decrement.

-ip_dst_step The modifier for the increment and decrement choices of "-ip_dst_mode" which
requires that only one field contain a non-zero value.

-ip_fragment_offset Where in the datagram this fragment belongs. The offset is measured in units of 8
octets (64 bits). Valid choices are between 0 and 8191, inclusive.

HLTAPI Commands, Release 2.80 Rev. B 2-17


Traffic APIs
2
-ip_fragment Whether this is a fragmented datagram. This option is used in conjuction with
option "ip_id" and "ip_fragment_last". Valid choices are:

Value Usage

0 This is not a fragmented datagram.


1 This is a fragmented datagram.

-ip_fragment_last Controls whether there are additional fragments used to assemble this datagram.
Valid choices are:

Value Usage

0 More fragments to come.


1 (default) No more fragments.

-ip_ttl Time-to-Live, measured in units of seconds. Valid choices are between 0 and
255.

(DEFAULT = 64)

-ip_protocol L4 protocol in the IP header. Valid choices are between 0 and 255.

(DEFAULT = 255)

-ip_id Identifying value assigned by the sender to aid in assembling the fragments of a
datagram. Valid choices are between 0 and 65535.

(DEFAULT = 0)

-ip_precedence Part of the Type of Service byte of the IP header datagram that establishes prece-
dence of delivery. Valid choices are between 0 and 7, inclusive.

-ip_dscp DSCP prcedence for a particular stream. Valid choices are between 0 and 63,
inclusive.

(DEFAULT = 0)

-ipv6_src_addr Source IPv6 address of the packet.

-ipv6_src_mode Source IP address mode. Valid choices are:

Value Usage

fixed The source IP address is idle, the same for all


packets.
increment The source IP address (host part) increments.
decrement The source IP address (host part) decre-
ments.
random The source IP address is random.

-ipv6_src_count Number of source IP address when option "ipv6_src_mode" is set to increment or


decrement.

-ipv6_src_step Step size of the source IP address when option "ipv6_src_mode" is set to incre-
ment or decrement.

2-18 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-ipv6_dst_addr Destination IPv6 address of the packet.

-ipv6_dst_mode Destination IPv6 address mode. Valid choices are:

Value Usage

fixed The source IP address is idle, the same for all


packets.
increment The Source IP address (host part) incre-
ments.
decrement The Source IP address (host part) decre-
ments.
random The Source IP address is random.

-ipv6_dst_count Number of destination IPv6 addresses when option "ipv6_dst_mode" is set to


increment or decrement.

-ipv6_dst_step Step size of the IPv6 addresses when option "ipv6_dst_mode" is set to increment
or decrement.

-ipv6_traffic_class Traffic class value of the IPv6 stream.

-ipv6_flow_label Flow label value of the IPv6 stream.

-ipv6_hop_limit Hop limit value of the IPv6 stream.

-ipv6_frag_offset This can be used in two ways. If "-ipv6_extension_header fragment" is present


then an IPv6 extension frament is added along with other IPv6 extension headers
mentioned in -ipv6_extension_header list. Also these option can be a list.

If -ipv6_extension_header is not present then only one IPv6 fragment can be


added and these option can only have one element. Fragment offset in the frag-
ment extension header of an IPv6 stream.

(DEFAULT = 100)

-ipv6_frag_more_flag This can be used in two ways. If "-ipv6_extension_header fragment" is present


then an IPv6 extension frament is added along with other IPv6 extension headers
mentioned in -ipv6_extension_header list. Also these option can be a list.

If -ipv6_extension_header is not present then only one IPv6 fragment can be


added and these option can only have one element. Whether the M Flag in the
fragment extension header of an IPv6 stream is set.

(DEFAULT = 0)

-ipv6_frag_id This can be used in two ways. If "-ipv6_extension_header fragment" is present


then an IPv6 extension frament is added along with other IPv6 extension headers
mentioned in ipv6_extension_header list. Also these option can be a list. If -
ipv6_extension_header is not present then only one IPv6 fragment can be added
and these option can only have one element. Identification field in the fragment
extension header of an IPv6 stream.

(DEFAULT = 286335522)

HLTAPI Commands, Release 2.80 Rev. B 2-19


Traffic APIs
2
-l4_protocol In the layer 4 header in the IP-based packet, the layer 4 protocol. Valid choices
are:

Value Usage

gre For IPv4 and IPv6.


icmp For IPv4 and IPv6.
igmp For IPv4 only.
tcp For IPv4 and IPv6.
udp For IPv4 and IPv6.
rip For IPv4 only.
dhcp For IPv4 only.
ospf For IPv4 only.
ip For IPv4 only.

-icmp_type ICMP message type. Valid choices are between 0 and 255, inclusive.

(DEFAULT = 0)

-icmp_code Code for each ICMP message type. Valid choices are between 0 and 255, inclu-
sive.

(DEFAULT = 0)

-icmp_id ID for each ping command, i.e. echoRequest. Valid choices are between 0 and
65535, inclusive.

(DEFAULT = 0)

-icmp_seq Sequence number for each ping command, i.e. EchoRequest. Valid choices are
between 0 and 65535, inclusive.

(DEFAULT = 0)

-udp_src_port UDP source port for this particular stream. Valid choices are between 0 and
65535, inclusive.

-udp_dst_port UDP destination port for this particular stream. Valid choices are between 0 and
65535, inclusive.

-tcp_src_port TCP source port for this particular stream. Valid choices are between 0 and
65535, inclusive.

-tcp_dst_port TCP destination port for this particular stream. Valid choices are between 0 and
65535, inclusive.

-tcp_seq_num TCP sequence number for this particular stream. Valid choices are between 0 and
65535, inclusive.

-tcp_ack_num TCP tcp_window size field for this particular stream. Valid choices are between
0 and 65535, inclusive.

-tcp_window TCP tcp_window size field for this particular stream. Valid choices are between
0 and 65535, inclusive.

2-20 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-tcp_urgent_ptr TCP Urgent Pointer value for this particular stream. Valid choices are between 0
and 65535, inclusive.

-tcp_urg_flag Whether the "urgent flag" in the TCP header is enabled. Valid choices are:

Value Usage

0 (default) Disabled.
1 Enabled.

-tcp_psh_flag Whether the "psh flag" in the TCP header is enabled. Valid choices are:

Value Usage

0 (default) Disabled.
1 Enabled.

-tcp_syn_flag Whether the "synchronize flag" in the TCP header is enabled. Valid choices are:

Value Usage

0 (default) Disabled.
1 Enabled.

-tcp_ack_flag Whether the "acknowledge flag" in the TCP header is enabled. Valid choices are:

Value Usage
0 (default) Disabled.
1 Enabled.

-tcp_rst_flag Whether the "reset flag" in the TCP header is enabled. Valid choices are:

Value Usage

0 (default) Disabled.
1 Enabled.

-tcp_fin_flag Whether the "finished flag" in the TCP header is enabled. Valid choices are:

Value Usage

0 (default) Disabled.
1 Enabled.

-igmp_group_addr IP Multicast group address of the group being joined or left.

-igmp_group_mode How the Group Address varies when the repeat count is greater than 1. Valid
choices are:

Value Usage

fixed Group IP address is the same for all packets.


increment Group IP address increments.
decrement Group IP address decrements.

HLTAPI Commands, Release 2.80 Rev. B 2-21


Traffic APIs
2
-igmp_max_response_time Maximum allowed time before sending a responding report in units of 1/10 sec-
ond. Valid choices are between 0 and 65535, inclusive.

(DEFAULT = 100)

-igmp_group_count Number of IGMP message to be sent. For option "igmp_group_mode" set to


increment or decrement, this is the address range of the IGMP message. Valid
choices are between 0 and 65535, inclusive.

(DEFAULT = 1)

-igmp_type Type of IGMP message to be sent. Valid choices are:

Value Usage

dvmrp Distance-Vector Multicast Routing Protocol


message.
leave_group IGMP message sent by client to inform the
DUT of its interest to leave a group.
membership_query General or group-specific query messages
sent by the DUT.
membership_report (default) IGMP version 1 message sent by cli-
ent to inform the DUT of its interest to join a
group.

-igmp_version IGMP version number.

(DEFAULT = 2)

-vpi The virtual circuit identifier (default 32).

-vci The virtual path identifier (default 0).

-vpi_step If -atm_counter_vpi_type is set to counter, then this is the value added/sub-


stracted between successive vpi values (default 1).

-vpi_count If -atm_counter_vpi_type is set to counter and atm_counter_vpi_mode is set to


incr or decr, then this is the number of times to increment

the VPI value before repeating from the start value (default 1).

-vci_step If -atm_counter_vci_type is set to counter, then this is the value added/sub-


stracted between successive vci values (default 1).

-vci_count If -atm_counter_vci_type is set to counter and atm_counter_vci_mode is set to


incr or decr, then this is the number of times to increment

the VCI value before repeating from the start value (default 1).

-atm_header_aal5error May be used to insert a bad AAL5 CRC (default no_error).

-atm_header_cell_loss_ Sets the Cell Loss Priority (CLP) used to set the discard priority level of the cell.
priority It indicates whether the cell should be discarded if it encounters extreme conges-
tion as it moves through the network. Value 0 has a higher priority than 1 (default
0).

-atm_header_cpcs_length If -atm_header_enable_cpcs_length is 1, then this is used as the length of the


CPCS PDU (default 28).

2-22 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-atm_header_enable_ If set to 1, the vpi/vci values are forced to 0 and 32 (default 0).
auto_vpi_vci

-atm_header_enable_cl Indicates whether congestion has been experienced (default 0).

-atm_header_enable_ If set to 1, -atm_header_cpcs_length is used as the length of the CPCS PDU


cpcs_length (default 0).

-atm_header_ The type of header encapsulation (default llc_routed_clip.


encapsulation

-atm_header_generic_ The generic flow control for use in UNI mode device control signalling.
flow_ctrl
Uncontrolled equipment uses a setting of 0000 (default 0).

-atm_header_hec_errors Indicates the number of HEC errors to insert into the HEC byte (default 0).

-atm_counter_vpi_data_ If the -atm_counter_vpi_type option is set to table, this list is used used for the set
item_list of values (default "").

-atm_counter_vci_data_ If the -atm_counter_vci_type option is set to table, this list is used used for the set
item_list of values (default "").

-atm_counter_vpi_mask_ If the -atm_counter_vpi_type option is set to random, this 16-bit mask indicates
select which bits are held constant The constant values are indicated in the -atm_
counter_vpi_mask_value option (default "00 00").

-atm_counter_vci_mask_ If the -atm_counter_vci_type option is set to random, this 16-bit mask indicates
select which bits are held constant The constant values are indicated in the -atm_
counter_vci_mask_value option (default "00 00").

-atm_counter_vpi_mask_ If the -atm_counter_vpi_type option is set to random, this 16-bit value indicates
value the values that the bits indicated in the atm_counter_vpi_mask_select option
should have (default "00 00").

-atm_counter_vci_mask_ If the -atm_counter_vci_type option is set to random, this 16-bit value indicates
value the values that the bits indicated in the atm_counter_vci_mask_select option
should have (default "00 00").

-atm_counter_vpi_mode If the -atm_counter_vci_type option is set to counter, this indicates what counter
mode should be used (default incr). Currently only the incr and decr mode are
supported.

-atm_counter_vci_mode If the -atm_counter_vpi_type option is set to counter, this indicates what counter
mode should be used (default incr). Currently only the incr and decr mode are
supported.

-atm_counter_vpi_type The type of counter to use on the vpi (default fixed). Currently only fixed,
counter, and table are supported.

-atm_counter_vci_type The type of counter to use on the vci (default fixed). Currently only fixed,
counter, and table are supported.

-data_pattern Payload value in bytes. For example, you can specify a custom payload pattern
like the following using option "data_pattern":

00 44 00 44

HLTAPI Commands, Release 2.80 Rev. B 2-23


Traffic APIs
2
-data_pattern_mode Packet payload mode for a particular stream. Valid choices are:

Value Usage

incr_byte Data patterm increments each byte in the


packet payload.
decr_byte Data patterm decrements each byte in the
packet payload.
fixed Data patterm is idle for each byte in the
packet payload.
random Data patterm is random for the packet pay-
load.
repeating Data patterm repeats for the packet payload.

-dhcp_boot_filename Boot file name, null terminated string; "generic" name or null in DHCPDIS-
COVER, fully qualified directory-path name DHCPOFFER.

(DEFAULT = "")

-dhcp_client_hw_addr Client hardware address. Must be in the form of a string of hex data.

(DEFAULT = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00)

-dhcp_client_ip_addr Client IP address. Only filled in if client is in BOUND, RENEW, or REBIND-


ING state and can respond to ARP requests. (DEFAULT = 0.0.0.0)

-dhcp_flags Tells whether to broadcast or not. (DEFAULT = no_broadcast)

-dhcp_hops Set to zero by client.

(DEFAULT = 0)

-dhcp_hw_type Hardware address types.

(DEFAULT = 1).

-dhcp_hw_len Hardware address length.

(DEFAULT = 6).

-dhcp_operation_code Operation codes.

(DEFAULT = boot_request).

-dhcp_relay_agent_ip_ Relay agent IP address, used in booting via a relay agent.


addr
(DEFAULT = 0.0.0.0).

-dhcp_seconds Seconds elapsed since client began address acquisition or renewal process.

(DEFAULT = 0).

-dhcp_server_host_name Optional server host name, null terminated string.

(DEFAULT = "").

2-24 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-dhcp_server_ip_addr IP address of next server to use in bootstrap; returned in DHCPOFFER, DHC-


PACK by server.

(DEFAULT = 0.0.0.0).

-dhcp_transaction_id Random number chosen by client and used by the client and server to associate
messages and responses between a client and a server.

(DEFAULT = 0).

-dhcp_your_ip_addr "Your" (client) IP address.

(DEFAULT = 0.0.0.0).

-enable_auto_detect_ Enables/disable setup of PGID/SequenceCkecking/DataIntegrity without having


instrumentation to specify the offset for the signatures, but just the signature values.

With this option enabled the packet size will be increased as follows:

12 bytes - signature (mandatory)

4 bytes - pgid_value(mandatory) and data integrity(optional)

4 bytes - sequencing(optional)

2 bytes - data integrity checksum(optional)

6 bytes - timestamp(mandatory)

This is a total of 28 bytes if data integrity and sequence checking are enabled.

-enable_data_integrity Whether data integrity checking is enabled. Valid choices are:

Value Usage
0 Disabled.
1 Enabled.

-ethernet_type For ethernet ports only, the ethernet encapsulation type. Valid choices are:

Value Usage

ethernetII Ethernet encapsulation at EthernetII.


ieee8023snap Ethernet encapsulation at ieee8023snap.
ieee8023 Ethernet encapsulation at ieee8023.
ieee8022 Ethernet encapsulation at ieee8022.

-ethernet_value For ethernet ports with the ethernet encapsulation type ethernetII, a hex value can
be specified as the Ethernet Type value.

HLTAPI Commands, Release 2.80 Rev. B 2-25


Traffic APIs
2
-fcs_type The FCS error to be inserted in the frame. Valid choices are:

Value Usage

alignment An alignment error to be inserted in the frame


(only valid for 10/100).
dribble A dribble error to be inserted in the frame.
bad_CRC A bad FCS error to be inserted in the frame.
no_CRC No FCS error to be inserted in the frame.

-frame_sequencing Inserts a sequence signature into the packet.

-frame_sequencing_offset The offset within the packet of the sequnce number. This is valid only when
sequence checking is enabled. If -enable_auto_detect_instrumentation is 1, will
be ignored.

-frame_size Actual total frame size coming out of the interface on the wire in bytes. Valid
choices are between 20 and 13312, inclusive.

(DEFAULT = 64)

-frame_size_max Actual maximum total frame size coming out of the interface on the wire in bytes
when option "length_mode" is set to random. Valid choices are between 20 and
13312.

(DEFAULT = 64)

-frame_size_min Actual minimal total frame size coming out of the interface on the wire in bytes
when option "length_mode" is set to random. Valid choices are between 20 and
13312.

(DEFAULT = 64)

-frame_size_step Actual increment by which the actual total frame size in bytes coming out of the
interface on the wire will be incremented. Valid choices are between 20 and
13292.

(DEFAULT = 64)

-gre_checksum_enable Enable checksum for the GRE header (only if -l4_protocol is gre).

-gre_checksum Specify checksum for the GRE header (only if -l4_protocol is gre).

-gre_valid_checksum_ Enable valid checksum for the GRE header (only if -l4_protocol is gre).
enable

-gre_key_enable Enable key for the the GRE header (only if -l4_protocol is gre).

-gre_key Specify the key for the GRE header (only if -l4_protocol is gre).

-gre_reserved0 Specify first reserved field of the GRE header.

(only if -l4_protocol is gre)

-gre_reserved1 Specify second reserved field of the GRE header.

(only if -l4_protocol is gre)

2-26 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-gre_seq_enable Enable sequence checking for the the GRE header.

(only if -l4_protocol is gre)

-gre_seq_number Specify the sequence number for the GRE header.

(only if -l4_protocol is gre)

-gre_version Specify version for GRE header.

(only if -l4_protocol is gre)

-inner_protocol Configures a layer 3 protocol header. This option specifies whether to setup an
IPv4 or IPv6 header (only used when l4_protocol is gre).

Valid choices are:

Value Usage

ipv4 N/A
ipv6 N/A
<hex value> N/A

-inner_ip_src_addr Source IP address for inner GRE IPv4 header (only used when -l4_protocol is
gre).

-inner_ip_src_mode Source IP address mode for inner GRE IPv4 header. Valid choices are:

Value Usage

fixed The source IP address is the same for all


packets.
increment The source IP address increments.
decrement The source IP address decrements.
random The source IP address is random. This
option is only used when -l4_protocol is gre.

-inner_ip_src_count Number of source IP addresses when option "inner_ip_src_mode" is set to incre-


ment or decrement (only used when -l4_protocol is gre).

-inner_ip_src_step The modifier for the increment and decrement choices of inner_ip_src_mode
which requires that only one field contain a non-zero value.

This option is only used when -l4_protocol is gre.

-inner_ip_dst_addr Destination IP address for inner GRE IPv4 header. This option is only used when
-l4_protocol is gre.

HLTAPI Commands, Release 2.80 Rev. B 2-27


Traffic APIs
2
-inner_ip_dst_mode Destination IP address mode for inner GRE IPv4 header. This option is only used
when -l4_protocol is gre. Valid choices are:

Value Usage

fixed The destination IP address is the same for all


packets.
increment The destination IP address increments.
decrement The destination IP address decrements.
random The destination IP address is random.

-inner_ip_dst_count Number of destination IP addresses when option "-inner_ip_dst_mode" is set to


increment or decrement.

-inner_ip_dst_step The modifier for the increment and decrement choices of "-inner_ip_dst_mode"
which requires that only one field contain a non-zero value. This option is only
used when -l4_protocol is gre.

-inner_ipv6_src_addr Source IP address for inner GRE IPv6 header. This option is only used when -l4_
protocol is gre.

-inner_ipv6_src_mode Source IP address mode for inner GRE IPv6 header. This option is only used
when -l4_protocol is gre. Valid choices are:

Value Usage
fixed The source IP address is idle, the same for all
packets.
increment The source IP address (host part) increments.
decrement The source IP address (host part) decre-
ments.
random The source IP address is random.

-inner_ipv6_src_count Number of source IP address when option "inner_ipv6_src_mode" is set to incre-


ment or decrement. This option is only used when -l4_protocol is gre.

-inner_ipv6_src_step Step size of the source IP address when option "inner_ipv6_src_mode" is set to
increment or decrement. This option is only used when -l4_protocol is gre.

-inner_ipv6_dst_addr Destination IP address for inner GRE IPv6 header. This option is only used when
-l4_protocol is gre.

-inner_ipv6_dst_mode Destination IPv6 address mode. This option is only used when -l4_protocol is
gre. Valid choices are:

Value Usage

fixed The source IP address is idle, the same for all


packets.
increment The Source IP address (host part) incre-
ments.
decrement The Source IP address (host part) decre-
ments.
random The Source IP address is random.

2-28 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-inner_ipv6_dst_count Number of destination IPv6 addresses when option "inner_ipv6_dst_mode" is set


to increment or decrement. This option is only used when -l4_protocol is gre.

-inner_ipv6_dst_step Step size of the IPv6 addresses when option "inner_ipv6_dst_mode" is set to
increment or decrement. This option is only used when -l4_protocol is gre.

-inner_ipv6_traffic_class Traffic class value of the IPv6 inner header. This option is only used when -l4_
protocol is gre.

-inner_ipv6_flow_label Flow label value of the IPv6 inner header. This option is only used when -l4_pro-
tocol is gre.

-inner_ipv6_hop_limit Hop limit value of the IPv6 inner header. This option is only used when -l4_pro-
tocol is gre.

-inner_ipv6_frag_offset Fragment offset in the fragment extension header of an IPv6 header. This option
is only used when -l4_protocol is gre.

-inner_ipv6_frag_more_ Whether the M Flag in the fragment extension header of an IPv6 header is set.
flag This option is only used when -l4_protocol is gre.

-inner_ipv6_frag_id Identification field in the fragment extension header of an IPv6 header. This
option is only used when -l4_protocol is gre.

-integrity_signature Data integrity signature for the stream.

-integrity_signature_offset Data integrity signature offset for the stream.

If -enable_auto_detect_instrumentation is 1, will be ignored.

-ip_length_override Allows to change the length in ip header.

-ip_total_length Total Length is the length of the datagram, measured in octets, including internet
header and data.

-ip_cost Part of the Type of Service byte of the IP header datagram (bit 6). Valid choices
are:

Value Usage
0 (default) Normal cost.
1 Low cost.

-ip_delay Part of the Type of Service byte of the IP header datagram (bit 3). Valid choices
are:

Value Usage

0 (default) Normal delay.


1 Low delay.

-ip_opt_security Will add an IP option for security. Must be given with a nine byte option argu-
ment that contains the information, 2 bytes Security, 2 bytes Compartments, 2
bytes Handling Restrictions, and 3 bytes Transmission Control Code.

-ip_opt_loose_routing Will add an IP option for Loose Source and Record Route. This option is fol-
lowed by an arbitrary length list of IP addresses.

HLTAPI Commands, Release 2.80 Rev. B 2-29


Traffic APIs
2
-ip_opt_strict_routing Will add an IP option for Strict Source and Record Route. This option is fol-
lowed by an arbitrary length list of IP addresses.

-ip_opt_timestamp Will add an IP option for Internet Timestamp.

-ip_reliability Part of the Type of Service byte of the IP header datagram (bit 5). Valid choices
are:

Value Usage

0 (default) Normal reliability.


1 High reliability.

-ip_reserved Part of the Type of Service byte of the IP header datagram (bit 7). Valid choices
are:

Value Usage
0 (default)
1 N/A

-ip_throughput Part of the Type of Service byte of the IP header datagram (bit 4). Valid choices
are:

Value Usage
0 (default) Normal throughput.
1 High throughput.

-isl Whether to enable ISL on the stream. You can then configure ISL with options
"isl_frame_type", "isl_vlan_id", "isl_user_priority", "isl_bpdu", and "isl_index".
Valid choices are:

Value Usage

0 Disable ISL.
1 Enable ISL.

-isl_bpdu Whether to enable encapsulation of all Bridge Protocol Data Units by the ISL
packet. Valid choices are:

Value Usage

0 (default) Disable.
1 Enable.

-isl_frame_type Type of frame that is encapsulated. Valid choices are:

Value Usage

ethernet (default)
atm N/A
fddi N/A
token_ring N/A

2-30 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-isl_index Value of the selected register.

(DEFAULT = 0)

-isl_user_priority Low order two bits of this value specify the priority of the packet as it passes
through the switch. Valid choices are between 0 and 7, inclusive.

(DEFAULT = 0)

-isl_vlan_id Virtual LAN identification. Valid choices are between 1 and 4096, inclusive.

(DEFAULT = 1)

-ipv6_extension_header The type of the next extension header. Valid choices are:

Value Usage

none There is no next header.


hop_by_hop Next header is hop-by-hop options.
routing Next header has routing options.
destination Next header has destination options.
authentication Next header is an IPSEC AH.
fragment Payload is a fragment.

-ipv6_hop_by_hop_options This is only for "-ipv6_extension_header hop_by_hop". This option will repre-
sent a list of keyed values. Valid choices are:

Value Usage

key:type <CHOICES pad1 padn jumbo router_alert


binding_update binding_ack binding_req
user_define mipv6_unique_id_sub mipv6_
alternative_coa_sub> This is a mandatory
key. The type of IPv6 Hop by Hop option that
needs to be added. According to RFC 2711,
there should only be one router_alert option
per hop by hop extension. Configuring
against the RFC the results may not be the
expected ones.
key:length <RANGE 0-255> This applies to all key types
except pad1. The length value for the IPv6
Hop by Hop option.
key:value <HEX BYTES separated by ì:î or ì.î> This
applies to padn, user_define types. The
value for the IPv6 Hop by Hop option.
key:payload <RANGE 0-4294967295> This applies to
jumbo type. The payload for the IPv6 Hop by
Hop option.
key:sub_unique <RANGE 0-65535> This applies to mipv6_
unique_id_sub type. A unique ID for the bind-
ing request.
key:alert_type <CHOICES mld rsvp active_net> This
applies to router_alert type. Specifies the
type of router alert to include with the packet.

HLTAPI Commands, Release 2.80 Rev. B 2-31


Traffic APIs
2

Value Usage

key:ack <CHOICES 0 1> This applies to binding_


update type. This flag sets the Acknowledge
(A) bit to indicate that the sending mobile
node is requesting that a Binding Acknowl-
edgement be sent by the receiving node
when it gets the Binding Update. (DEFAULT
= 0)
key:bicast <CHOICES 0 1> This applies to binding_
update type. Enables the bicasting flag for
the Binding Update header. (DEFAULT = 0)
key:duplicate <CHOICES 0 1> This applies to binding_
update type. This flag sets the Duplicate
Address Detection (D) bit, to indicate that the
sending node wants the receiving node to
perform Duplicate Address Detection for the
mobile nodeís home address in this binding.
The H and A bits MUST also be set for this
action to be performed. (DEFAULT = 0)
key:home <CHOICES 0 1> This applies to binding_
update type. This flag sets the Home Regis-
tration (H) bit to indicate that the sending
node wants the receiving node to act as its
home agent. (DEFAULT = 0)
key:map <CHOICES 0 1> This applies to binding_
update type. Enables the map flag for the
Binding Update header. (DEFAULT = 0)
key:router <CHOICES 0 1> This applies to binding_
update type. This flag indicates if the binding
cache entry is for a mobile node advertised
as a router by this node, on the behalf of the
mobile node, in proxy Neighbor Advertise-
ments. (DEFAULT = 0)
key:prefix_len <RANGE 0-255> This applies to binding_
update type. If the H-bit is set, this is the
length of the routing prefix for the home
address.
key:life_time <RANGE 0-4294967295> This applies to
binding_update, binding_ack types. (32-bit
integer) The number of seconds remaining for
the Binding Cache entry. When the value
reaches zero, the binding MUST be consid-
ered expired and the Binding Cache entry
MUST be deleted for the mobile node.
key:seq_num <RANGE 0-65535> This applies to binding_
update, binding_ack types. For type binding_
update: The mobile node uses this number in
the Binding Update. The receiving node uses
the same number in its Binding Acknowl-
edgement, for matching. The Sequence num-
ber in each Binding Update to one
destination address must be greater than the
last. For type binding_ack: This integer is
copied from the received Binding Update into
the corresponding Binding ACK message.

2-32 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

Value Usage

key:status <RANGE 0-255> This applies to binding_ack


type. This value indicates the disposition of
the Binding Update: 0-127 = Binding Update
was accepted. >/= 128 = Binding Update was
rejected.
key:refresh <RANGE 0-4294967295> This applies to
binding_ack type. The mobile node SHOULD
send a new Binding Update at this recom-
mended interval, to refresh the binding. The
receiving node (the node which sends the
Binding ACK) determines the refresh interval.
(in seconds)
key:address <IPV6> The IPv6 address for mipv6_
alternative_coa_sub type.

A 2-bit reserved field.

(DEFAULT = 3)

-ipv6_frag_res_8bit This is only for "-ipv6_extension_header fragment". An 8-bit reserved field.

(DEFAULT = 30)

-ipv6_auth_string This is only for "-ipv6_extension_header authentication". A variable length


string containing the packets integrity check value (ICV).

(DEFAULT = 00:00:00:00)

-ipv6_auth_payload_len This is only for "-ipv6_extension_header authentication". The length of the


authentication data, expressed in 32-bit words.

(DEFAULT = 2)

-ipv6_auth_spi This is only for "-ipv6_extension_header authentication". The security parameter


index (SPI) associated with the authentication header.

(DEFAULT = 0)

-ipv6_auth_seq_num This is only for "-ipv6_extension_header authentication". A sequence counter for


the authentication header.

(DEFAULT = 0)

-l3_length_step Step size by which the packet size will be incremented. Use this option in con-
junction with option "length_mode" set to increment.

-mpls Whether to enable MPLS on a particular stream. When enabled, configure the
MPLS parameters by usgin the options "mpls_labels", "mpls_ttl", "mpls_exp_
bit", "mpls_bottom_of_stack", and "mpls_type". Refer to Section "Scripts Sam-
ples" for an example.

-mpls_bottom_stack_bit Whether to enable the bottom of the stack bit. This bit is set to true for the last
entry in the label stack (for the bottom of the stack) and false for all other label
stack entries.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 2-33


Traffic APIs
2
-mpls_exp_bit Sets the experimental use bit. Valid choices are between 0 and 7, inclusive.

(DEFAULT = 0)

-mpls_ttl Time-to-live value for a particular tag in a stream. Valid choices are between 0
and 255, inclusive.

(DEFAULT = 64)

-mpls_type MPLS type. Valid choices are:

Value Usage

Unicast (default)
Multicast N/A

-name Stream string identifier/name.

-no_write Whether to enable procedure "traffic_config" to commit change to the hardware.


Enable this option when the you want to create multiple streams on a single port
by using a loop. Because committing the configuration to hardware can take .5
seconds, this option allows you to save the configuration after the procedure call.

-pause_control_time Pause control time. Valid choices are betwee 0 and 65535, inclusive.

-qos_byte The combined value for the precedence, delay, throughput,reliability, reserved
and cost bits. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_rate_mode The means by which line rates will be specified. This is only for PPP, L2TP and
L2TPv3 traffic. Valid choices are:

Value Usage

percent The line rate is expressed in percentage of


maximum
line rate. N/A
pps The line rate is expressed in packets per sec-
ond.
bps (default) The line rate is expressed in bits per
second. -qos_rate
This is the data rate setting expressed. N/A
Default values are:
5000000 when -qos_rate_mode bps
1000 when -qos_rate_mode pps
100 when -qos_rate_mode percentage
This rate represents the aggregated N/A
rate for all sessions belonging to the
group. This is only for PPP, L2TP and
L2TPv3 traffic.

-qos_atm_clp The setting of the congestion loss priority bit. Valid only if -encap is a kind of
atm encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

2-34 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-qos_atm_efci The setting of the explicit forward congestion indication bit. Valid only if -encap
is a kind of atm encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_atm_cr The setting of the command response bit. Valid only if -encap is a kind of atm
encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_fr_cr The setting of the frame relay command response bit. Valid only if -encap is a
kind of framerelay encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_fr_de The setting of the frame relay discard eligibility bit. Valid only if -encap is a kind
of framerelay encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_fr_becn The setting of the frame relay backward congestion notification bit. Valid only if
-encap is a kind of framerelay encapsulation. This is only for PPP, L2TP and
L2TPv3 traffic.

(DEFAULT = 0)

-qos_fr_fecn The setting of the frame relay forward congestion notification bit. Valid only if -
encap is a kind of framerelay encapsulation. This is only for PPP, L2TP and
L2TPv3 traffic.

(DEFAULT = 0)

-qos_ipv6_flow_label The IPv6 flow label, from 0 through 1,048,575. Valid only if -encap is an ether-
net encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-qos_ipv6_traffic_class The IPv6 traffic class, from 0 through 255. Valid only if -encap is an ethernet
encapsulation. This is only for PPP, L2TP and L2TPv3 traffic.

(DEFAULT = 0)

-enable_voice When this option is enabled, another unicast voice stream will be created along
with the multicast stream. The ToS value for this stream must be specified by –
voice_tos option.

-enable_data When this option is enabled, another unicast data stream will be created along
with the multicast stream. The tos value for this stream must be specified by –
data_tos option.

-voice_tos The TOS value when –enable_voice is enabled.

-data_tos The TOS value when –enable_data is enabled.

HLTAPI Commands, Release 2.80 Rev. B 2-35


Traffic APIs
2
-rip_command For option "l4_protocol" set to "rip", this option defines the RIP command for a
particular stream. Valid choices are:

Value Usage

request N/A
response N/A
trace_on N/A
trace_off N/A
reserved N/A

-rip_version For option "l4_protocol" set to "rip", this option defines the RIP version for a
particular stream. Valid choices are:

Value Usage

1 Version 1.
2 Version 2.

-enable_time_stamp Whether time stamp insertion is enabled. Valid choices are:

Value Usage

0 Disabled. 1 - Enabled. (default)

-vlan This option will enable/disable VLAN on the interface to be configured. If vlan is
disable and vlan_id or other vlan options are provided then these options will be
ignored.

-vlan_protocol_tag_id The protocol ID field of the VLAN tag. The choices can be 8100, 9100, 9200.

(DEFAULT = 8100).

-number_of_packets_per_ Number of maximum frames in the stream.


stream

-table_udf_column_name List of column names.

-table_udf_column_type List of column types: hex ascii binary decimal mac ipv4 ipv6 and also a custom
type. The custom type can be a combination of numbers and a,b,d, and x (eg:
"8b,3d,16x").

a - ascii; b - binary; d - decimal; x - hex.

-table_udf_column_offset List of column offsets in bytes from the beginning of the packet.

-table_udf_column_size List of column sizes in bytes.

2-36 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-table_udf_rows A keyed list of rows that need to be added to the table UDF. The rows must
respect column order, size and type. The keyed list should the format below for n
columns annd m rows:

{row_1 {column_value_11 ... column_value_1n}}

{row_2 {column_value_21 ... column_value_2n}}

...........................................

{row_m {column_value_m1 ... column_value_mn}}

-enable_udf1 If this option is set to true (1), then the UDF 1 counter will be inserted into the
frame.

(DEFAULT = 0)

-udf1_mode The mode of operation of the counter. Valid choices are:

Value Usage
counter (default) Normal up-down counter as con-
trolled by counter_mode, counter_type,
counter_init_value, mask_select, mask_val,
random, counter_repeat_count, counter_
step, counter_up_down and cascade_type
options.
random Generates random values, based on the val-
ues in counter_type, mask_select and mask_
val.
value_list A list of distinct values, based on the values of
counter_type, value_list and cascade_type.
nested Two nested counters may be used to build
complex sequences, based on the values of
counter_type, counter_init_value, inner_
repeat_count, inner_repeat_value, inner_
step, counter_repeat_count, counter_step,
and cascade_type options.
range_list A list of value ranges, based on counter_type,
cascade_type and ranges. Ranges are speci-
fied with counter_init_value, counter_
repeat_count, and counter_step.
ipv4 A counter which facilitates generation of IPv4
addresses, based on counter_init_value,
counter_repeat_count, counter_type, inner_
repeat_value, inner_step, skip_zeros_and_
ones, and skip_mask_bits options.

-udf1_offset The absolute offset to insert this UDF into the frame. Note that DA and SA use
the fixed offsets at 0 and 6, respectively. This option applies to all UDF modes.

(DEFAULT = 12)

-udf1_counter_type Describes the size of the UDF field in bits. The choices are: 8 16 24 32

-udf1_counter_up_down This option describes whether the UDF counters are to be incremented or decre-
mented. Choices are: up, down.

HLTAPI Commands, Release 2.80 Rev. B 2-37


Traffic APIs
2
-udf1_counter_init_value The initial value of the counter. This field is a list of hex numbers for range_list
mode; a hex number for all other modes.

(DEFAULT = 0x0800)

-udf1_counter_repeat_ The counter is incremented or decremented the number of times based on this
count option. If counter_mode is continuous, then this value is ignored.

(DEFAULT = 1)

-udf1_counter_step The step size for counter up/down.

(DEFAULT = 1)

-udf1_value_list A list of hex numbers which holds the values to be used when mode is set to
value_list.

-udf1_counter_mode The counter will increment or decrement the bytes continuously or a number of
repeat counts. The choices are: continuous or count.

(DEFAULT = count)

-udf1_inner_repeat_value The number of times each value in the inner loop is repeated. Used when UDF
mode is set to nested.

(DEFAULT = 1)

-udf1_inner_repeat_count The number of times the inner loop is repeated. Used when UDF mode is set to
nested.

(DEFAULT = 1)

-udf1_inner_step The steps size between inner loop values. Used when UDF mode is set to nested.

(DEFAULT = 1)

-udf1_enable_cascade If this option is set to true (1), then the UDF counter will not be reset with the
start of each stream, but will rather continue counting from the ending value of
the previous stream.

(DEFAULT = 0)

-udf1_cascade_type Indicates the source of the initial value for the counter. The initial value for the
first enabled stream always comes from the UDF counter_init_value option.
Valid choices are:

Value Usage

none (default) The initial value always comes from


UDF counter_init_value option.
from_previous The initial value is derived from the last exe-
cuted stream which used this UDF number
with UDF cascade_type set to from_previ-
ous. An initial increment/decrement/random
operation is applied from the previous value.
from_shelf The initial value is derived from the last value
generated by this UDF with this stream. An
initial increment/ decrement/random opera-
tion is applied from the previous value.

2-38 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-udf1_skip_zeros_and_ If UDF mode is ipv4 and this option is set to true (1), then values of all 0s and all
ones 1s as masked by skip_mask_bits will be skipped when generating values. This
normally corresponds to network broadcast addresses.

(DEFAULT = 1)

-udf1_mask_select This is a 32-bit mask that enables, on a bit-by-bit basis, use of the absolute
counter value bits as defined by mask_val option.

(DEFAULT = {00 00})

-udf1_mask_val A 32-bit mask of absolute values for this UDF counter. It is used in association
with the mask_select; bits must be set 'on' or the bits in mask_select will be
ignored.

(DEFAULT = {00 00})

-udf1_skip_mask_bits If UDF mode is ipv4 and skip_zeros_and_ones is set to true (1), this is the num-
ber of low order bits to check when looking for all 0s and all 1s. This normally
corresponds to network broadcast addresses.

(DEFAULT = 8)

-enable_udf2

-udf2_mode

-udf2_offset

-udf2_counter_type

-udf2_counter_up_down

-udf2_counter_init_value

-udf2_counter_repeat_
count

-udf2_counter_step

-udf2_value_list

-udf2_counter_mode

-udf2_inner_repeat_value

-udf2_inner_repeat_count

-udf2_inner_step

-udf2_enable_cascade

-udf2_cascade_type

-udf2_skip_zeros_and_
ones

-udf2_mask_select

HLTAPI Commands, Release 2.80 Rev. B 2-39


Traffic APIs
2
-udf2_mask_val

-udf2_skip_mask_bits

-enable_udf3

-udf3_mode

-udf3_offset

-udf3_counter_type

-udf3_counter_up_down

-udf3_counter_init_value

-udf3_counter_repeat_
count

-udf3_counter_step

-udf3_value_list

-udf3_counter_mode

-udf3_inner_repeat_value

-udf3_inner_repeat_count

-udf3_inner_step

-udf3_enable_cascade

-udf3_cascade_type

-udf3_skip_zeros_and_
ones

-udf3_mask_select

-udf3_mask_val

-udf3_skip_mask_bits

-enable_udf4

-udf4_mode

-udf4_offset

-udf4_counter_type

-udf4_counter_up_down

-udf4_counter_init_value

-udf4_counter_repeat_
count

2-40 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-udf4_counter_step

-udf4_value_list

-udf4_counter_mode

-udf4_inner_repeat_value

-udf4_inner_repeat_count

-udf4_inner_step

-udf4_enable_cascade

-udf4_cascade_type

-udf4_skip_zeros_and_
ones

-udf4_mask_select

-udf4_mask_val

-udf4_skip_mask_bits

-enable_udf5

-udf5_mode

-udf5_offset

-udf5_counter_type

-udf5_counter_up_down

-udf5_counter_init_value

-udf5_counter_repeat_
count

-udf5_counter_step

-udf5_value_list

-udf5_counter_mode

-udf5_inner_repeat_value

-udf5_inner_repeat_count

-udf5_inner_step

-udf5_enable_cascade

-udf5_cascade_type

-udf5_skip_zeros_and_
ones

HLTAPI Commands, Release 2.80 Rev. B 2-41


Traffic APIs
2
-udf5_mask_select

-udf5_mask_val

-udf5_skip_mask_bits

-enable_pgid

-signature In the transmitted packet, the signature uniquely signs the transmitted packet as
one destined for packet group filtering on the receive port. On the receive port,
the signature is used to filter only those packets that have a matching signature
and the minimum, maximum and average latencies are obtained for those pack-
ets.

(DEFAULT = "DE AD BE EF")

If -enable_auto_detect_instrumentation is 1, then this option will represent a sig-


nature value of 12 hex bytes. This signature will be searched at receive side into
the received packets and must by the same with the signature set on receive port.

(DEFAULT = "87 73 67 49 42 87 11 80 08 71 18 05")

-signature_offset The offset, within the packet, of the packet group signature. If -enable_auto_
detect_instrumentation is 1, will be ignored.

-pgid_value Unique value used to identify one packet group for another. Up to 57344 differ-
ent packet groups may be defined.

(DEFAULT = current stream id)

-number_of_packets_tx

-loop_count

-return_to_id

-adjust_rate Specialty code meant for limited use. Some hardware (because of the nature of
the input data) will not set the stream rate at the exact rate specified, and could be
off slightly due to gaps, etc. This will compensate for that by creating two
streams in the advanced stream mode that total the exact value required.

This is a very focused feature, not meant to be used widely. It will be removed
when the new hardware support this capability.

-variable_user_rate For l2tp, ppp and l2tpv3, when 1, this option specifies that each user group trans-
mits at a different data rate. For each session there will be a different group.

-l7_traffic If true, then layer 7 traffic using an external program is performed.

(DEFAULT = 0)

-duration The duration, in seconds, to run each frame size or mix of frame sizes.

(DEFAULT = 10)

2-42 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-pppoe_unique_acmac If true, then the MAC address used for each access concentrator is
unique.Streams will be configured using a separate UDF for the ACís MAC
address.

(DEFAULT 0)

-session_repeat_count The number of times that the traffic will be repeated. Since this is a value to rep-
licate the number of sessions in the test, the value entered is multiplied by the
number of sessions in the test. Legal values are between 1 and 8000.

(DEFAULT = 1)

-session_traffic_stats In order to retrieve per session traffic stats for PPP or L2TP, then this option
should be 1. Values are 0 or 1.

(DEFAULT = 0)

-public_port_ip The IP address of the client as received from the PPPoE/L2TP server. This
address is used only for an IPv4 Access port to match the traffic to a particular
PPPoE/L2TP session.

-ppp_session_id

-mac_src2_mode

-mac_src2_step

-mac_src2_count

-mac_dst2_mode

-mac_dst2_step

-mac_dst2_count

-ip_src_skip_multicast

-ip_src_skip_broadcast

-ip_dst_skip_multicast

-ip_dst_skip_broadcast

-ip_hdr_length

-ip_bit_flags

-ip_mbz

-ip_cu

-ip_tos_field

-ip_precedence_step

-ip_precedence_count

-ip_dscp_step

HLTAPI Commands, Release 2.80 Rev. B 2-43


Traffic APIs
2
-ip_dscp_count

-ipv6_length

-ipv6_next_header

-igmp_group_step

-igmp_msg_type

-igmp_multicast_src

-igmp_s_flag

-igmp_qrv

-igmp_qqic

-igmp_record_type

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log On status of failure, gives detailed informa-
tion. On status of success, gives possible
warnings.
stream_id Stream identifier when not bidirectional.
stream_id.$port_handle Stream identifier for traffic sent out the port
associated with "port_handle".
stream_id.$port_handle2 Stream identifier for traffic sent out the port
associated with "port_handle2".

EXAMPLES See files starting with Streams_ in the Samples


subdirectory. Also see some of the other sample files in
Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT

NOTES 1. Coded versus functional specification.

2. In order to use QoS groups, parameter -variable_user_rate must be set to 1 in


traffic_config calls. The maximum number of qos groups that can be created is 7.
After the maximum number of QoS groups is exceeded, the sessions that will be
created will belong to the first group that has the same qos_byte value. If there is
no group with the same qos_byte value, then a random group is chosen.

SEE ALSO

2-44 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

NAME — ::ixia::traffic_control

DESCRIPTION This command starts or stops traffic on a given port list.

SYNOPSIS ::ixia::traffic_control
-port_handle interface_list
-action CHOICES sync_run run manual_trigger
stop poll reset destroy clear_stats
[-latency_bins NUMERIC]
[-latency_values]
[-duration NUMERIC]
[-jitter_bins NUMERIC]
[-jitter_values]
[-latency_control CHOICES cut_through
store_and_forwardstore_and_forward_preamble]

ARGUMENTS

-port_handle List ports where action is to be taken.

-action Action to take. Valid choices are:

Value Usage

sync_run Hardware synchronizes the generators and


all defined traffic.
run Starts the generators and all configured traffic
sources.
manual_trigger triggers a manually triggered traffic sequence
on the specified traffic source. NOT IMPLE-
MENTED
stop Stops the generators.
poll Polls the generators to determine whether
they are stopped or running.
reset Clears generators to power up state and
clears all traffic sources.
destroy Destroys the generators.
clear_stats Clears all stats.

-latency_bins The number of latency bins

-latency_values The splitting values for the bins. 0 and Max will be the absolute end points. A
list of {1.5 3 6.8} would create these four bins {0 - 1.5} {1.5 3} {3 6.8} {6.8
MAX}. It is always greater than the lower value and equal to or less than the
upper value.

-duration Duration in seconds of traffic to run.

-jitter_bins The number of jitter bins.

-jitter_values Same as latency bins but, if jitter bins are provided then jitter measurements will
be retrieved with ::ixia::traffic_stats.

HLTAPI Commands, Release 2.80 Rev. B 2-45


Traffic APIs
2
-latency_control Valid choices are:

Value Usage

cut_through the time interval between the first data bit out
of the Ixia transmit port and the first data bit
received by the Ixia receive port is measured.
store_and_forward the time interval between the last data bit out
of the Ixia transmit port and the first data bit
received by the Ixia receive port is measured.
store_and_forward_preamble (for Ethernet modules only) As with store and
forward, but measured with respect to the
preamble to the Ethernet frame. In this case,
the time interval between the last data bit out
of the Ixia transmit port and the first preamble
data bit received by the Ixia receive port is
measured.

-tx_ports_list The TX ports list. Valid only for IxAccess usage. -port_handle option will be
ignored.

-rx_ports_list The RX ports list. Valid only for IxAccess usage. -port_handle option will be
ignored.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
stopped 0 if traffic is running, or 1 if traffic is stopped.

EXAMPLES See files starting with Streams_ in the Samples


subdirectory. Also see some of the other sample files in
Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

2-46 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

NAME — ::ixia::traffic_stats

DESCRIPTION This command gathers statistics by port.

SYNOPSIS ::ixia::traffic_stats
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
[-streams RANGE 0-57344]
[-stream RANGE 0-57344]
[-mode CHOICES aggregate out_of_filter
stream streams faststream add_atm_stats_rx
add_atm_stats_tx add_atm_stats all]
[-atm_counter_vpi_data_item_list ANY]
[-atm_counter_vci_data_item_list ANY]
[-atm_counter_vpi_mode CHOICES incr cont_incr
decr cont_decr]
[-atm_counter_vci_mode CHOICES incr cont_incr
decr cont_decr]
[-atm_counter_vpi_type CHOICES fixed counter
random table]
[-atm_counter_vci_type CHOICES fixed counter
random table]
[-atm_reassembly_enable_iptcpudp_checksum CHOICES 0 1]
[-atm_reassembly_enable_ip_qos CHOICES 0 1]
[-atm_reassembly_encapsulation CHOICES vcc_mux_ipv4_
routed vcc_mux_bridged_eth_fcs
vcc_mux_bridged_eth_no_fcs
vcc_mux_ipv6_routed vcc_mux_mpls_routed
llc_routed_clip llc_bridged_eth_fcs
llc_bridged_eth_no_fcs llc_pppoa vcc_mux_ppoa
llc_nlpid_routed]
[-qos_stats]
[-packet_group_id]
[-vpi RANGE 0-4096]
[-vci RANGE 0-65535]
[-vpi_step RANGE 0-4095]
[-vci_step RANGE 0-65534]
[-vpi_count RANGE 0-4096]
[-vci_count RANGE 0-65535]

ARGUMENTS

-port_handle Port from which to gather statistics.

-streams Stream ID on which to gather statistics.

-stream Stream ID on which to gather statistics (deprecated).

-mode Type of statistics to collect. Valid choices are:

Value Usage

aggregate N/A
out_of_filter N/A
stream N/A
streams deprecated

HLTAPI Commands, Release 2.80 Rev. B 2-47


Traffic APIs
2

Value Usage

faststream N/A
add_atm_stats N/A
add_atm_stats_rx adds the vpi/vci pair to gather rx statistics.
The number of tx stats that can be tracked is
less than the number of rx stats that can be
tracked.
add_atm_stats_tx adds the vpi/vci pair to gather tx statistics.
The number of tx stats that can be tracked is
less than the number of rx stats that can be
tracked.
all N/A

-atm_counter_vci_data_ If the -atm_counter_vci_type option is set to table, this list is used used for the set
item_list of values (default "").

-atm_counter_vpi_mode If the -atm_counter_vci_type option is set to counter, this indicates what counter
mode should be used (default incr). Currently only the incr and decr mode are
supported.

-atm_counter_vci_mode If the -atm_counter_vpi_type option is set to counter, this indicates what counter
mode should be used (default incr).

-atm_counter_vpi_type The type of counter to use on the vpi (default fixed). Currently only fixed,
counter, and table are supported.

-atm_counter_vci_type The type of counter to use on the vci (default fixed). Currently only fixed,
counter, and table are supported.

-atm_reassembly_enable_ Enables the collection of TCP and UDP checksum statistics for packets
iptcpudp_checksum
that match this vpi/vci (default 1).

-atm_reassembly_enable_ Enables the collection of QoS statistics for packets that match this vpi/vci
ip_qos (default 1).

-atm_reassembly_encap- The decode encapsulation to be used on received data when the port is in packet
sulation group mode. This is the only means by which the encapsulation may be set
(default llc_routed_clip).

-qos_stats IP TOS statistics to gather. Valid choices are between 0 and 7 Rate and Count,
inclusive.

-packet_group_id Given a packet group ID, return the statistics for this value.

-vpi The virtual circuit identifier (default 32).

-vci The virtual path identifier (default 0).

-vpi_step If -atm_counter_vpi_type is set to counter, then this is the value added/sub-


stracted between successive vpi values (default 1).

-vci_step If -atm_counter_vci_type is set to counter, then this is the value added/sub-


stracted between successive vci values (default 1).

2-48 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

-vpi_count If -atm_counter_vpi_type is set to counter and atm_counter_vpi_mode is set to


incr or decr, then this is the number of times to increment the VPI value before
repeating from the start value (default 1).

-vci_count If -atm_counter_vci_type is set to counter and atm_counter_vci_mode is set to


incr or decr, then this is the number of times to increment the VCI value before
repeating from the start value (default 1).

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
<port_handle>.aggregate.tx.elapsed_
time
<port_handle>.aggregate.<tx|rx>.pkt_
count
<port_handle>.aggregate.<tx|rx>.pkt_
byte_count
<port_handle>.aggregate.<tx|rx>.pkt_
rate
<port_handle>.aggregate.<tx|rx>.pkt_
bit_rate
<port_handle>.aggregate.tx.total_pkts
<port_handle>.aggregate.tx.total_pkt_
rate
<port_handle>.aggregate.rx.uds<1-2>_
count
<port_handle>.stream.<id>.tx.elapsed_
time
<port_handle>.stream.<id>.<tx|
rx>.total_pkts
<port_handle>.stream.<id>.<tx|
rx>.total_pkt_rate
<port_handle>.stream.<id>.rx.total_
pkts_bytes
<port_handle>.stream.<id>.rx.total_
pkt_bit_rate
<port_handle>.stream.<id>.rx.avg_
delay
<port_handle>.stream.<id>.rx.min_
delay
<port_handle>.stream.<id>.rx.max_
delay
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.pkt_bit_rate
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.pkt_byte_rate
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.pkt_frame_rate
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.first_tstamp

HLTAPI Commands, Release 2.80 Rev. B 2-49


Traffic APIs
2

Key Value

<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.last_tstamp
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.max
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.min
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.total_pkts
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.start_time
<port_handle>.stream.<id>.rx.latency_
bin.<bin number>.stop_time
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.pkt_bit_rate
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.pkt_byte_rate
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.pkt_frame_rate
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.first_tstamp
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.last_tstamp
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.max
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.min
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.total_pkts
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.start_time
<port_handle>.stream.<id>.rx.jitter_ Ixia only
bin.<bin number>.stop_time
<port_handle>.aggregate.<tx|rx>.raw_ Ixia only
pkt_count
<port_handle>.aggregate.<tx|rx>.raw_ Ixia only
pkt_rate
<port_handle>.aggregate.<tx|rx>.pkt_ Ixia only
bit_count
<port_handle>.aggregate.rx.collisions_ Ixia only
count
<port_handle>.aggregate.rx.crc_ Ixia only
errors_count
<port_handle>.aggregate.rx.dribble_ Ixia only
errors_count
<port_handle>.aggregate.rx.oversize_ Ixia only
count
<port_handle>.aggre- Ixia only
gate.rx.undersize_count
<port_handle>.aggregate.rx.vlan_pkts_ Ixia only
count

2-50 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

Key Value

<port_handle>.aggregate.rx.qos<0-7>_ Ixia only


count
<port_handle>.aggregate.rx.data_int_ Ixia only
frames_count
<port_handle>.aggregate.rx.data_int_ Ixia only
errors_count
<port_handle>.aggre- Ixia only
gate.rx.sequence_frames_count
<port_handle>.aggre- Ixia only
gate.rx.sequence_errors_count
<port_handle>.aggregate.rx.pkt_byte_ Ixia only
rate
<port_handle>.aggregate.rx.uds<1-2>_ Ixia only
rate
<port_handle>.aggregate.rx.collisions_ Ixia only
rate
<port_handle>.aggregate.rx.crc_ Ixia only
errors_rate
<port_handle>.aggregate.rx.dribble_ Ixia only
errors_rate
<port_handle>.aggregate.rx.oversize_ Ixia only
rate
<port_handle>.aggre- Ixia only
gate.rx.undersize_rate
<port_handle>.aggregate.rx.vlan_pkts_ Ixia only
rate
<port_handle>.aggregate.rx.qos<0-7>_ Ixia only
rate
<port_handle>.aggregate.rx.data_int_ Ixia only
frames_rate
<port_handle>.aggregate.rx.data_int_ Ixia only
errors_rate
<port_handle>.aggre- Ixia only
gate.rx.sequence_frames_rate
<port_handle>.aggre- Ixia only
gate.rx.sequence_errors_rate
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_crc_errors_count
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_frames_count
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_length_errors_count
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_timeout_errors_count
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_atm_cells_count
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_bytes_count
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_frames_count

HLTAPI Commands, Release 2.80 Rev. B 2-51


Traffic APIs
2

Key Value

<port_handle>.aggregate.tx.<vpi>.< Ixia only


vci>.tx_aal5_scheduled_cells_count
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_scheduled_frames_count
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_atm_cells_count
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_crc_errors_rate
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_frames_rate
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_length_errors_rate
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_aal5_timeout_errors_rate
<port_handle>.aggregate.rx.<vpi>.< Ixia only
vci>.rx_atm_cells_rate
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_bytes_rate
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_frames_rate
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_scheduled_cells_rate
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_aal5_scheduled_frames_rate
<port_handle>.aggregate.tx.<vpi>.< Ixia only
vci>.tx_atm_cells_rate
<port_handle>.pgid.rx.pkt_count.< Ixia only
pgid>
<port_handle>.pgid.rx.bit_rate.<pgid> Ixia only
<port_handle>.pgid.rx.min_latency.< Ixia only
pgid>
<port_handle>.pgid.rx.max_latency.< Ixia only
pgid>
<port_handle>.pgid.rx.avg_latency.< Ixia only
pgid>
<port_handle>.pgid.<pgid>.rx.latency_ Ixia only
bin.pkt_bit_rate
<port_handle>.pgid.<pgid>.rx.pkt_ Ixia only
byte_rate
<port_handle>.pgid.<pgid>.rx.pkt_ Ixia only
frame_rate
<port_handle>.pgid.<pgid>.rx.first_ Ixia only
tstamp
<port_handle>.pgid.<pgid>.rx.last_ Ixia only
tstamp
<port_handle>.pgid.<pgid>.rx.max Ixia only
<port_handle>.pgid.<pgid>.rx.min Ixia only
<port_handle>.pgid.<pgid>.rx.total_ Ixia only
pkts

2-52 HLTAPI Commands, Release 2.80 Rev. B


Traffic APIs

Key Value

<port_handle>.pgid.<pgid>.rx.start_ Ixia only


time
<port_handle>.pgid.<pgid>.rx.stop_ Ixia only
time
<port_handle>.igmpoppp.<tx|rx>.mc_ Ixia only
total_bytes
<port_handle>.igmpoppp.<tx|rx>.mc_ Ixia only
total_frames
<port_handle>.aggregate.tx.total_pkt_ Cisco only
bytes
<port_handle>.stream.<id>.tx.total_ Cisco only
pkts_bytes

EXAMPLES See files starting with Streams_ in the Samples


subdirectory. Also see some of the other sample files in
Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT

NOTES 1) Coded versus functional specification.

2) When using -mode stream the for a port TX stats are returned for all streams
that exist on that port and RX stats are available only if the packets with the
stream id are received on the port.

If -streams option is used along with -mode stream, then TX and RX stats are
returned for all streams in the list with 0 values if stats are not available for a spe-
cific stream.

3) ATM interfaces will not produce statistics on a per stream basis. 4) Deprecated
options are:

-mode streams

-stream

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 2-53


Traffic APIs
2

2-54 HLTAPI Commands, Release 2.80 Rev. B


Ixia Specific APIs
3
Chapter 3:

This chapter covers the following topics:

• ::ixia::capture_packets on page 3-2.

• ::ixia::get_packet_content on page 3-4.

HLTAPI Commands, Release 2.80 Rev. B 3-1


Ixia Specific APIs
3

NAME — ::ixia::capture_packets

DESCRIPTION This command configures the capture filter and trigger, starting and stopping
packet capture on Ixia interfaces.

SYNOPSIS ::ixia::capture_packets
-port_handle interface list
[-start FLAG]
[-stop FLAG]
[-filter CHOICES source_ipv4_address
source_ipv6_address packet_size]
[-get_all_packets FLAG]
[-get_packets RANGE 0-1000000]
[-packet_size RANGE 40-64000]
[-source_ipv4_address IP]
[-source_ipv6_address IP]
[-source_offset NUMERIC]

ARGUMENTS

-port_handle List of ports where the capture will take place.

-start Start packet capture on the specified interface list.

-stop Stop packet capture on the specified interface list.

-filter Before starting the packet capture, you can configure the capture buffer to filter
packets based on their source IP address or packet size. This prevents other pack-
ets like protocol hellos or keepalives from being captured. Valid choices are:

Value Usage
source_ipv4_address N/A
source_ipv6_address N/A
packet_size N/A

-get_all_packets

-get_packets When capture is done (that is, capture started and stopped), you can use this
option to grab packets from the capture buffer. You must specify a number of
packets to get from the buffer.

-packet_size For option "filter" set to packet_size, this option specifies the size of the packets
to filter.

-source_ipv4_address For option "filter" set to source_ipv4_address, this option specifies the value of
the IPv4 source IP address.

-source_ipv6_address For option "filter" set to source_ipv6_address, this option specifies the value of
the IPv6 source IP address.

-source_offset For option "filter" set to either source address, the offset of this address in the
packet must be supplied, so the filters can be set up correctly.

3-2 HLTAPI Commands, Release 2.80 Rev. B


Ixia Specific APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
$chassis/$card/$port.packets $port_packet_content.

EXAMPLES

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 3-3


Ixia Specific APIs
3

NAME — ::ixia::get_packet_content

DESCRIPTION This command gets a certain packet slice from the content of a packet. From a list
of packets passed by the user, the procedure extracts slices from the packets and
returns a list. The offset and slice_size are decimal values that define the number
of bytes.

SYNOPSIS ::ixia::get_packet_content
-offset NUMERIC
-slice_size NUMERIC
-packet_list
[-enable_hex2dec]

ARGUMENTS

-offset Decimal, number of bytes. Specifes where to start slicing the packets. Valid
choices start with 0.

-slice_size Decimal, number of bytes to extract. Specifies the number of bytes to extract
from packet and return.

-packet_list List of packets passed by the user to the procedure get_packet_content.

-enable_hex2dec

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


packet_content List of packet slices.

EXAMPLES

SAMPLE OUTPUT

NOTES

3-4 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs
4
Chapter 4:

This chapter covers the following topics:

• ::ixia::emulation_bgp_config on page 4-2.

• ::ixia::emulation_bgp_route_config on page 4-7.

• ::ixia::emulation_bgp_control on page 4-14.

• ::ixia::emulation_bgp_info on page 4-15.

HLTAPI Commands, Release 2.80 Rev. B 4-1


BGP APIs
4

NAME — ::ixia::emulation_bgp_config

DESCRIPTION This procedure configures BGP neighbors, internal and/or external. You can
configure multiple BGP peers per interface by calling this procedure multiple
times.

SYNOPSIS ::ixia::emulation_bgp_config
-port_handle ANY
-handle ANY
-mode CHOICES enable disable
modify reset
-ip_version CHOICES 4 6
-local_ip_addr IPv4
-remote_ip_addr IPv4
-local_ipv6_addr IPv6
-remote_ipv6_addr IPv6
-local_addr_step IP
-remote_addr_step IP
-next_hop_enable CHOICES 0 1FLAG
-next_hop_ip IP
-local_as NUMERIC
-local_as_step RANGE:0-65535
-update_interval RANGE:0-4294967295
-count
-local_router_id IPV4
-vlan_id RANGE 0-4095
-vlan_id_mode CHOICES fixed increment
-vlan_id_step RANGE 0-4096
-retry_time NUMERIC
-hold_time NUMERIC
-neighbor_type CHOICES internal external
-graceful_restart_enable FLAG
-restart_time RANGE 0-10000000
-stale_time RANGE 0-10000000
-tcp_window_size RANGE 0-10000000
-staggered_start_enable FLAG
-staggered_start_time RANGE 0-10000000
-retries RANGE 0-10000000
-local_router_id_enable FLAG
-active_connect_enable FLAG
-netmask RANGE 1-128
-mac_address_start MAC
-ipv4_unicast_nlri FLAG
-ipv4_multicast_nlri FLAG
-ipv4_mpls_nlri FLAG
-ipv4_mpls_vpn_nlri FLAG
-ipv6_unicast_nlri FLAG
-ipv6_multicast_nlri FLAG
-ipv6_mpls_nlri FLAG
-ipv6_mpls_vpn_nlri FLAG
-local_as_mode CHOICES fixed increment
-local_loopback_ip_addr IP
-local_loopback_ip_addr_step IP
-local_router_id_step IPV4
-no_write FLAG
-remote_loopback_ip_addr IP

4-2 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

-remote_loopback_ip_addr_step IP
-updates_per_iteration RANGE 0-10000000
-vlan_user_priority RANGE 0-7
-remote_as
-vpi
-vci
-vpi_step
-vci_step
-advertise_host_route
-routes_per_msg
-timeout

ARGUMENTS

-port_handle The port on which the BGP neighbor is to be created.

-handle BGP handle used for -mode modify

-mode This option defines the action to be taken on the BGP server. Valid choices are:

Value Usage

enable enable and/or create the BGP4 configuration.


If -handle is specified, then it will be enabled,
otherwise created.
disable disable the BGP4 configuration, requires the
use of -handle.
modify modify the BGP4 configuration, requires the
use of -handle.
reset deletes all BGP4 configurations from the -
port_handle and then creates the provided
BGP4 configuration.

-ip_version This option defines the IP version of the BGP4 neighbor to be configured on the
Ixia interface. Valid choices are:

Value Usage

4 IPv4
6 IPv6

-local_ip_addr The IPv4 address of the Ixia simulated BGP node to be emulated.

-remote_ip_addr The IPv4 address of the DUTs interface connected to the emulated BGP port.

-local_ipv6_addr The IPv6 address of the BGP node to be emulated by the test port.

-remote_ipv6_addr The IPv6 address of the DUT interface connected to emulated BGP node.

-local_addr_step Defines the mask and increment step for the next -local_ip_addr or

-local_ipv6_addr.

-remote_addr_step Defines the mask and increment step for the next -remote_ip_addr or

-remote_ipv6_addr.

HLTAPI Commands, Release 2.80 Rev. B 4-3


BGP APIs
4
-next_hop_enable This option is used for IPv4 traffic, and enables the use of the BGP NEXT_HOP
attributes. When enabled, the IP next hop must be configured (using the -next_
hop_ip option).

-next_hop_ip Defines the IP of the next hop. This option is used if the flag -next_hop_enable is
set.

-local_as The AS number of the BGP node to be emulated by the test port.

-local_as_step If you configure more then 1 eBGP neighbor on the Ixia interface, and if you
select the option local_as_mode to increment, the option local_as_step defines
the step by which the AS number is incremented.

-update_interval The time intervals at which UPDATE messages are sent to the DUT, expressed
in the number of milliseconds between UPDATE messages.

-count Number of BGP nodes to create.

-local_router_id BGP4 router ID of the emulated node, must be in IPv4 format.

-vlan_id VLAN ID for the emulated router node.

-vlan_id_mode For multiple neighbor configuration, configurest the VLAN ID mode. Valid
choices are:

Value Usage

fixed N/A
increment N/A

-vlan_id_step Defines the step for every VLAN When -vlan_id_mode is set to increment.

-retry_time For External BGP neighbor. When retries are necessary, the delay in seconds
between retries.

-hold_time Configures the hold time for BGP sessions for this Neighbor. Keepalives are sent
out every one-third of this interval. If the default value is 90, KeepAlive mes-
sages are sent every 30 seconds.

-neighbor_type Sets the BGP neighbor type. Valid choices are:

Value Usage

external eBGP
internal iBGP

-graceful_restart_enable Will enable graceful restart (HA) on the BGP4 neighbor.

-restart_time If -graceful_restart_enable is set, sets the amount of time following a restart


operation allowed to re-establish a BGP session, in seconds.

-stale_time If -graceful_restart_enable is set, sets the amount of time after which an End-Of-
RIB marker is sent in an Update message to the peer to allow time for routing
convergence via IGP and BGP selection, in seconds. Stale routing information
for that address family is then deleted by the receiving peer.

-tcp_window_size For External BGP neighbor only. The TCP window used for communications
from the neighbor.

4-4 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

-staggered_start_enable Enables staggered start of neighbors.

-staggered_start_time When the -staggered_start_enable flag is used, this is the duration of the start
process in seconds.

-retries For External BGP neighbor. The number of times to attempt an OPEN connec-
tion with the DUT routers before giving up.

-local_router_id_enable Enables the BGP4 local router id option.

-active_connect_enable For External BGP neighbor. If set, a HELLO message is actively sent when BGP
testing starts. Otherwise, the port waits for the DUT to send its HELLO message.

-netmask Mask of the IP address for the interface configuration.

-mac_address_start Initial MAC address of the interfaces created for the BGP4 neighbor.

-ipv4_unicast_nlri If used, support for IPv4 Unicast is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-ipv4_multicast_nlri If used, support for IPv4 Multicast is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-ipv4_mpls_nlri If used, support for IPv4 MPLS is advertised in the Capabilities Optional Param-
eter / Multiprotocol Extensions parameter in the OPEN message.

-ipv4_mpls_vpn_nlri If used, support for IPv4 MPLS VPN is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-ipv6_unicast_nlri If used, support for IPv6 Unicast is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-ipv6_multicast_nlri If used, support for IPv6 Multicast is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-ipv6_mpls_nlri If used, support for IPv6 MPLS is advertised in the Capabilities Optional Param-
eter / Multiprotocol Extensions parameter in the OPEN message.

-ipv6_mpls_vpn_nlri If used, support for IPv6 MPLS VPN is advertised in the Capabilities Optional
Parameter / Multiprotocol Extensions parameter in the OPEN message.

-local_as_mode For External BGP type only. This option controls the AS number (local_as)
assigned to additional routers. Valid choices are:

Value Usage
fixed (default) the local_as remains fixed
increment increments the local_as

-local_loopback_ip_addr Required when the -ipv4_mpls_vpn_nlri option is used.

-local_loopback_ip_addr_ Required when the -ipv4_mpls_vpn_nlri option is used.


step

-local_router_id_step BGP4 router ID step of the emulated node, must be in IPv4 format.

HLTAPI Commands, Release 2.80 Rev. B 4-5


BGP APIs
4
-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-remote_loopback_ip_addr Required when the -ipv4_mpls_vpn_nlri option is used.

-remote_loopback_ip_ Required when the -ipv4_mpls_vpn_nlri option is used.


addr_step

-updates_per_iteration When the protocol server operates on older ports that do not possess a local pro-
cessor, this tuning parameter controls how many UPDATE messages are sent at a
time. When many routers are being simulated on such a port, changing this value
may help to increase or decrease performance.

-vlan_user_priority The VLAN user priority assigned to emulated router node.

-remote_as

-vpi

-vci

-vpi_step

-vci_step

-advertise_host_route

-routes_per_msg

-timeout

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is $::FAILURE, contains more
information
handles list of BGP node names/ids/handles

EXAMPLES See files starting with BGP4_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of theBGP usage.
See the BGP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {neighbor1 neighbor2}}

NOTES Coded versus functional specification.

SEE ALSO

4-6 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

NAME — ::ixia::emulation_bgp_route_config

DESCRIPTION This command creates a route range that is associated with a BGP4 neighbor.
This command defines a set of routes and associated attributes.

SYNOPSIS ::ixia::emulation_bgp_route_config
-mode CHOICES add remove
-handle
[-route_handle]
[-l3_site_handle]
[-ip_version CHOICES 4 6]
[-prefix IP | CHOICES all]
[-netmask IP]
[-ipv6_prefix_length RANGE 1-128]
[-num_routes NUMERIC]
[-num_sites NUMERIC]
[-max_route_ranges NUMERIC]
[-prefix_step NUMERIC]
[-packing_from RANGE 0-65535]
[-packing_to RANGE 0-65535]
[-route_ip_addr_step IP]
[-origin_route_enable FLAG]
[-origin CHOICES igp egp
incomplete]
[-as_path]
[-next_hop IP]
[-next_hop_enable FLAG | CHOICES 0 1
DEFAULT 1]
[-next_hop_set_mode CHOICES same manual
(DEFAULT same)]
[-next_hop_ip_version CHOICES 4 6]
[-multi_exit_disc NUMERIC]
[-local_pref NUMERIC (DEFAULT 0)]
[-atomic_aggregate FLAG]
[-aggregator]
[-communities_enable FLAG]
[-communities NUMERIC]
[-originator_id_enable FLAG]
[-originator_id IP]
[-cluster_list_enable FLAG]
[-cluster_list]
[-ext_communities]
[-label_value NUMERIC]
[-rd_admin_value IP | NUMERIC]
[-rd_assign_value NUMERIC]
[-label_incr_mode CHOICES fixed rd prefix]
[-label_step NUMERIC]
[-rd_type FLAG]
[-rd_admin_step IP | NUMERIC]
[-rd_assign_step NUMERIC]
[-target_type CHOICES as ip]
[-target IP | NUMERIC]
[-target_assign NUMERIC]
[-import_target_type CHOICES as ip]
[-import_target IP | NUMERIC]
[-import_target_assign NUMERIC]

HLTAPI Commands, Release 2.80 Rev. B 4-7


BGP APIs
4
[-ipv4_unicast_nlri FLAG]
[-ipv4_multicast_nlri FLAG]
[-ipv4_mpls_nlri FLAG]
[-ipv4_mpls_vpn_nlri FLAG]
[-ipv6_unicast_nlri FLAG]
[-ipv6_multicast_nlri FLAG]
[-ipv6_mpls_nlri FLAG]
[-ipv6_mpls_vpn_nlri FLAG]
[-default_mdt_ip IP]
[-default_mdt_ip_incr IP]
[-enable_generate_unique_routes]
[-enable_partial_route_flap]
[-enable_route_flap]
[-enable_traditional_nlri CHOICES 0 1 (DEFAULT 1)]
[-flap_down_time RANGE 1-1000000]
[-flap_up_time RANGE 1-1000000]
[-partial_route_flap_from_route_index RANGE 0-1000000]
[-partial_route_flap_to_route_index RANGE 0-1000000]
[-prefix_from RANGE 0-128]
[-prefix_to RANGE 0-128]
[-target_step IPNUMERIC]
[-target_assign_step NUMERIC]
[-import_target_step IPNUMERIC]
[-import_target_assign_step NUMERIC]
[-no_write FLAG]

ARGUMENTS

-mode Specifies either addition or removal of routes from emulated nodes BGP table.

-handle Specifies the emulated BGP router object name.

-route_handle The handle of the BGP route where to take action.

-l3_site_handle The handle of the L3 VPN Site where to take action.

-ip_version The IP version of the BGP route to be created. Valid choices are:

Value Usage

4 IPv4
6 IPv6

-prefix Route prefix to be advertised / removed by emulated BGP node.

-netmask Netmask of the advertised routes.

-ipv6_prefix_length IPv6 mask for the IPv6 routes advertised.

-num_sites Number of L3 VPN sites (PEs) to be created on a BGP neighbor.

-num_routes Number of routes to advertise, using the prefix as the starting prefix and incre-
menting based upon the -prefix_step and the -netmask arguments.

-max_route_ranges The number of route ranges to create under the BGP neighbor.

4-8 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

-prefix_step If -num_routes is greater than one, the step interval for the next incremented pre-
fix.

-packing_from The minimum number of routes to pack into an UPDATE message. Random
numbers are chosen from the range -packing_from to -packing_to.

-packing_to The maximum number of routes to pack into an UPDATE message. Random
numbers are chosen from the range -packing_from to -packing_to.

-route_ip_addr_step IP address increment step between the multiple route ranges created under the
BGP neighbor, based on -max_route_ranges

-origin Selects the value for the ORIGIN path attribute. Note that specifying a path
attribute forces the advertised route to be a node route as opposed to a global
route. Valid choices are:

Value Usage

igp N/A
egp N/A
incomplete N/A

-as_path Specifies the AS_PATH path attribute, which is a mandatory attribute composed
of a sequence of AS path segments. Format: <as path type>:<comma separated
segment list> {as_set|as_seq|as_confed_set|as_confed_seq}:<x,x,x,x>

Example:

as_set:1,2,3,4

as_set - specifies an unordered set of autonomous systems though which a route


in the UPDATE message has traversed.

as_seq - specifies an ordered set of autonomous systems through which a route in


the UPDATE message has traversed.

as_confed_set - specifies an unordered set of autonomous systems in the local


confederation that the UPDATE message has traversed.

as_confed_seq - specifies an ordered set of autonomous systems in the local con-


federation that the UPDATE message has traversed.

-next_hop Specifies a mandatory path attribute that defines the IP address of the border
router that should be used as the next hop to the destinations listed in the Net-
work Layer Reachability field of the UPDATE message.

-next_hop_enable A flag to enable the generation of a NEXT HOP attribute. Can be used as a flag
of a choice of 0 or 1.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 4-9


BGP APIs
4
-next_hop_set_mode Indicates how to set the next hop IP address. Valid choices are:

Value Usage

same (default) Will set the value as the local IP


address.
manual The value is read from -next_hop_ip_
address.

-next_hop_ip_version The type of IP address in nextHopIpAddress. Valid choices are:

Value Usage

4 IPv4
6 IPv6

-multi_exit_disc Specifies the multi-exit discriminator, which is an optional non-transitive path


attribute. The value of this attribute may be used by a BGP speakers decision
process to discriminate among multiple exit points to a neighboring AS.

-local_pref Specifies the LOCAL_PREF path attribute, which is a discretionary attribute


used by a BGP speaker to inform other BGP speakers in its own AS of the origi-
nating speakers degree of preference for an advertised route.

(DEFAULT = 0)

-atomic_aggregate Specifies the ATOMIC_AGGREGATE path attribute, which is a discretionary


attribute. If set to 1, informs other BGP speakers that the local system selected a
less specific route without selecting a more specific route included in it.

-aggregator For the AGGREGATOR path attribute, specifies the last AS number that formed
the aggregate route, and the IP address of the BGP speaker that formed the aggre-
gate route. Format: <asn>:<a.b.c.d>

-communities_enable Enables or disables communities.

-communities Specifies the COMMUNITIES path attribute, which is an optional transitive


attribute of variable length. All routes with this attribute belong to the communi-
ties listed in the attribute.

This is a list of numbers.

-originator_id_enable Enables or disables originator ID on BGP route range.

-originator_id Specifies the ORIGINATOR_ID path attribute, which is an optional, non-transi-


tive BGP attribute. It is created by a Route Reflector and carries the ROUTER_
ID of the originator of the route in the local AS.

-cluster_list_enable Enables or disables cluster list on BGP route range.

-cluster_list Specifies the CLUSTER_LIST path attribute, which is an optional, non-transitive


BGP attribute. It is a sequence of CLUSTER_ID values representing the reflec-
tion path through which the route has passed.

4-10 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

-ext_communities Specifies the EXTENDED COMMUNITIES path attribute, which is a transitive


optional BGP attribute. All routes with the EXTENDED COMMUNITIES
attribute belong to the communities listed in the attribute.

This is a list of numbers separated by comma char "," as follows:

The first number is the value of the low-order type byte. Possible values:

0 (default)

2 Route target community

3 Route origin community

4 Link bandwidth community

The second number is the value of the high-order type byte.

Possible values:

128 IANA bit: This bit may be oríd with any other values. 0 indicates that this is
an IANA assignable type using First Come First Serve policy. 1 indicates that
this is an IANA assignable type using the IETF Consensus policy.

64 Transitive bit: This bit may be oríd with any other values. 0 indicates that the
community is transitive across ASes and 1 indicates that it is non-transitive.

0 Two-octet AS specific (default): Value holds a two-octet global ASN followed


by a four-bytes local admin value.

1 IPv4 address specific: Value holds a four-octet IP address followed by a two-


bytes local administrator value.

2 Four-octet AS specific: Value holds a four-octet global ASN followed by a


two-bytes local admin value.

3 Generic: Value holds six-octets.

The third number is the value associated with the extended community. (default
= {00 00 00 00 00 00})

Example value: {2,128,03 22 00 00 00 00}

-label_value Starting value for the MPLS label of the IPv4 MPLS-VPN route.

-label_incr_mode Method in which the MPLS label of an IPv4 MPLS-VPN route will be incre-
mented. Valid choices are:

Value Usage

fixed Fixed MPLS label for all RDs


rd Increment label per RD
prefix Increment label per prefix advertised

-label_step Increment value used to step the base MPLS label.

-rd_admin_value Starting value of the administrator field of the route distinguisher.

-rd_assign_value Starting value of the assigned number field of the route distinguisher.

HLTAPI Commands, Release 2.80 Rev. B 4-11


BGP APIs
4
-rd_type Route distinguisher type.

-rd_admin_step Increment value to step the base route distinguisher administrator field.

-rd_assign_step Increment value to step the base route distinguisher assigned number field.

-target_type List of the target type.

-target AS number or IP address list based on the -target_type list.

-target_assign The assigned number subfield of the value field of the target. It is a number from
a numbering space which is maintained by the enterprise administers for a given
IP address or ASN space. It is the local part of the target.

-import_target_type List of the import target type.

-import_target AS number or IP address list based on the -import_target_type list.

-import_target_assign The assigned number subfield of the value field of the import target. It is a num-
ber from a numbering space which is maintained by the enterprise administers for
a given IP address or ASN space. It is the local part of the import target.

-ipv4_unicast_nlri Enables the retrieval of routes for IPv4 unicast.

-ipv4_multicast_nlri Enables the retrieval of routes for IPv4 multicast.

-ipv4_mpls_nlri Enables the retrieval of routes for IPv4 MPLS.

-ipv4_mpls_vpn_nlri Enables the retrieval of routes for IPv4 MPLS VPNs.

-ipv6_unicast_nlri Enables the retrieval of routes for IPv6 unicast.

-ipv6_multicast_nlri Enables the retrieval of routes for IPv6 multicast.

-ipv6_mpls_nlri Enables the retrieval of routes for IPv6 MPLS.

-ipv6_mpls_vpn_nlri Enables the retrieval of routes for IPv6 MPLS VPNs.

-default_mdt_ip Defines the IP address of the default MDT for mVPN.

-default_mdt_ip_incr Defines the IP address increment for each default MDT.

-enable_generate_unique_ FLAG - When set to 1, each router generates a different IP address range. When
routes set to 0, each router advertises the route range as is. When enabled, the first
router advertises numRoutes routes starting at networkAddress, the next router
advertises numRoutes routes starting at (networkAddress + numRoutes), and so
on.

-enable_partial_route_flap

-enable_route_flap FLAG - Enables the flapping functions described by route_flap_up_time, route_


flap_down_time, routesToFlapFrom, and routesToFlapTo.

-enable_traditional_nlri If checked, use the traditional NLRI in the UPDATE message, instead of using
the MP_REACH_NLRI Multi-protocol extension to advertise the routes. (Not
applicable for MPLS and MPLS VPN Route Ranges.) Values: 0 1

(DEFAULT = 1)

4-12 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

-flap_down_time During flapping operation, the period expressed in seconds during which the
route is withdrawn from its neighbors.

(DEFAULT = 0)

-flap_up_time During flapping operation, the time between flap cycles, expressed in seconds.
During this period, the route range will be up.

(DEFAULT = 0)

-partial_route_flap_from_
route_index

-partial_route_flap_to_
route_index

-prefix_from The first prefix length to generate based on the -prefix. num_routes.

-prefix_to The last prefix length to generate based on the -prefix. -num_routes.

-target_step Increment value to step the base target field.

-target_assign_step Increment value to step the base target assigned number field.

-import_target_step Increment value to step the base import target field.

-import_target_assign_ Increment value to step the base import target assigned number field.
step

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is failure, contains more informa-
tion.
bgp_routes The route range handles.
bgp_sites A keyed list of sites with route ranges for

EXAMPLES See files starting with BGP4_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of BGP usage.
See the BGP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) You can configure multiple BGP route range on each Ixia interface.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 4-13


BGP APIs
4

NAME — ::ixia::emulation_bgp_control

DESCRIPTION Stop, start, or restart the protocol.

SYNOPSIS ::ixia::emulation_bgp_control
-mode CHOICES stop start restart
link_flap
[-handle]
[-link_flap_up_time RANGE 0-10000000]
[-link_flap_down_time RANGE 0-10000000]

ARGUMENTS

-mode What is being done to the protocol. Valid choices are:

Value Usage
stop stop the protocol
start start the protocol
restart restart the protocol
link_flap turns on and sets the link flapping

-handle The BGP session handle.

-link_flap_down_time When mode is link_flap, the amount of time in seconds that the link is discon-
nected.

-link_flap_up_time When mode is link_flap, the amount of time in seconds that the link is connected.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.

EXAMPLES See files starting with BGP4_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of BGP usage.
See the BGP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

4-14 HLTAPI Commands, Release 2.80 Rev. B


BGP APIs

NAME — ::ixia::emulation_bgp_info

DESCRIPTION Returns information about BGP neighbors.

SYNOPSIS ::ixia::emulation_bgp_info
-mode CHOICES stats clear_stats settings neighbors
labels
-handle

ARGUMENTS

-mode Specifies action to be taken. Valid choices are:

Value Usage

stats returns Tx and Rx statistics of different BGP


messages.
clear_stats clears Tx and Rx statistics of different BGP
messages.
settings returns tester IP address and AS number.
neighbors returns SUT IP address.
labels returns MPLS label information like label, net-
work, next_hop, prefix_len, distinguisher
(only for MPLS VPN), version(ipV4|ipV6),
type (mpls|mplsVpn)

-handle The BGP session handle or L3 Site handle.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log On status of failure, gives detailed informa-
tion.
ip_address tester IP address
peers BGP peer IP address (a.b.c.e)
update_tx number of updates sent
update_rx number of updates received
keepalive_tx number of keepalive messages sent
keepalive_rx number of keepalive messages received
open_tx number of open messages sent
open_rx number of open messages received
notify_tx number of notify messages sent
notify_rx number of notify messages received
num_node_routes number of routes in session
routing_protocol BGP session type
ip_address a.b.c.d
asn integer
peers List of bgp peers (a.b.c.e)
<number>.distinguisher only for MPLS VPN
<number>.label integer

HLTAPI Commands, Release 2.80 Rev. B 4-15


BGP APIs
4

Key Value
<number>.neighbor ip address (v4 or v6)
<number>.network ip address (v4 or v6)
<number>.next_hop ip address (v4 or v6)
<number>.prefix_len integer
<number>.type mpls|mplsVpn
<number>.version ipV4|ipV6

EXAMPLES See files starting with BGP4_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of BGP usage.
See the BGP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

4-16 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs
5
Chapter 5:

This chapter covers the following topics:

• ::ixia::emulation_dhcp_config on page 5-2.

• ::ixia::emulation_dhcp_group_config on page 5-4.

• ::ixia::emulation_dhcp_control on page 5-8.

• ::ixia::emulation_dhcp_stats on page 5-10.

HLTAPI Commands, Release 2.80 Rev. B 5-1


DHCP APIs
5

NAME — ::ixia::emulation_dhcp_config

DESCRIPTION Configures DHCP emulation for the specified test port or handle. Calling this
procedure repeatedly will create more interfaces on that port. (go to
::ixia::emulation_dhcp_group_config description for more details).

SYNOPSIS ::ixia::emulation_dhcp_config
[-port_handle ^\[0-9\]+/\[0-9\]+/\[0-
9\]+$]
-mode CHOICES create modify reset
[-handle]
[-lease_time RANGE 0-65535]
[-max_dhcp_msg_size RANGE 0-65535]
[-reset FLAG]
[-version CHOICES ixtclhal ixaccess
DEFAULT ixtclhal]
[-no_write FLAG]
[-msg_timeout NUMERIC]
[-outstanding_sessions_count NUMERIC]
[-release_rate RANGE 0-2000]
[-request_rate RANGE 0-2000]
[-response_wait NUMERIC]
[-retry_count NUMERIC]
[-retry_timer NUMERIC]

ARGUMENTS

-port_handle This parameter specifies the port upon which emulation is configured. Manda-
tory for the modes -create and -reset.

-mode This option defines the action to be taken on the port specified by the port_handle
argument. Valid choices are:

Value Usage
create Creates an DHCP session, requires the use
of -port_handle.
modify Modifies an DHCP session, requires the use
of -handle.
reset Stops the emulation locally without attempting
to clear the bound address from the DHCP
server.

-handle Specifies the handle of the port upon which emulation is configured. Mandatory
for the mode -modify only.

-lease_time Specify the lease time in seconds suggested by the emulated client that is sent in
the discover message. The default value of this parameter is "8640".

-max_dhcp_msg_size Sets the maximum size of the dhcp message. This option is not supported with
IxAccess. It will be accepted as a parameter without any warning whatsoever, but
it will have no effect on the configuration.

5-2 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs

-reset Clears the hardware. If mode is "create" and the reset parameter is present, all the
configurations will be erased from memory and the new config is created using
the new given parameters.

If mode is “create" and the reset parameter is not present, a new session is added
in the local array.

If mode is "modify" or "reset", the -reset parameter cannot be used.

-version Permits the selection of the API used (ixtclhal or ixaccess). This option must be
set to ixaccess so that IxAccess API is used.

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware. Writing the configurations to hardware can be done only once in the
::ixia::emulation_dhcp_group_config, if you want to modify you have to redo the
configurations and write them again.

-msg_timeout Specifies the maximum time to wait in milliseconds for receipt of an offer or ack
message after the sending of a corresponding discover or request message.

-outstanding_sessions_ Specifies the maximum number of outstanding sessions (unacknowledged dis-


count cover or request message) allowed to exist. In effect, this is a rate limiting mech-
anism that stops dhcp servers from being overwhelmed with reqests.

-release_rate Specified the desired release rate in sessions per second.

-request_rate Specified the desired request rate in sessions per second.

-response_wait

-retry_count Limits the number of additional transmissions of either a discover or request


message when no acknowledgement is received.

-retry_timer Limits the number of seconds the emulation will wait between attempting to
reestablish a failed session.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log Error message if command returns {status 0}
port_handle Port handle on which DHCP emulation was
configured

EXAMPLES See files starting with DHCP_ in the Samples subdirectory.


See the DHCP example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 5-3


DHCP APIs
5

NAME — ::ixia::emulation_dhcp_group_config

DESCRIPTION Configures and modifies a group of DHCP subscribers where each group share a
set of common characteristics.

This proc can be invoked multiple times to create multiple groups of subscribers
on a port with characteristics different from other groups or for independent con-
trol purposes.

This command allows the user to configure a specified number of DHCP client
sessions which belong to a subscriber group with specific Layer 2 network set-
tings. Once the subscriber group has been configured a handle is created, which
can be used to modify the parameters or reset sessions for the subscriber.

Creating several groups for one session is no longer supported. Trying to do this
will overwrite the previous created group. This is an IxAccess limitation.

SYNOPSIS ::ixia::emulation_dhcp_group_config
-mode CHOICES create modify reset
-mac_addr MAC
-mac_addr_step MAC
[-num_sessions RANGE 1-65536]
[-handle]
[-encap CHOICES ethernet_ii
ethernet_ii_vlan vc_mux llcsnap
[-vlan_id RANGE 0-4095]
[-vlan_id_step RANGE 0-4095]
[-vlan_id_count RANGE 0-4095]
[-vci RANGE 0-65535]
[-vpi RANGE 0-255]
[-vci_count RANGE 0-65535]
[-vci_step NUMERIC]
[-vpi_count RANGE 0-255]
[-vpi_step NUMERIC]
[-sessions_per_vc RANGE 1-65535]
[-pvc_incr_mode CHOICES vci vpi]
[-version CHOICES ixtclhal ixaccess
DEFAULT ixtclhal]
[-target_subport RANGE 0-3 DEFAULT 0]
[-server_id IP]
[-vendor_id]
[-no_write FLAG]
[-vlan_priority RANGE 0-7]
[-qinq_incr_mode CHOICES inner outer]
[-release_rate_sps RANGE 0-2000]
[-request_rate_sps RANGE 0-2000]
[-vlan_id_outer RANGE 0-4095]
[-vlan_id_outer_count RANGE 0-4095]
[-vlan_id_outer_step RANGE 0-4095]

ARGUMENTS

-mode Action to take on the port specified the handle argument. Create starts emulation
on the port. Modify applies the parameters specified in subsequent arguments.
Reset stops the emulation locally without attempting to clear the bound addresses
from the DHCP server.

5-4 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs

-handle Specifies the port and group upon which emulation is configured. If the -mode is
"modify", -handle specifies the group upon which emulation is configured, other-
wise it specifies the session upon which emulation is configured.

-num_sessions Indicates the number of DHCP clients emulated.

-encap Note: ethernet_ii_qinq is not supported. Valid choices are:

Value Usage

ethernet Ethernet II
ethernet_ii_vlan Ethernet II with a single vlan tag
vc_mux ATM encapsulation
llcsnap ATM encapsulation

-mac_addr Specifies the base (first) MAC address to use when emulating multiple clients.
This parameter is mandatory when -mode is “create”.

-mac_addr_step Specifies the step value applied to the base MAC address for each subsequent
emulated client. It must be provided in the integer format (unlike ixTclHal where
it is provided in MAC address format).The step MAC address is arithmetically
added to the base MAC address with any overflow beyond 48 bits silently dis-
carded. The default value is 1.

-vci Specifies the base (first) VCI (virtual circuit) value applied used when emulating
multiple DHCP clients over ATM interfaces.

-vpi Specifies the base (first) VPI (virtual path) value applied used when emulating
multiple DHCP clients over ATM interfaces.

-vlan_id Specifies the starting vlan id for ethernet_ii_vlan encapsulation. Applies to


Ethernet vlan interfaces only.

-vlan_id_step Specifies the increment for the vlan id for ethernet_ii_vlan encapsulation.
Applies to Ethernet interfaces only.

-vlan_id_count Specifies the number of vlan id for ethernet_ii_vlan encapsulation. Only applies
to Ethernet interfaces. The increment is applied via addition modulo 4096.

-sessions_per_vc Specifies the the number of VPI's or VCI's sessions used for emulation of clients
over ATM interfaces. Used in conjuction with the -pvc_incr_mode to allow mul-
tiple sessions per VCC. Valid for ATM interfaces only.

-vci_count Specifies the the number of VCI's used for the emulation of clients over ATM
interfaces. Valid for ATM interfaces only.

-vci_step Specifies the increment to be used when selecting the next VCI value to be used
for emulation of clients over ATM interfaces. Valid for ATM interfaces only.
VCI values are incremented by addition modulo 65536.

-vpi_count Specifies the the number of VPI's used for the emulation of clients over ATM
interfaces. Valid for ATM interfaces only.

-vpi_step Specifies the increment to be used when selecting the next VPI value to be used
for emulation of clients over ATM interfaces. Valid for ATM interfaces only.
VCI values are incremented by addition modulo 256.

HLTAPI Commands, Release 2.80 Rev. B 5-5


DHCP APIs
5
-pvc_incr_mode Specifies the increment to be used when selecting the next VPI value to be used
for emulation of clients over ATM interfaces. Valid for ATM interfaces only.

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware. Writing the configurations to hardware can be done only once. If you
want to modify you have to redo the configurations and write them again, so we
recommand using this parameter until all the configurations are complete and
then writing them (without -no_write).

-server_id An IP address (default 1.1.1.1) - DHCP negotiation will only occur with a partic-
ular server.

-vendor_id The vendor ID associated with the client (default "Ixia").

-vlan_priority If -encap is ethernet_ii_vlan, specifies the priority of the vlan_id.

(DEFAULT 0)

-version Permits the selection of the API used (ixtclhal or ixaccess). This option must be
set to ixaccess so that IxAccess API is used.

-target_subport Defines which IxAccess subport is to be utilized. There are four and they are
defined from 0 to 3.

-qinq_incr_mode

-release_rate_sps

-request_rate_sps

-vlan_id_outer

-vlan_id_outer_count

-vlan_id_outer_step

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is failure, contains more info
port_handle Port handle on which DHCP emulation was
configured
group Handle of the group that was configured or
modified

EXAMPLES See files starting with DHCP_ in the Samples subdirectory.


See the DHCP example in Appendix A, "Example APIs," for
one specificexample usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

5-6 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 5-7


DHCP APIs
5

NAME — ::ixia::emulation_dhcp_control

DESCRIPTION Controls DHCP sessions. This procedure is not available for IxAccess.

SYNOPSIS ::ixia::emulation_dhcp_control
-port_handle
-action CHOICES bind release renew
[-handle]
[-no_write FLAG]

ARGUMENTS

-port_handle Specifies the handle upon which emulation id configured. This parameter is
returned from emulation_dhcp_config proc.

Emulation must have been previously enabled on the specified port via a call to
emulation_dhcp_group_config proc.

-action Action to take on the port specified by the port_handle argument. The parameters
specified in the emulation_dhcp_group_config proc are used to control the bind/
renew/release rates.

Valid choices are:

Value Usage

Bind starts the discover/request message trans-


mission.
Release causes the system to issue release message
for all currently bound subscribers.
Renew issues a renew request for all currently bound
subscribers. This option is a Cisco option.

-handle Allows the user to optionally select the groups to which the specified action is to
be applied. If this parameter is not specified, then the specified action is applied
to all groups configured on the port specified by the -port_handle command. The
handle is obtained from the keyed list returned in the call to emulation_dhcp_
group_config proc. The port handle parameter must have been initialized and
dhcp group emulation must have been configured prior to calling this function.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion

EXAMPLES See files starting with DHCP_ in the Samples subdirectory.


See the DHCP example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

5-8 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 5-9


DHCP APIs
5

NAME — ::ixia::emulation_dhcp_stats

DESCRIPTION Controls DHCP subscriber group activity. This procedure returns only the aggre-
gate statistics per port/subport. This is a limitation of IxAccess regarding the
dhcp statistics.

The subport from which the statistics are collected is extracted from the handle.

SYNOPSIS ::ixia::emulation_dhcp_stats
-port_handle
[-action CHOICES clear]
[-handle]
[-version CHOICES ixtclhal ixaccess
DEFAULT ixtclhal]
[-no_write FLAG]

ARGUMENTS

-port_handle Specifies the port upon which emulation id configured. This parameter is
returned from emulation_dhcp_config proc. Emulation must have been previ-
ously enabled on the specified port via a call to emulation_dhcp_group_config
proc.

-action Clear - reset the statistics for the specified port/subscriber group to 0. This option
is not supported with IxAccess. This parameter will be ignored if it is used.

-handle Allows the user to optionally select the groups to which the specified action is to
be applied. If this parameter is not specified, then the specified action is applied
to all groups configured on the port specified by the -port_handle command. The
handle is obtained from the keyed list returned in the call to emulation_dhcp_
group_config proc.

The port handle parameter must have been initialized and dhcp group emulation
must have been configured prior to calling this function.

This option is not supported with IxAccess. This parameter will be ignored if it is
used.

-version Defines whether the target program is IxTclHal or IxAccess. The default is IxT-
clHal. This option must be set to IxAccess so that ixAccess API is used.

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

This option is not supported with IxAccess. This parameter will be ignored if it is
used.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion
aggregate.currently_attempting Total no of enabled interfaces
aggregate.currently_idle Total no of interfaces not bounded

5-10 HLTAPI Commands, Release 2.80 Rev. B


DHCP APIs

Key Value
aggregate.currently_bound Total no of addresses learned
aggregate.success_percentage Percent rate of addresses learned
aggregate.discover_tx_count Total no of discovered messages sent
aggregate.request_tx_count Total no of requests sent
aggregate.release_tx_count Total no of releases sent
aggregate.ack_rx_count Total no of acks received
aggregate.nak_rx_count Total no of nacks received
aggregate.offer_rx_count Total no of offers received
group.<group#>.currently_attempting No of enabled interfaces on that group
group.<group#>.currently_idle No of interfaces not bounded on that group
group.<group#>.currently_bound No of addresses learned on that group
aggregate.elapsed_time Cisco only
aggregate.total_attempted Cisco only
aggregate.total_retried Cisco only
aggregate.total_bound Cisco only
aggregate.bound_renewed Cisco only
aggregate.total_failed Cisco only
aggregate.bind_rate Cisco only
aggregate.attempted_rate Cisco only
aggregate.minimum_setup_time Cisco only
aggregate.maximum_setup_time Cisco only
aggregate.average_setup_time Cisco only
group.<group#>.elapsed_time Cisco only
group.<group#>.total_attempted Cisco only
group.<group#>.total_retried Cisco only
group.<group#>.bound_renewed Cisco only
group.<group#>.total_bound Cisco only
group.<group#>.total_failed Cisco only
group.<group#>.bind_rate Cisco only
group.<group#>.attempt_rate Cisco only
group.<group#>.request_rate Cisco only
group.<group#>.release_rate Cisco only
group.<group#>.discover_tx_count Cisco only
group.<group#>.request_tx_count Cisco only
group.<group#>.release_tx_count Cisco only
group.<group#>.ack_rx_count Cisco only
group.<group#>.nak_rx_count Cisco only
group.<group#>.offer_rx_count Cisco only
<port_handle>.<group#>.inform_tx_ Cisco only
count
<port_handle>.<group#>.decline_tx_ Cisco only
count

HLTAPI Commands, Release 2.80 Rev. B 5-11


DHCP APIs
5
EXAMPLES See files starting with DHCP_ in the Samples subdirectory.
See the DHCP example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

5-12 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs
6
Chapter 6:

This chapter covers the following topics:

• ::ixia::emulation_ftp_config on page 6-2.

• ::ixia::emulation_ftp_traffic_config on page 6-10.

• ::ixia::emulation_ftp_control on page 6-14.

• ::ixia::emulation_ftp_control_config on page 6-16.

• ::ixia::emulation_ftp_stats on page 6-22.

HLTAPI Commands, Release 2.80 Rev. B 6-1


FTP APIs
6

NAME — ::ixia::emulation_ftp_config

DESCRIPTION This command is used to construct the environment required for the FTP proto-
col to be used.

It sets for the client or server side of the emulation the configuration of TCP
parameters used for a FTP transaction, the presence or absence of an emulated
router, the range of ports where the process can open sockets, the buffers sizes.

To this environment it can add network ranges to define the FTP client or server
networks, or it can add DNS servers, or a pool of IP addresses to be used for an
emulated router between the network range and the testing port. Multiple net-
work ranges, DNS servers and suffixes or IP address pools can be added to a cli-
ent or server FTP configuration.

SYNOPSIS ::ixia::emulation_ftp_config
-mode CHOICES add remove
modify enable disable
[-property CHOICES ftp network
router_addr dns]
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-port_handle REGEXP ^[0-9]+/[0-9]+/
[0-9]+$]
[-mac_mapping_mode CHOICES macip macport
DEFAULT macip]
[-source_port_from RANGE 1024-65535
DEFAULT 1024]
[-source_port_to RANGE 1024-65535
DEFAULT 65535]
[-emulated_router_gateway IP DEFAULT 0.0.0.0]
[-emulated_router_subnet MASK
DEFAULT 255.255.255.0]
[-dns_cache_timeout NUMERIC DEFAULT 30000]
[-grat_arp_enable CHOICES 0 1 DEFAULT 0]
[-congestion_notification_enable CHOICES 0 1 DEFAULT 0]
[-time_stamp_enable CHOICES 0 1 DEFAULT 1]
[-rx_bandwidth_limit_enable CHOICES 0 1 DEFAULT 0]
[-tx_bandwidth_limit_enable CHOICES 0 1 DEFAULT 0]
[-fin_timeout NUMERIC DEFAULT 60]
[-keep_alive_interval NUMERIC DEFAULT 7200]
[-keep_alive_probes NUMERIC DEFAULT 9]
[-keep_alive_time NUMERIC DEFAULT 75]
[-receive_buffer_size NUMERIC DEFAULT 4096]
[-retransmit_retries NUMERIC DEFAULT 15]
[-rx_bandwidth_limit NUMERIC]
[-rx_bandwidth_limit_unit CHOICES kb mb
DEFAULT kb]
[-syn_ack_retries NUMERIC DEFAULT 5]
[-syn_retries NUMERIC DEFAULT 5]
[-transmit_buffer_size NUMERIC DEFAULT 4096]
[-tx_bandwidth_limit NUMERIC]
[-tx_bandwidth_limit_unit CHOICES kb mb
DEFAULT kb]
[-ip_address_start IP DEFAULT 198.18.0.1]

6-2 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

[-mac_address_start ANY
DEFAULT 00.C6.12.00.01.00]
[-gateway IP DEFAULT 0.0.0.0]
[-ip_count NUMERIC DEFAULT 100]
[-ip_increment_step IP DEFAULT 0.0.0.1]
[-mac_increment_step ANY
DEFAULT 00.00.00.00.00.01]
[-mss NUMERIC DEFAULT 1460]
[-mss_enable CHOICES 0 1 DEFAULT 0]
[-network_mask MASK DEFAULT 255.255.0.0]
[-vlan_enable CHOICES 0 1 DEFAULT 0]
[-vlan_id NUMERIC]
[-dns_server IP]
[-dns_suffix REGEXP ^\.[A-z]+\.[A-
z]+$]
[-pool_ip_address_start IP DEFAULT 194.18.0.1]
[-pool_ip_count NUMERIC DEFAULT 1]
[-pool_mac_address_start ANY DEFAULT
00.C2.12.00.01.00]
[-pool_vlan_enable CHOICES 0 1 DEFAULT 0]
[-pool_vlan_id NUMERIC

ARGUMENTS

-handle Handle of a FTP property , used when -property is network or router_addr or dns
and -mode is add. Also the handle of a FTP or network or router_addr or dns
property when "-property" is respectively ftp, network, router_addr, dns and "-
mode" is modify or remove, enable, disable. Dependencies:

"-property" network|router_addr|dns and "-mode" add

"-property" ftp and "-mode" modify

-target Specifies where this network will be added: on the client side or on the server
side.

Values: client, server.

Dependencies: property ftp with mode add.

(DEFAULT = client)

-property Defines types of properties of the FTP configuration. Mandatory for -mode add.

Valid choices are:

Value Usage

ftp handles operations required for defining the


general parameters required for FTP proto-
col.
network handles the operations required for defining
the emulated client or server networks.
router_addr handles the operations required for defining
the pool of IP addresses required for the
emulated router between the client networks
and the physical port.

HLTAPI Commands, Release 2.80 Rev. B 6-3


FTP APIs
6

Value Usage

dns handles the operations required for defining


the Domain Name Server protocol parame-
ters needed for the FTP protocol.

-mode Defines types of actions to be taken on the "property" object. Values: add,
remove, modify, enable, disable.

-port_handle The ports on the chassis this protocol will be created.

Dependencies: "-property" ftp with "-mode" add or modify.

-mac_mapping_mode Indicates whether one MAC address will be associated with each IP address or
with each port. The use of the latter option indicates that an emulated router is to
be used. Values are: macip, macport.

Dependencies: "-property" ftp with "-mode" add or modify.

(DEFAULT = macip)

-source_port_from Defines the beginning of the range of ephemeral port numbers used to establish
connections to the server. The end of the range is specified by source_port_to.
Valid values are from 1024 to 65535.

(DEFAULT = 1024)

-source_port_to Defines the end of the range of ephemeral port numbers used to establish connec-
tions to the server. Valid values are from 1024 to 65535.

(DEFAULT = 65535)

-emulated_router_gateway If "-mac_mapping_mode" is set to macport, then an emulated router is inserted


between the clients and the external port. This is the gateway to be used for that
router.

(DEFAULT = 0.0.0.0)

-emulated_router_subnet If "-mac_mapping_mode" is set to macport, then an emulated router is inserted


between the clients and the external port. This is the network mask to be used for
that router.

(DEFAULT = 255.255.255.0)

-dns_cache_timeout The length of time, in milliseconds, the program should continue to refer to the
previously resolved host name stored in its cache before discarding the entry and
accessing the DNS server to re-resolve the host name.

(DEFAULT = 30000)

-grat_arp_enable Values: 0 or 1. If true, before beginning a test, the program will ARPs the gate-
ways so that the DUT can learn the MAC addresses used on the subnet. If a sub-
net is set to MAC per Port, the subnet sends one ARP request. If a subnet is set to
MAC per IP, each host on the subnet sends an ARP request.

(DEFAULT = 0)

6-4 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-congestion_notification_ Values: 0 or 1. If true, the client or server uses bits from the Type of Service
enable (TOS) field and the TCP packet headerís Reserved field to support Explicit Con-
gestion Notification (ECN). ECN uses the bits as follows:

TOS bit 6 is the ECT (Explicit Congestion Transport) bit, which a recipient sets
to indicate that it supports ECN.

TOS bit 7 is the CE (Congestion Experienced) bit, which the recipient sets if its
average queue length exceeds a threshold.

TCP header Reserved field bit 5 the CWR (Congestion Window Reduced) bit.

TCP header Reserved field bit 6 is the ECN-Echo bit.

A SYN packet with both ECN-Echo and CWR bits indicates the sender supports
ECN in both directions (as sender and receiver). A combined SYN+ACK packet
sets only ECN to indicate ECN capability. If you enable ECN, the sender sets the
ECT bit to indicate that it supports ECN. If the sender receives a packet with the
CE bit set, it returns an ACK with the ECN-Echo bit set. If a sender receives a
packet with ECN-Echo set, it should reduce its window size. The first packet it
sends after reducing its window size has the CWR bit set. The sender will repeat-
edly reduce its window size until it receives a packet in return with the CWR bit
from the recipient.

(DEFAULT = 0)

-time_stamp_enable Values: 0 or 1. If true, the client or server inserts a timestamp into each packet.

(DEFAULT = 1)

-rx_bandwidth_limit_ Values: 0 or 1. Enables or disables rx_bandwidth_limit.


enable
(DEFAULT = 0)

-tx_bandwidth_limit_ Values: 0 or 1. Enables or disables tx_bandwidth_limit.


enable
(DEFAULT = 0)

-fin_timeout The amount of time a TCP implementation will keep a TCP connection open that
it has closed itself, i.e., sent a FIN for (it has no more data to send).

(DEFAULT = 60)

-keep_alive_interval The interval, in seconds, between repeated keep alive probes sent.

(DEFAULT = 7200)

-keep_alive_probes The number of keep alive probes that the program sends out before determining
that a link is down.

(DEFAULT = 9)

-keep_alive_time If a link has no activity on it for the time specified, in seconds, the program
begins sending keep alive probes to determine if the link is still up.

(DEFAULT = 75)

HLTAPI Commands, Release 2.80 Rev. B 6-5


FTP APIs
6
-receive_buffer_size The size of the receive buffer. This affects the TCP receive window size. If you
increase the size of the receive buffer, the program enlarges the receive window.
If you are experiencing high latency on your test network, you can increase the
size of the receive buffer to improve the throughput.

(DEFAULT = 4096)

-retransmit_retries The number of times the program attempts to re-transmit a packet for which it
has not received an acknowledgement.

(DEFAULT = 15)

-rx_bandwidth_limit The maximum amount of receive bandwidth on each port allowed to the clients
or servers. You can use this parameter to simulate the bandwidth available from
different types of Internet access technologies such as dial-up, ISDN, cable
modem, or T1. If you do not configure this parameter, the program uses all the
bandwidth available on the test ports.

Dependencies: -rx_bandwidth_limit_enable 1.

-rx_bandwidth_limit_unit The units used in rx_bandwidth_limit: kilobytes per second or megabytes per
second. Values: kb | mb.

Dependencies: -rx_bandwidth_limit_enable 1.

(DEFAULT = kb)

-syn_ack_retries The number of times the program re-transmits an un-acknowledged SYN-ACK


for a passive TCP connection.

(DEFAULT = 5)

-syn_retries The number of times IxLoad re-transmits an un-acknowledged SYN for an active
TCP connection.

(DEFAULT = 5)

-transmit_buffer_size The size of the transmit buffer. This affects the TCP transmit window size. If you
increase the size of the transmit buffer, IxLoad enlarges the transmit window. If
you are experiencing high latency on your test network, you can increase the size
of the transmit buffer to improve the throughput.

(DEFAULT = 4096)

-tx_bandwidth_limit The maximum amount of transmit bandwidth on each port allowed to the clients
or servers. You can use this parameter to simulate the bandwidth available from
different types of Internet access technologies such as dial-up, ISDN, cable
modem, or T1. If you do not configure this option, the program uses all the band-
width available on the test ports.

Dependencies: tx_bandwidth_limit_enable 1.

-tx_bandwidth_limit_unit The units used in tx_bandwidth_limit: kilobytes per second or megabytes per
second. Value: kb | mb.

(DEFAULT = kb)

Dependencies: tx_bandwidth_limit_enable 1.

6-6 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-ip_address_start The first IP address for the network range.

Dependencies: property network with mode add | modify.

(DEFAULT = 198.18.0.1)

-mac_address_start The first MAC address for the network range. This is not used if the value of
mac_mapping_mode is set to "macport".

Dependencies: mac_mapping_mode macip ; property network with mode add |


modify.

(DEFAULT = 00.C6.12.00.01.00)

-gateway The gateway associated with all IP addresses in the network range.

Dependencies: property network with mode add | modify.

(DEFAULT = 0.0.0.0)

-ip_count The number of unique IP addresses in the network range.

Dependencies: property network with mode add | modify.

(DEFAULT = 100)

-ip_increment_step Indicates the increment to be applied between generated IP addresses. The format
of this option is a dotted-quad IP address, in which only one of the octets may be
non-zero. For example: 0.0.0.1, 0.0.2.0, 0.22.0.0 and 4.0.0.0 are valid values
which will increment a different octet each time. Values which use more than one
octet, for example 0.0.1.1, are illegal.

Dependencies: property network with mode add | modify.

(DEFAULT = 0.0.0.1)

-mac_increment_step Indicates the increment to be applied between generated MAC addresses. The
format of this option is a colon separated MAC address, in which only one of the
octets may be non-zero. For example: 00.00.00.00.00.01, 00.00.00.00.22.00,
00.00.00.33.00.00, 00.00.44.00.00.00, 00.AA.00.00.00.00 and C.00.00.00.00.00
are valid values which will increment a different octet each time. Values which
use more than one byte, for example 00.00.00.00.01.01, are illegal. This is not
used if the value of mac_mapping_mode is set to "macport".

Dependencies: property network with mode add | modify.

(DEFAULT = 00.00.00.00.00.01)

-mss If mss_enable is true, this option specifies the TCP Maximum Segment Size in
the MSS (RX) field. Otherwise, clients or servers advertise their TCP Maximum
Segment Size as 1460 bytes.

Dependencies: mss_enable 1 ; property network with mode add | modify.

(DEFAULT = 1460)

HLTAPI Commands, Release 2.80 Rev. B 6-7


FTP APIs
6
-mss_enable If true the use of mss option is enabled. Value: 0 or 1.

Dependencies: property network with mode add | modify.

(DEFAULT = 0)

-network_mask The subnet mask associated with the IP range.

Dependencies: property network with mode add | modify.

(DEFAULT = 255.255.0.0)

-vlan_enable If true , VLAN IDs are inserted. Values: 0 or 1.

Dependencies: property network with mode add | modify.

(DEFAULT = 0)

-vlan_id The id of the vlan to be inserted. Values: 0-4095.

Dependencies: vlan_enable 1 ; property network with mode add | modify.

-dns_server Defines DNS servers to be used for lookups.

Dependencies: property dns with mode add | modify.

-dns_suffix Define suffixes to be appended to partial host names. Each is tried in order by the
DNS server(s).

Dependencies: property dns with mode add | modify.

-pool_ip_address_start The first IP address for the pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 194.18.0.1)

-pool_ip_count The count of the number of IP addresses to be generated.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 1)

-pool_mac_address_start The first MAC address for the pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 00.C2.12.00.01.00)

-pool_network The subnet mask associated with the IP pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 255.255.0.0)

-pool_vlan_enable If true, VLAN tags are inserted into the IP frame. Value: 0 or 1.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 0)

6-8 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-pool_vlan_id The VLAN ID to be inserted. Values: 0-4095.

Dependencies: pool_vlan_enable 1 ; property router_addr with

mode add | modify.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a FTP configuration, network,

EXAMPLES See files starting with ftp_ in the Samples subdirectory.

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {ftp_config1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 6-9


FTP APIs
6

NAME — ::ixia::emulation_ftp_traffic_config

DESCRIPTION This command is used to construct the model for client or server traffic to be
applied, or respectively, handled during the test. This traffic is composed by
commands created by client FTP agents which are handled by server agents.

Multiple agents can be added to form a FTP traffic.

SYNOPSIS ::ixia::emulation_ftp_traffic_config
-mode CHOICES add remove modify
enable disable
[-property CHOICES traffic agent]
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-esm_enable CHOICES 0 1 DEFAULT 0]
[-esm NUMERIC DEFAULT 1460]
[-ftp_mode CHOICES active passive
DEFAULT active]
[-ftp_port RANGE 1-65535]
[-arguments ANY]
[-command CHOICES cd get login put quit
retrieve store think loop_begin loop_end DEFAULT get]
[-destination ANY]
[-user_name ANY]
[-password ANY]
[-agent_handler ANY]

ARGUMENTS

-handle Handle of a FTP configuration when -property traffic and -mode add. Or handle
of a traffic property , used when -property is agent and -mode is add. Also the
handle of a traffic or agent property when -property is respectively traffic, agent
and -mode is modify | remove | enable | disable.

-target Specifies where this traffic will be added: on the client side or on the server side.
Values: client or server. Dependencies: -property traffic with -mode add.

(DEFAULT = client)

-property Defines types of properties of the FTP traffic configuration. Valid choices are:

Value Usage

traffic handles operations required for defining the


FTP traffic of clients or servers.
agent handles operations required for defining the
emulated FTP clients or FTP servers.

-mode Defines types of actions to be taken on the -property object. Values: add | remove
| modify | enable | disable.

-esm_enable If true, the use of the esm option is enabled. Dependencies: property agent with
mode add | modify

(DEFAULT = 0)

6-10 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-esm If esm_enable is true, this option specifies the TCP Maximum Segment Size in
the MSS (RX) field. Otherwise, the TCP Maximum Segment Size is 1460 bytes.

Dependencies: esm_enable 1 ; property agent with mode add | modify

(DEFAULT = 1460)

-ftp_mode The mode that the client will use to access the server: To establish an FTP con-
nection, the client connects from a random unprivileged port (port n, where n is
greater than 1024) to the FTP server's command port, normally port 21. What
happens next depends on whether the client is in active or passive mode.

Dependencies: target client ; property agent with mode add | modify

Valid choices are:

Value Usage

active (default) The client sends the PORT com-


mand and waits for an OK response from the
server.
passive In Passive mode, the client initiates both con-
nections to the server.

-ftp_port The port number that the server will respond on.

Dependencies: target server ; property agent with mode add | modify

-arguments This option contains an argument which is used by the various commands
defined in the command option. The type of the value depends on the command:

cd = the path to switch to

get = the path to where the file is stored on the server

put = the path/size of the file to be sent to the server

retrieve = the path to where the file is stored

store = the path/size of the file to be sent to the server

think = the number of milliseconds to pause before executing the next action

Dependencies: property action with mode add | modify

(DEFAULT = 0)

-command Selects the FTP command to be used:

cd = Changes the current working directory to the value in the arguments option.

get = Retrieves the file specified in the arguments option. {Get} is not a standard
FTP command. It allows you to retrieve a file from a <vendor> server without
having to log in.

login = Logs in to the FTP server using the name and password in the userName
and password options

HLTAPI Commands, Release 2.80 Rev. B 6-11


FTP APIs
6
put = Copies the file specified in the arguments option from the client to the
server. {Put} is not a standard FTP command. It allows you to store a file on a <
vendor> server without having to log in

quit = Logs out of the FTP server.

retrieve = Retrieves the file specified in the arguments option.

store = Copies the file specified in the arguments option from the client to the
server.

think = Adds a pause (think time) before the next command is executed. Specify
the duration of the pause in the arguments option.

loop_begin = An IxLoad command that you can add to the Command List to
cause the commands between it and the {Loop End} to be executed a specified
number of times.

loop_end = Ends the list of commands that will be executed by the preceding
{Loop Begin} command

Dependencies: Dependencies: property action with mode add | modify

(DEFAULT get)

-destination The IP address of a real FTP server. If the FTP server listens on a port other than
the standard (21), enter a colon after the IP address and then enter the port num-
ber. When using an FTP Server Agent this option will not be used, you must pro-
vide a FTP server agent handler to the agent_handler option instead. The port
number must agree with that defined by the Server Agent. For example:
192.168.0.1:21

Dependencies: ssl_enable 1 ; Dependencies: property action with mode add |


modify

-user_name The user name that the client will use to log in to the FTP server. The emulated
servers only accept a user name of root.

Dependencies: property action with mode add | modify

-password The password for the user name.

Dependencies: Dependencies: property action with mode add | modify

-agent_handler The handler of a FTP server agent if destination is a emulated FTP server.

Dependencies: property action with mode add | modify

-ip_preference If a mixture of IPv4 and IPv6 addresses are available on the client network, this
parameter configures which address types the agent uses. Dependencies: target
client ; property agent with mode add | modify

(DEFAULT = 0)

6-12 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a FTP traffic configuration, list
of traffic, agent.

EXAMPLES See files starting with ftp_ in the Samples subdirectory.


Also see the FTP example in Appendix A, “Examples."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {traffic1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 6-13


FTP APIs
6

NAME — ::ixia::emulation_ftp_control

DESCRIPTION This command defines a mapping between the FTP networks, the DUT and the
statistics used. It can start a test previously defined with the ::ixia::emulation_
ftp_control_config command.

SYNOPSIS ::ixia::emulation_ftp_control
-mode CHOICES add modify start
[-handle ANY]
[-map_handle ANY]
[-force_ownership_enable CHOICES 0 1 DEFAULT 0]
[-release_config_afterrun_enable CHOICES 0 1 DEFAULT 0]
[-reset_ports_enable CHOICES 0 1 DEFAULT 0]
[-results_dir_enable CHOICES 0 1 DEFAULT 0]
[-results_dir ANY]
[-stats_required CHOICES 0 1 DEFAULT 1]

ARGUMENTS

-mode Defines types of actions to be taken. Valid choices are:

Value Usage

add adds a map between a FTP config and a traf-


fic config to this session.
modify modifies this session
start starts this session

-handle Handle of a control.

Dependencies: mode modify | start

-map_handle List of handles of the maps between a client http config and a client traffic config
and between a server http config and a server traffic config created with
::ixia::emulation_http_control_config.

Dependencies: mode add | modify

-force_ownership_enable If true, at the beginning of the test, any ports that are selected for the test but
owned by another user are rebooted and their previous ownership cleared.

Dependencies: mode add | modify

(DEFAULT = 0)

-release_config_afterrun_ If true, purges the test configuration from the ports after a test completes, releases
enable ownership of them, and the ports will no longer respond to ARPs and PINGs
from the DUT.

Dependencies: mode add | modify

(DEFAULT = 0)

6-14 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-reset_ports_enable If true, the program reboots the ports before downloading the test configuration
to them. To ensure the integrity of your testing, it is always safest to reboot the
ports before running a test. However, rebooting the ports does increase the
amount of time required to prepare the ports for a test.

If you are developing a test and making incremental changes to it and then run-
ning it to see the effect of your changes, it may be safe to save time by not reboo-
ting the ports before each run.

If you do not want to reboot the ports for every test, you should at least reboot the
ports the first time you load a repository; this will ensure that any software struc-
tures remaining from a previous test or other application are properly removed.

Dependencies: mode add | modify

(DEFAULT = 0)

-results_dir_enable This enable storing the execution results. Values: 0 or 1.

Dependencies: -mode add.

(DEFAULT = 0)

-results_dir Specifies the location of where the execution results will be kept.

Dependencies: -mode add.

-stats_required If true, statistics will be collected for the test.

Dependencies: mode add | modify

(DEFAULT = 1)

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is $::FAILURE, contains more
information
handles the handles of a FTP traffic configuration,list
of traffic, agent.

EXAMPLES See files starting with ftp_ in the Samples subdirectory.


Also see the FTP section of Appendix A, “Examples."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {traffic1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 6-15


FTP APIs
6

NAME — ::ixia::emulation_ftp_control_config

DESCRIPTION This command is used to construct the mapping between the agents that will gen-
erate the traffic and the set of networks which will carry the traffic. A number of
additional options control the manner in which the traffic is applied to the net-
works.

To the client side mappings , the command can specify the options used to allow
the test to achieve a particular objective, for example, connections per second, or
the options that determine the timeline for application of traffic or the options
that control the manner in which client traffic is sent to servers.

SYNOPSIS ::ixia::emulation_ftp_control_config
-mode CHOICES add remove modify
enable disable
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-property CHOICES map dut]
[-direct_server_return_enable CHOICES 0 1 DEFAULT 0]
[-ip_address IPV4 DEFAULT 1.1.1.1]
[-server_ftp_handle ANY]
[-type CHOICES external slb
firewall DEFAULT slb]
[-client_iterations NUMERIC DEFAULT 1]
[-client_ftp_handle ANY]
[-client_traffic_handle ANY]
[-objective_type CHOICES na users
connections crate trate tputmb tputkb sessions
DEFAULT na]
[-objective_value NUMERIC]
[-client_offline_time NUMERIC DEFAULT 0]
[-port_map_policy CHOICES pairs mesh
round_robin DEFAULT pairs]
[-ramp_down_time NUMERIC DEFAULT 20]
[-ramp_up_type CHOICES users_per_second
max_pending_users DEFAULT users_per_second]
[-ramp_up_value NUMERIC]
[-client_standby_time RANGE 0-3600000
DEFAULT 0]
[-client_sustain_time RANGE 0-3600000 DEFAULT 0]
[-client_total_time NUMERIC DEFAULT 60]
[-server_traffic_handle ANY]
[-match_client_totaltime CHOICES 0 1 DEFAULT 1]
[-server_iterations NUMERIC DEFAULT 1]
[-server_offline_time NUMERIC DEFAULT 0]
[-server_standby_time RANGE 0-3600000 DEFAULT 0]
[-server_sustain_time NUMERIC DEFAULT 20]
[-server_total_time NUMERIC DEFAULT 60]

6-16 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

ARGUMENTS

-handle Handle of a map or dut property.

-target Specifies the type of the map. Value: client | server.

(DEFAULT = client)

Dependencies: property map with mode add.

-property Defines types of the FTP control configuration: Map handles operations required
for mapping a FTP configuration with a traffic configuration. Dut handles opera-
tions required for defining a Device Under Test parameters. Value: map | dut.

-mode Defines types of actions to be taken on the -property object. Enable and disable
are not valid values for -property dut. Value: add | remove | modify | enable | dis-
able.

-direct_server_return_ If type is "slb" and this option is true, Direct Server Return is enabled. In a basic
enable SLB topology, incoming requests from clients and outgoing responses from serv-
ers both go through the SLB. In a topology using Direct Server Return, the
responses are sent directly from the servers to the clients; they do not go through
the SLB. DSR reduces the amount of traffic going through the SLB, allowing it
to devote more resources to managing the incoming requests and monitoring the
status of the servers in its pool. Value: 0 | 1.

(DEFAULT = 0)

Dependencies: property dut with mode add | modify ; type slb.

-ip_address The IPv4 address, virtual IPv4 address or host name used to access the DUT.

(DEFAULT = 1.1.1.1)

Dependencies: property dut with mode add | modify.

-server_ftp_handle If type is "slb" and the SLB is balancing emulated servers, set this option to the
handle of the server FTP network that is being balanced.

-type The type of DUT in use. Dependencies: property dut with mode add | modify.
Valid choices are:

Value Usage

external The DUT is a protocol server.


slb (default) The DUT is a server load balancer.
firewall The DUT is a firewall.

-client_iterations The number of times that the traffic-network pair perform their functions (estab-
lishing TCP connections, retrieving files, etc.) in the test.

Dependencies: property map with mode add | modify.

(DEFAULT = 1)

-client_ftp_handle This handle provides the networks from which the traffic will be generated.

Dependencies: property map with mode add | modify.

HLTAPI Commands, Release 2.80 Rev. B 6-17


FTP APIs
6
-client_traffic_handle This handle provides the model of the client traffic to be generated.

Dependencies: property map with mode add | modify.

-objective_type The objective to be achieve for this traffic to network mapping. Dependencies:
property map with mode add | modify. Valid choices are:

Value Usage

na (default) If this option is not used there will be


no objective set.
users Number of FTP users simulated during the
test. Specify the desired number of users in
the objective_value option.
sessions The objective is to sustain some number of
sessions simultaneously. Specify the desired
number of connections in the objective_value
option.
connections The Maximum number of simultaneous FTP
connections established during the test.
Specify the desired number of connections in
the objective_value option. crate - Rate at
which the client established FTP connections.
Specify the desired number of connections
per second in the objective_value option.
trate Rate at which the client completed transac-
tions with the server over FTP connections.
One transaction consists of a LOGIN, PASS-
WORD, SEND, or EXIT command and the
response to it. Specify the desired number of
transactions per second in the objective_
value option.
tputmb The objective is to achieve a certain level of
throughput, measured in Megabytes per sec-
ond (MBps). Specify the amount of through-
put in the objective_value option.
tputkb The objective is to achieve a certain level of
throughput, measured in Kilobytes per sec-
ond (KBps). Specify the amount of through-
put in the objective_value option.

-objective_value A value related to the choice made in the objective_type option.

Dependencies: property map with mode add | modify.

-client_offline_time The amount of time agents are idle between iterations.

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-port_map_policy This option controls the sequence in which the client ports connect to

the server ports. For large numbers of ports, the Port Pair sequence scales perfor-
mance better than the Port Mesh sequence. The operation of Port Pairs can be
described by three scenarios: If the number of client ports is equal to the number
of server agents, client ports will establish connections to server ports on a one-
to-one basis. If the number of client ports is less than the number of server ports,
the client ports will establish connections to the server ports on a one-to-one

6-18 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

basis until all client ports are paired with server ports. The remaining server ports
will not be used. If the number of client ports is greater than the number of server
ports, the client ports will establish connections to the server ports on a one-to-
one basis until all server ports are paired with client ports. Then, the remaining
client ports will return to the first server port and continue pairing themselves
with server ports.

Dependencies: property map with mode add | modify. (DEFAULT = pairs)

Valid choices are:

Value Usage

pairs Client agents connect to server agents on a


one-to-one basis.
mesh Agents on every client port connect to every
server port.

-ramp_down_time The amount of time used for closing any TCP connections that are still open
after all transactions are complete. When the ramp down time expires, the pro-
gram terminates any users. If the program terminates any client users that are
still running after the ramp down time expires, statistics for servers and clients
that should match may not. This is an indication that the ramp down time may
be too short.

Dependencies: property map with mode add | modify.

(DEFAULT = 20)

-ramp_up_type The method used to apply the ramp_up_value.

Dependencies: property map with mode add | modify.

(DEFAULT = users_per_second)

Valid choices are:

Value Usage

users_per_second applies the ramp_up_value to bring up the


specified number of users per second. For
example, if you select users_per_second and
you specify 10 for the ramp_up_value, the
program brings up 10 new users every sec-
ond until all the users are and running.
max_pending_users N/A

-ramp_up_value A value dependent on the setting of ramp_up_type.

Dependencies: property map with mode add | modify.

HLTAPI Commands, Release 2.80 Rev. B 6-19


FTP APIs
6
-client_standby_time The amount of time, expressed in seconds, that elapses between the time the test
is started and the time that the traffic-network pair become active. If you have
multiple traffic-network paris in your test, you can use this parameter to stagger
their start times. A value of 0 causes the test to begin immediately. The valid
range is from 0 to 1000 hours (3,600,000).

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-client_sustain_time The amount of time, in seconds, during which all users are up and performing the
central test objectives, such as establishing and closing connections (TCP),
retrieving or serving pages (FTP), or sending or receiving files (FTP). The valid
range is from 0 to 1000 hours (3,600,000).

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-client_total_time The total time required to run the test, including Ramp Up, Ramp Down, Sustain,
and Offline times for all iterations.

(DEFAULT = 60)

Dependencies: property map with mode add | modify.

-server_traffic_handle This handle provides the model of the server traffic to be generated.

Dependencies: property map with mode add | modify.

-match_client_totaltime If true, the servers on this mapping will stay online for the same length of time as
the longest-running client agent. If you do not check this box and a server's dura-
tion is shorter than one of the clients connecting to it, the server will go offline
while the client is connected; if this is not what you intend to happen during test-
ing, the test results for that client may be misleading. If false, the program calcu-
lates agent run times independently for each server activity. server_offline_time,
server_standby_time, server_sustain_time, server_total_time options will be dis-
abled if -match_client_totaltime option is enabled. Value: 0 | 1.

(DEFAULT = 1)

Dependencies: property map with mode add | modify.

-server_iterations The number of times that the traffic-network pair perform their functions (estab-
lishing TCP connections, retrieving files, etc.) in the test.

(DEFAULT = 1)

Dependencies: property map with mode add | modify.

-server_offline_time Amount of time agents are idle between iterations.

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

6-20 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-server_standby_time The amount of time, expressed in seconds, that elapses between the time the test
is started and the time that the traffic-network pair become active. If you have
multiple traffic-network pairs in your test, you can use this parameter to stagger
their start times. A value of 0 causes the test to begin immediately. The valid
range is from 0 to 1000 hours (3,600,000).

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-server_sustain_time The amount of time, in seconds, during which all users are up and performing the
central test objectives, such as establishing and closing connections (TCP),
retrieving or serving pages (FTP).

(DEFAULT = 20)

Dependencies: property map with mode add | modify.

-server_total_time The total time required to run the test, including Standby, Sustain, and Offline
times for all iterations.

(DEFAULT = 60)

Dependencies: property map with mode add | modify.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a FTP traffic configuration,

EXAMPLES See files starting with ftp_ in the Samples subdirectory.

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {map1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 6-21


FTP APIs
6

NAME — ::ixia::emulation_ftp_stats

DESCRIPTION This command manages the statistics gathered during the test run. It can add mul-
tiple types of statistics, extract data, clear statistics from a previous run, or can
add specific filters to the way the statistics are gathered.

SYNOPSIS ::ixia::emulation_ftp_stats
-mode CHOICES add clear get
[-handle ANY]
[-aggregation_type CHOICES sum max min average rate
maxrate minrate averagerate DEFAULT sum]
[-stat_name ALPHANUM]
[-stat_type CHOICES client server
DEFAULT client]
[-filter_type CHOICES port card chassis traffic
map]
[-filter_value ANY]

ARGUMENTS

-handle Handle of a statistic. Dependencies: -mode get.

-mode Defines types of actions to be taken. Valid choices are:

Value Usage
add adds a statistic.
clear clear all statistics previously added.
get get statistic data.

-aggregation_type Specifies how statistics for multiple ports are combined. Valid choices are:

Value Usage
sum (default) add all of the statistics together.
max determine the maximum value.
min determine the minimum value.
average determine the average value.
rate determine the rate of change of the sum of all
the statistics.
maxrate determine the maximum rate.
minrate determine the minimum rate.
averagerate determine the average rate.
Dependencies: -mode add. N/A

-stat_name A particular statistic name as listed in the statistics list.

Dependencies: -mode add.

The list of statistics can be found below. Valid choices are:

Value Usage

<< CLIENT >> - N/A

6-22 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

Value Usage

ftp_simulated_users Number of users to be simulated during the


test.
ftp_concurrent_sessions Maximum number of concurrent sessions
maintained during the test.
ftp_connections Number of connections between clients and
servers, including both control and data con-
nections.
ftp_transactions Number of transactions completed by the cli-
ents.
ftp_bytes Total number of TCP payload bytes received
and transmitted.
ftp_control_conn_requested Number of requests to establish control con-
nections sent by the clients.
ftp_control_conn_established Number of control connections established by
the clients.
ftp_control_conn_failed Number of control connections that could not
be established.
ftp_control_conn_failed_rejected Number of control connections that could not
be established because the server rejected
the connection request.
ftp_control_conn_failed_other Number of control connections that could not
be established for reasons other than rejec-
tion by the server.
ftp_control_conn_active Number of control connections actively trans-
ferring FTP commands.
ftp_data_conn_established Number of data connections established.
ftp_data_conn_established_active_ Number of data connections established in
mode Active mode.
ftp_data_conn_requested_passive_ Number of data connections requested in
mode Passive mode.
ftp_data_conn_established_passive_ Number of data connections established in
mode passive mode.
ftp_data_conn_failed_passive_mode Number of data connections that failed.
ftp_file_uploads_requested Number of requests to upload files sent by the
clients.
ftp_file_uploads_successful Number of uploads that completed success-
fully.
ftp_file_uploads_failed Number of upload attempts that failed.
ftp_file_downloads requested Number of requests to download files sent by
the clients.
ftp_file_downloads_successful Number of downloads that completed suc-
cessfully.
ftp_file_downloads_failed Number of download attempts that failed.
ftp_data_bytes_sent Bytes transmitted on the data connections by
the clients.
ftp_data_bytes_received Bytes received on the data connections by
the clients.
ftp_control_bytes_sent Client sent control bytes to the server.
ftp_control_bytes_received Client received control bytes from the server.

HLTAPI Commands, Release 2.80 Rev. B 6-23


FTP APIs
6

Value Usage

ftp_control_connection_latency Average amount of latency on control con-


nections, in milliseconds.
ftp_data_connection_latency_passive_ Average amount of latency (in milliseconds)
mode on data connections that were established in
Passive mode.
<< SERVER >> - N/A
ftp_control_conn_received Number of requests to establish control con-
nections received by the servers.
ftp_control_conn_established Number of control connections established by
the servers.
ftp_control_conn_rejected Number of requests to establish control con-
nections rejected by the servers.
ftp_control_conn_active Number of control connections actively trans-
ferring FTP commands.
ftp_data_conn_established Number of data connections established by
the server (active and passive mode).
ftp_data_conn_requested_active Number of requests to establish data connec-
tions in active mode received by the servers.
ftp_data_conn_established_active Number of data connections established in
active mode.
ftp_data_conn_failed_active Number of data connections opened in active
mode that failed.
ftp_data_conn_established_passive Number of data connections established in
passive mode.
ftp_data_conn_active Number of data connections actively upload-
ing or downloading data.
ftp_file_uploads_requested Number of requests to upload data received
by the servers.
ftp_file_uploads_successful Number of uploads that completed success-
fully.
ftp_file_uploads_failed Number of uploads that failed.
ftp_file_downloads_requested Number of requests to download files
received by the servers.
ftp_file_downloads_successful Number of downloads that completed suc-
cessfully.
ftp_file_downloads_failed Number of downloads that failed.
ftp_data_bytes_sent Number of bytes sent by the servers on data
connections.
ftp_data_bytes_received Number of bytes received by the servers on
data connections.
ftp_control_bytes_sent Number of bytes sent by the servers on con-
trol connections.
ftp_control_bytes_received Number of bytes received by the servers on
control connections.
ftp_data_conn_latency Average amount of latency (in milliseconds)
on data connections opened in active mode.

6-24 HLTAPI Commands, Release 2.80 Rev. B


FTP APIs

-stat_type The agent type that generates the statistics.

Values: client or server. Dependencies: -mode add.

(DEFAULT = client)

-filter_type The type of the filter available. Dependencies: -mode add. Valid choices are:

Value Usage

port (default) a filter operation may be performed


across the port described in the filter_value
field.
card a filter operation may be performed across
the card described in the filter_value field.
chassis a filter operation may be performed across
the chassis described in the filter_value field.
traffic a filter operation may be performed across on
the traffic described in the filter_value field.
map a filter operation may be performed across
the mapping described in the filter_value
field.

-filter_value A value corresponding to the value of the type option. Dependencies: -mode add.
Valid choices are:

Value Usage

port a port specification in the form


chassis/card/port. N/A
card a card specification in the form chassis/card.
chassis a chassis specification in the form chassis
traffic a traffic handle created by emulation_ftp_
traffic_config.
map a map handle created by emulation_ftp_
control_config.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a FTP stats configuration.
<stat_group_handle>.<client|server>.< The value of the specified statistic name.
stat_name>.<timestamp>

EXAMPLES See files starting with ftp_ in the Samples subdirectory.


Also see the FTP example in Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {statistic1}}


or
{status $::SUCCESS}
{statistic1.client.ftp_connections.110290069000 5}

HLTAPI Commands, Release 2.80 Rev. B 6-25


FTP APIs
6
NOTES Coded versus functional specification.

SEE ALSO

6-26 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs
7
Chapter 7:

This chapter covers the following topics:

• ::ixia::emulation_http_config on page 7-2.

• ::ixia::emulation_http_traffic_config on page 7-10.

• ::ixia::emulation_http_traffic_type_config on page 7-18.

• ::ixia::emulation_http_control on page 7-26.

• ::ixia::emulation_http_stats on page 7-28.

• ::ixia::emulation_http_control_config on page 7-35.

HLTAPI Commands, Release 2.80 Rev. B 7-1


HTTP APIs
7

NAME — ::ixia::emulation_http_config

DESCRIPTION This command is used to construct the environment required for the HTTP proto-
col to be used.

It sets for the client or server side of the emulation the configuration of TCP
parameters used for a HTTP transaction, the presence or absence of an emulated
router, the range of ports where the process can open sockets, the buffers sizes.

To this environment it can add network ranges to define the HTTP client or
server networks, or it can add DNS servers, or a pool of IP addresses to be used
for an emulated router between the network range and the testing port. Multiple
network ranges, DNS servers and suffixes or IP address pools can be added to a
client or server HTTP configuration.

SYNOPSIS ::ixia::emulation_http_config
-mode CHOICES add remove
modify enabledisable
[-property CHOICES http network
router_addr dns]
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-port_handle REGEXP ^[0-9]+/[0-9]+/
[0-9]+$]
[-mac_mapping_mode CHOICES macip macport
DEFAULT macip]
[-source_port_from RANGE 1024-65535
DEFAULT 1024]
[-source_port_to RANGE 1024-65535
DEFAULT 65535]
[-emulated_router_gateway IP DEFAULT 0.0.0.0]
[-emulated_router_subnet MASK
DEFAULT 255.255.255.0]
[-dns_cache_timeout NUMERIC DEFAULT 30000]
[-grat_arp_enable CHOICES 0 1 DEFAULT 0]
[-congestion_notification_enable CHOICES 0 1 DEFAULT 0]
[-time_stamp_enable CHOICES 0 1 DEFAULT 1]
[-rx_bandwidth_limit_enable CHOICES 0 1 DEFAULT 0]
[-tx_bandwidth_limit_enable CHOICES 0 1 DEFAULT 0]
[-fin_timeout NUMERIC DEFAULT 60]
[-keep_alive_interval NUMERIC DEFAULT 7200]
[-keep_alive_probes NUMERIC DEFAULT 9]
[-keep_alive_time NUMERIC DEFAULT 75]
[-receive_buffer_size NUMERIC DEFAULT 4096]
[-retransmit_retries NUMERIC DEFAULT 15]
[-rx_bandwidth_limit NUMERIC]
[-rx_bandwidth_limit_unit CHOICES kb mb
DEFAULT kb]
[-syn_ack_retries NUMERIC DEFAULT 5]
[-syn_retries NUMERIC DEFAULT 5]
[-transmit_buffer_size NUMERIC DEFAULT 4096]
[-tx_bandwidth_limit NUMERIC]
[-tx_bandwidth_limit_unit CHOICES kb mb DEFAULT kb]
[-ip_address_start IP DEFAULT 198.18.0.1]

7-2 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

[-mac_address_start MAC
DEFAULT 00.C6.12.00.01.00]
[-gateway IP DEFAULT 0.0.0.0]
[-ip_count NUMERIC DEFAULT 100]
[-ip_increment_step IP DEFAULT 0.0.0.1]
[-mac_increment_step MAC
DEFAULT 00.00.00.00.00.01]
[-mss NUMERIC DEFAULT 1460]
[-mss_enable CHOICES 0 1 DEFAULT 0]
[-network_mask MASK DEFAULT 255.255.0.0]
[-vlan_enable CHOICES 0 1 DEFAULT 0]
[-vlan_id NUMERIC]
[-dns_server IP]
[-dns_suffix REGEXP ^\.[A-z]+\.[A-
z]+$]
[-pool_ip_address_start IP DEFAULT 194.18.0.1]
[-pool_ip_count NUMERIC DEFAULT 1]
[-pool_mac_address_start MAC DEFAULT
00.C2.12.00.01.00]
[-pool_vlan_enable CHOICES 0 1 DEFAULT 0]
[-pool_vlan_id NUMERIC

ARGUMENTS

-handle Handle of a HTTP property , used when -property is network or router_addr or


dns and -mode is add. Also the handle of a HTTP or network or router_addr or
dns property when "-property" is respectively http,network, router_addr, dns and
"-mode" is modify or remove, enable, disable.

Dependencies:

"-property" network|router_addr|dns and "-mode" add

"-property" http and "-mode" modify

-target Specifies where this network will be added: on the client side or on the server
side. Values: client, server.

Dependencies: property http with mode add.

(DEFAULT = client)

-property Defines types of properties of the HTTP configuration. Mandatory for "mode"
add. Valid choices are:

Value Usage

http handles operations required for defining the


general parameters required for HTTP proto-
col.
network handles the operations required for defining
the emulated client or server networks.
router_addr handles the operations required for defining
the pool of IP addresses required for the
emulated router between the client networks
and the physical port.

HLTAPI Commands, Release 2.80 Rev. B 7-3


HTTP APIs
7

Value Usage

dns handles the operations required for defining


the Domain Name Server protocol parame-
ters needed for the HTTP protocol.

-mode Defines types of actions to be taken on the "-property" object. Values: add,
remove, modify, enable, disable.

-port_handle The ports on the chassis this protocol will be created.

Dependencies: "-property" http with "-mode" add or modify.

-mac_mapping_mode Indicates whether one MAC address will be associated with each IP address or
with each port. The use of the latter option indicates that an emulated router is to
be used. Values are: macip, macport.

Dependencies: "-property" http with "-mode" add or modify.

(DEFAULT = macip)

-source_port_from Defines the beginning of the range of ephemeral port numbers used to establish
connections to the server. The end of the range is specified by source_port_to.
Valid values are from 1024 to 65535.

(DEFAULT = 1024)

-source_port_to Defines the end of the range of ephemeral port numbers used to establish connec-
tions to the server. Valid values are from 1024 to 65535.

(DEFAULT = 65535)

-emulated_router_gateway If "-mac_mapping_mode" is set to macport, then an emulated router is inserted


between the clients and the external port. This is the gateway to be used for that
router.

(DEFAULT = 0.0.0.0)

-emulated_router_subnet If "-mac_mapping_mode" is set to macport, then an emulated router is inserted


between the clients and the external port. This is the network mask to be used for
that router.

(DEFAULT = 255.255.255.0)

-dns_cache_timeout The length of time, in milliseconds, the program should continue to refer to the
previously resolved host name stored in its cache before discarding the entry and
accessing the DNS server to re-resolve the host name.

(DEFAULT = 30000)

-grat_arp_enable Values: 0 or 1.

If true, before beginning a test, the program will ARPs the gateways so that the
DUT can learn the MAC addresses used on the subnet. If a subnet is set to MAC
per Port, the subnet sends one ARP request. If a subnet is set to MAC per IP, each
host on the subnet sends an ARP request.

(DEFAULT = 0)

7-4 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-congestion_notification_ Values: 0 or 1.
enable
If true, the client or server uses bits from the Type of Service (TOS) field and the
TCP packet header's Reserved field to support Explicit Congestion Notification
(ECN). ECN uses the bits as follows:

TOS bit 6 is the ECT (Explicit Congestion Transport) bit, which a recipient sets
to indicate that it supports ECN.

TOS bit 7 is the CE (Congestion Experienced) bit, which the recipient sets if its
average queue length exceeds a threshold.

TCP header Reserved field bit 5 the CWR (Congestion Window Reduced) bit.

TCP header Reserved field bit 6 is the ECN-Echo bit.

A SYN packet with both ECN-Echo and CWR bits indicates the sender supports
ECN in both directions (as sender and receiver). A combined SYN+ACK packet
sets only ECN to indicate ECN capability. If you enable ECN, the sender sets the
ECT bit to indicate that it supports ECN. If the sender receives a packet with the
CE bit set, it returns an ACK with the ECN-Echo bit set. If a sender receives a
packet with ECN-Echo set, it should reduce its window size. The first packet it
sends after reducing its window size has the CWR bit set. The sender will repeat-
edly reduce its window size until it receives a packet in return with the CWR bit
from the recipient.

(DEFAULT = 0)

-time_stamp_enable Values: 0 or 1. If true, the client or server inserts a timestamp into each packet.

(DEFAULT = 1)

-rx_bandwidth_limit_ Values: 0 or 1. Enables or disables rx_bandwidth_limit.


enable
(DEFAULT = 0)

-tx_bandwidth_limit_ Values: 0 or 1. Enables or disables tx_bandwidth_limit.


enable
(DEFAULT = 0)

-fin_timeout The amount of time a TCP implementation will keep a TCP connection open that
it has closed itself, i.e., sent a FIN for (it has no more data to send).

(DEFAULT = 60)

-keep_alive_interval The interval, in seconds, between repeated keep alive probes sent.

(DEFAULT = 7200)

-keep_alive_probes The number of keep alive probes that the program sends out before determining
that a link is down.

(DEFAULT = 9)

-keep_alive_time If a link has no activity on it for the time specified, in seconds, the program
begins sending keep alive probes to determine if the link is still up.

(DEFAULT = 75)

HLTAPI Commands, Release 2.80 Rev. B 7-5


HTTP APIs
7
-receive_buffer_size The size of the receive buffer. This affects the TCP receive window size. If you
increase the size of the receive buffer, the program enlarges the receive window.
If you are experiencing high latency on your test network, you can increase the
size of the receive buffer to improve the throughput.

(DEFAULT = 4096)

-retransmit_retries The number of times the program attempts to re-transmit a packet for which it
has not received an acknowledgement.

(DEFAULT = 15)

-rx_bandwidth_limit The maximum amount of receive bandwidth on each port allowed to the clients
or servers. You can use this parameter to simulate the bandwidth available from
different types of Internet access technologies such as dial-up, ISDN, cable
modem, or T1. If you do not configure this parameter, the program uses all the
bandwidth available on the test ports.

Dependencies: -rx_bandwidth_limit_enable 1.

-rx_bandwidth_limit_unit The units used in rx_bandwidth_limit: kilobytes per second or megabytes per
second. Values: kb | mb.

Dependencies: -rx_bandwidth_limit_enable 1.

(DEFAULT = kb)

-syn_ack_retries The number of times the program re-transmits an un-acknowledged SYN-ACK


for a passive TCP connection.

(DEFAULT = 5)

-syn_retries The number of times IxLoad re-transmits an un-acknowledged SYN for an active
TCP connection.

(DEFAULT = 5)

-transmit_buffer_size The size of the transmit buffer. This affects the TCP transmit window size. If you
increase the size of the transmit buffer, IxLoad enlarges the transmit window. If
you are experiencing high latency on your test network, you can increase the size
of the transmit buffer to improve the throughput.

(DEFAULT = 4096)

-tx_bandwidth_limit The maximum amount of transmit bandwidth on each port allowed to the clients
or servers. You can use this parameter to simulate the bandwidth available from
different types of Internet access technologies such as dial-up, ISDN, cable
modem, or T1. If you do not configure this option, the program uses all the band-
width available on the test ports.

Dependencies: tx_bandwidth_limit_enable 1.

-tx_bandwidth_limit_unit The units used in tx_bandwidth_limit: kilobytes per second or megabytes per
second. Value: kb | mb.

(DEFAULT = kb)

Dependencies: tx_bandwidth_limit_enable 1.

7-6 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-ip_address_start The first IP address for the network range. Dependencies: property network with
mode add | modify.

(DEFAULT = 198.18.0.1)

-mac_address_start The first MAC address for the network range. This is not used if the value of
mac_mapping_mode is set to "macport".

Dependencies: mac_mapping_mode macip ; property network with mode add |


modify.

(DEFAULT = 00.C6.12.00.01.00)

-gateway The gateway associated with all IP addresses in the network range.

Dependencies: property network with mode add | modify.

(DEFAULT = 0.0.0.0)

-ip_count The number of unique IP addresses in the network range.

Dependencies: property network with mode add | modify.

(DEFAULT = 100)

-ip_increment_step Indicates the increment to be applied between generated IP addresses. The format
of this option is a dotted-quad IP address, in which only one of the octets may be
non-zero. For example: 0.0.0.1, 0.0.2.0, 0.22.0.0 and 4.0.0.0 are valid values
which will increment a different octet each time. Values which use more than one
octet, for example 0.0.1.1, are illegal.

Dependencies: property network with mode add | modify.

(DEFAULT = 0.0.0.1)

-mac_increment_step Indicates the increment to be applied between generated MAC addresses. The
format of this option is a colon separated MAC address, in which only one of the
octets may be non-zero. For example: 00.00.00.00.00.01, 00.00.00.00.22.00,
00.00.00.33.00.00, 00.00.44.00.00.00, 00.AA.00.00.00.00 and
0C.00.00.00.00.00 are valid values which will increment a different octet each
time. Values which use more than one byte, for example 00.00.00.00.01.01, are
illegal. This is not used if the value of mac_mapping_mode is set to "macport".

Dependencies: property network with mode add | modify.

(DEFAULT = 00.00.00.00.00.01)

-mss If mss_enable is true, this option specifies the TCP Maximum Segment Size in
the MSS (RX) field. Otherwise, clients or servers advertise their TCP Maximum
Segment Size as 1460 bytes.

Dependencies: mss_enable 1 ; property network with mode add | modify.

(DEFAULT = 1460)

-mss_enable If true the use of mss option is enabled. Value: 0 or 1.

Dependencies: property network with mode add | modify.

(DEFAULT = 0)

HLTAPI Commands, Release 2.80 Rev. B 7-7


HTTP APIs
7
-network_mask The subnet mask associated with the IP range.

Dependencies: property network with mode add | modify.

(DEFAULT = 255.255.0.0)

-vlan_enable If true , VLAN IDs are inserted. Values: 0 or 1.

Dependencies: property network with mode add | modify.

(DEFAULT = 0)

-vlan_id The ID of the vlan to be inserted. Values: 0-4095.

Dependencies: vlan_enable 1 ; property network with mode add | modify.

-dns_server Defines DNS servers to be used for lookups.

Dependencies: property dns with mode add | modify.

-dns_suffix Define suffixes to be appended to partial host names. Each is tried in order by the
DNS server(s).

Dependencies: property dns with mode add | modify.

-pool_ip_address_start The first IP address for the pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 194.18.0.1)

-pool_ip_count The count of the number of IP addresses to be generated.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 1)

-pool_mac_address_start The first MAC address for the pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 00.C2.12.00.01.00)

-pool_network The subnet mask associated with the IP pool range.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 255.255.0.0)

-pool_vlan_enable If true, VLAN tags are inserted into the IP frame. Value: 0 or 1.

Dependencies: property router_addr with mode add | modify.

(DEFAULT = 0)

-pool_vlan_id The VLAN ID to be inserted. Values: 0-4095.

Dependencies: pool_vlan_enable 1 ; property router_addr with mode add | mod-


ify.

7-8 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a HTTP configuration, network,
router, pool, dns server

EXAMPLES See files starting with http_ in the Samples subdirectory.


Also see the HTTP section of Appendix A, "Example APIs,"
for a specific example.

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {http_config1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 7-9


HTTP APIs
7

NAME — ::ixia::emulation_http_traffic_config

DESCRIPTION The used to construct the model for client or server traffic to be applied, or
respectively, handled during the test. This traffic is composed by actions created
by client HTTP agents which are handled by server agents. Client agents can
emulate a specific browser, a specific HTTP protocol version, with or without
SSL support. Server agents emulate a HTTP WEB server. Multiple agents can be
added to form a HTTP traffic.

SYNOPSIS ::ixia::emulation_http_traffic_config
-mode CHOICES add remove modify
enable disable
[-property CHOICES traffic agent]
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-browser_emulation CHOICES custom ie5 ie6 mozilla
firefox DEFAULT ie6]
[-cookie_jar_size RANGE 1-300 DEFAULT 10]
[-cookie_reject_probability RANGE 0.0-1.0 DEFAULT 0.0]
[-cookie_support_enable CHOICES 0 1 DEFAULT 0]
[-esm_enable CHOICES 0 1 DEFAULT 0]
[-esm NUMERIC DEFAULT 1460]
[-http_proxy_enable CHOICES 0 1 DEFAULT 0]
[-https_proxy_enable CHOICES 0 1 DEFAULT 0]
[-follow_http_redirects CHOICES 0 1 DEFAULT 0]
[-http_proxy ANY]
[-https_proxy ANY]
[-http_version CHOICES 1.0 1.1 DEFAULT 1.0]
[-keep_alive CHOICES 0 1 DEFAULT 0]
[-max_persistent_requests NUMERIC DEFAULT 1]
[-max_sessions NUMERIC DEFAULT 3]
[-ssl_enable CHOICES 0 1 DEFAULT 0]
[-sequential_session_reuse NUMERIC DEFAULT 0]
[-ssl_version CHOICES ssl2 ssl3 tls1
DEFAULT tls1]
[-certificate ANY]
[-certificate_file ANY]
[-private_key ANY]
[-private_key_file ANY]
[-private_key_password ANY]
[-client_ciphers ANY]
[-accept_ssl_connections CHOICES 0 1 DEFAULT 0]
[-http_port RANGE 1-65535 DEFAULT 80]
[-https_port RANGE 1-65535 DEFAULT 443]
[-request_timeout RANGE 1-64000 DEFAULT 300]

ARGUMENTS

-handle Handle of a HTTP configuration when -property traffic and -mode add. Or han-
dle of a traffic property , used when -property is agent and -mode is add. Also the
handle of a traffic, agent or command property when -property is respectively
traffic, agent and -mode is modify | remove | enable | disable.

Dependencies: -property agent; -property traffic with -mode modify.

7-10 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-target Specifies where this traffic will be added: on the client side or on the server side.
Values: client or server.

Dependencies: -property traffic with -mode add.

(DEFAULT = client)

-property Defines types of properties of the HTTP traffic configuration. Command handles
operations required for defining commands for the HTTP agents. Valid choices
are:

Value Usage

traffic handles operations required for defining the


HTTP traffic of clients or servers.
agent handles operations required for defining the
emulated HTTP clients or HTTP servers.

-mode Defines types of actions to be taken on the -property object. Values: add | remove
| modify | enable | disable. For -mode "add", -property "agent" and -target
"server" then some default objects will be available.

Default server web pages:

/1b.html

/4k.html

/8k.html

/16k.html

/32k.html

/64k.html

/128k.html

/256k.html

/512k.html

/1024k.html

Default response headers:

200_OK

404_PageNotFound

Default cookielists and cookies:

UserCookie - cookies: firstName = Joe; lastName = Smith;

LoginCookie - cookies: name = joesmith; password = foobar;

These options can be used to build up configurations by modifying them accord-


ing to the needed values for the test.

HLTAPI Commands, Release 2.80 Rev. B 7-11


HTTP APIs
7
-browser_emulation The type of browser that the client will emulate. If the value is custom , then No
browser is emulated by the client. The headers may be entered with the
emulation_http_traffic_type_config API call, with "-property header".

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = ie6)

-cookie_jar_size If cookie_support_enable is true, this option indicates the number of cookies that
will be saved for each client.

Dependencies: cookie_support_enable 1 ; target client ; property agent

with mode add | modify

(DEFAULT = 10)

-cookie_reject_probability If cookie_support_enable is true, then this option indicates the probability, from
0 to 1, that a client will reject a request for a cookie's contents from the server.

Dependencies: cookie_support_enable 1 ; target client ; property agent with


mode add | modify

(DEFAULT = 0.0)

-cookie_support_enable Enables support for cookies. Value: 0 or 1.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-esm_enable If true, the use of the esm option is enabled.

Dependencies: property agent with mode add | modify

(DEFAULT = 0)

-esm If esm_enable is true, this option specifies the TCP Maximum Segment Size in
the MSS (RX) field. Otherwise, the TCP Maximum Segment Size is 1460 bytes.

Dependencies: esm_enable 1 ; property agent with mode add | modify

(DEFAULT = 1460)

-http_proxy_enable If true, the client will retrieve pages from an HTTP proxy device defined in http_
proxy instead of the target specified in the URL.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-https_proxy_enable If true, the client will retrieve secure (SSL) pages from an HTTPS proxy device
defined in https_proxy instead of the target specified in the URL.

Dependencies: ssl_enable 1 ; target client ; property agent with mode

add | modify

(DEFAULT = 0)

7-12 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-ip_preference If a mixture of IPv4 and IPv6 addresses are available on the client network, this
parameter configures which address types the agent uses.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-follow_http_redirects If true, the client follows HTTP Redirect commands from the server. An HTTP
Redirect is a response status code from the server in the range 300-399 which
defines the reason for redirection (for example, "301 Moved Permanently") and
supplies an alternative location (specified in the emulation_http_traffic_type_
config with -property header) from which the client can retrieve the page.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-http_proxy If http_proxy_enable is true, this option is the name of a HTTP proxy device
(typically, a caching device) that will be used instead of the target specified in the
URL. It should be of the form:

<IP address>:<port>; for example, 192.168.3.1:8080.

Dependencies: http_proxy_enable 1 ; target client ; property agent with mode add


| modify

-https_proxy If https_proxy is true, this option is the name of a HTTPS proxy device (typi-
cally, a caching device) that will be used instead of the target specified in the
URL for secure (SSL) pages. It should be of the form:

<IP address>:<port>; for example, 192.168.3.1:8080.

Dependencies: ssl_enable 1 ; https_proxy_enable 1 ; target client ; property agent


with mode add | modify

-http_version Under HTTP 1.0 without Keep-Alive, when a user clicks on a link for a web
page, a TCP connection request is sent by the client to the server. When the
server accepts the connection, the client sends an HTTP GET request to down-
load the web page from the server. The client acknowledges receipt of the page
by sending an ACK to the server. After making a single HTTP request, the client
closes the TCP connection. After the server has sent the entire page, it will also
close the connection from its side.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 1.0)

HLTAPI Commands, Release 2.80 Rev. B 7-13


HTTP APIs
7
-keep_alive If this option is set to true, the client adds the Connection: Keep-Alive header to
its request. Each request from a client creates a new socket connection to the
server. The client reads from that socket connection to get the response. If keep_
alive is not set, the server closes the connection. If the client needs to make a new
request, it will establish a new connection. If the client sends the Keep-Alive
header, the server keeps the connection open. When the client sends another
request, it uses the same connection. This will continue until either the client or
the server decides that the session is over, and one of them closes the connection.

Dependencies: http_version "1.0" ; target client ; property agent with mode add |
modify

(DEFAULT = 0)

-max_persistent_requests This option is only applicable if http_version is set to "1.1" or http_version is set
to "1.0" with keep_alive set to true. This option enables you to control the num-
ber of transactions that can occur during a single connection. A value of 0 indi-
cates the maximum possible, in which case the program will create as many
transactions as possible for each connection. If you enter a value to limit the
number of transactions, the program limits the number of transactions that can
occur during a single TCP connection. If a user reaches the maximum number of
transactions and needs to continue communicating with the server, it will close
the connection and open a new one.

Dependencies: http_version "1.1" | http_version "1.0" with keep_alive

1 ; target client ; property agent with mode add | modify

(DEFAULT = 1)

-max_sessions This value determines the maximum number of connections that a single user can
have open at any given time. For example, clients may open multiple connections
when their command list contains URLs for multiple servers. The value for this
parameter has an effect on the total number of users that can be configured;
increasing the number of concurrent connections decreases the number of users
that can be configured. Setting this parameter to 1 allows the maximum numbers
of users to be created. The program enforces these limits for clients. For servers,
the limits are the same but not enforced.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 3)

-ssl_enable If true, then the client will support SSL interactions. The operation of SSL mode
is controlled by the certificate, client_ciphers, private_key, private_key_pass-
word, sequential_session_reuse (sic), and ssl_version options.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-sequential_session_reuse If ssl_enable is true, this option indicates the number of times that a set of keys
will be re-used after its initial usage. For example, if this value is set to 3, then the
keys will be used for four total sessions.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

(DEFAULT = 0)

7-14 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-ssl_version This is the SSL version be supported by the client.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

(DEFAULT = tls1)

-certificate This is a certificate to be used by the client if requested by the server. The certifi-
cate must an X.509 certificate in binary format, fully decoded. The certificate_
file option can read and decode a certificate held in a disk file.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

-certificate_file Imports a certificate from a disk file, setting the certificate option with the result.
The program can import ASCII PEM (Privacy Enhanced Mail) or binary
(PKCS#12) certificates and keys; it converts binary certificates and keys into
ASCII PEM format. PEM uses Base64 encoding, and is optimized for sending
binary data in 7-bit transport environments like the Internet. PKCS #12 (Public
Key Cryptography Standard #12) is an industry standard format used to transfer
certificates and their corresponding private keys from one computer to another,
or from a computer to removable media. If this format is imported, the private_
key_password must be set.

Even though the certificate and key are stored in the same file, you must import
each one separately.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

-private_key This is a user's private key. The password must be in binary format, fully
decoded.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

-private_key_file Imports a private key from a disk file, setting the private_key_password option
with the result. The program can import ASCII PEM (Privacy Enhanced Mail) or
binary (PKCS#12) certificates and keys; it converts binary certificates and keys
into ASCII PEM format. PEM uses Base64 encoding, and is optimized for send-
ing binary data in 7-bit transport environments like the Internet. PKCS #12 (Pub-
lic Key Cryptography Standard #12) is an industry standard format used to
transfer certificates and their corresponding private keys from one computer to
another, or from a computer to removable media. If this format is imported, the
private_key_password must be set.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

-private_key_password The password used to decode a certificate and private key, when using the
certificate_file or private_key_file options.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

HLTAPI Commands, Release 2.80 Rev. B 7-15


HTTP APIs
7
-client_ciphers This is a ':' separated list of encryption ciphers that will be supported by the cli-
ent.

Dependencies: ssl_enable 1 ; target client ; property agent with mode add | mod-
ify

-accept_ssl_connections If true, the server will accept incoming SSL connections.

Dependencies: target server ; property agent with mode add | modify

(DEFAULT = 0)

-http_port The port number to which the HTTP server will respond to non SSL requests.

Dependencies: target server ; property agent with mode add | modify

(DEFAULT = 80)

-https_port The port number to which the HTTP server will respond to SSL requests. Depen-
dencies: target server ; property agent with mode add | modify

(DEFAULT = 443)

-request_timeout The amount of time that the server will wait for input on an open connection
before closing the session with a '408' error.

Dependencies: target server ; property agent with mode add | modify

(DEFAULT = 300)

-tos_enable Enables the setting of the TOS (Type of Service) bits in the header of the HTTP
packets. Use the tos option to specify the TOS bit setting.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

-tos this option specifies the IP Precedence / TOS (Type of Service) bit setting and
Assured Forwarding classes. (Default="Best Effort 0x0"). If you want to specify
the standard choices that are in the GUI, you can use a string representation. To
specify any of the other 255 TOS values, specify the decimal value.

Dependencies: target client ; property agent with mode add | modify

(DEFAULT = 0)

Valid choices are:

Value Usage
Best Effort (0x0) (Default) routine priority
Class 1 (0x20) Priority service, Assured Forwarding class 1
Class 2 (0x40) Immediate service, Assured Forwarding class
2

7-16 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a HTTP traffic configuration,
list of traffic, agent.
page_handles the handles of the default pages available
when creating a server agent.
header_handles the handles of the default headers available
when creating a server agent.
cookielist_handles the handles of the default cookielists available
when creating a server agent.
<cookielist_handle>.cookie_handles the handles of the default cookies for a cook-
ielist that are available when creating a server
agent.

EXAMPLES See files starting with http_ in the Samples subdirectory.


Also see the HTTP section in Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {traffic1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 7-17


HTTP APIs
7

NAME — ::ixia::emulation_http_traffic_type_config

DESCRIPTION The command is used to construct the actions attached to the HTTP agents previ-
ously defined with the <vendor>::emulation_http_traffic_config command. Mul-
tiple actions can be added to the agents. For every agent this command can add
multiple cookies, specific headers or WEB pages to be transferred between a cli-
ent agent and a server agent. This command can also define new cookies, head-
ers, or pages.

SYNOPSIS ::ixia::emulation_http_traffic_type_config
-mode CHOICES add remove modify
enable disable
[-property CHOICES action cookielist
cookieheader page]
[-handle ANY]
[-abort CHOICES none before after
DEFAULT none]
[-command CHOICES get get_ssl delete
headhead_ssl put put_ssl postpost_ssl think
loop_beginloop_end DEFAULT get]
[-arguments ANY]
[-destination ANY]
[-page_handle ANY]
[-cookielist_mode CHOICES ignore normal
setcookie1 setcookie2 DEFAULT normal]
[-cookielist_description ANY]
[-type CHOICES setcookie1 setcookie2
DEFAULT setcookie2]
[-domain NUMERIC]
[-max_age NUMERIC]
[-path ANY]
[-cookie_name ANY]
[-cookie_value ANY]
[-code NUMERIC DEFAULT 200]
[-expiration_mode CHOICES never datetime
afterrequest afterlastmodified DEFAULT never]
[-expiration_datetime ANY DEFAULT 2009/12/31
23:59:59]
[-expiration_afterrequest NUMERIC DEFAULT 3600]
[-expiration_afterlastmodified NUMERIC DEFAULT 3600]
[-last_modified_mode CHOICES never datetime
DEFAULT never]
[-last_modified_datetime ANY DEFAULT "2004/12/31
23:59:59"]
[-last_modified_incr_enable CHOICES 0 1 DEFAULT 0]
[-last_modified_incr_by NUMERIC DEFAULT 5]
[-last_modified_incr_for NUMERIC DEFAULT 1]
[-mime_type ANY DEFAULT text/plain]
[-response_name ANY DEFAULT 200_OK]
[-response_description DEFAULT OK]
[-key ANY]
[-value ANY]
[-page ANY]
[-payload_type CHOICES range file
DEFAULT range]
[-payload_file ANY]

7-18 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

[-payload_size ANY DEFAULT 4096]


[-cookielist_handle ANY]
[-header_handle ANY]

ARGUMENTS

-mode Defines types of actions to be taken on the -property object.

-property

Defines types of properties of the HTTP traffic type configuration. Valid choices
are:

Value Usage

Action handles operations required for defining the


commands of an agent (the commands exe-
cuted by the HTTP client).
Cookielist handles operations required for defining
cookie types on the server.
Cookie handles operations required for defining
actual values of the cookies predefined with
cookielist.
Header handles operations required for defining the
responses of the web server to requests -
both returned page contents and other mes-
sages. Also for defining the name-value pairs
of headers of responses of the web server.
Page handles operations required for defining the
web pages that are available from the web
server.

-handle Handle of an action, cookielist, cookie, header or page property.

-abort This option allows you to abort an operation at one of two places during the inter-
change.

Dependencies: property action with mode add | modify

Valid choices are:

Value Usage

none (default) Do not abort transaction.


before Abort the operation immediately after the TCP
connection.
after Abort the operation after the operation has
been sent to the HTTP server. This option is
not valid for SSL connections.

HLTAPI Commands, Release 2.80 Rev. B 7-19


HTTP APIs
7
-command The HTTP command to be used.

Dependencies: property action with mode add | modify

Valid choices are:

Value Usage

GET Retrieves the page specified with the page


property.
GET(SSL) Retrieves the page specified with the page
property. This command must be used with
an agent with ssl_enable 1.
DELETE Requests that the server delete the page
specified in the page property.
HEAD Retrieves only the HTTP headers for the page
specified in the page property.
HEAD(SSL) Retrieves only the HTTP headers for the page
specified in the page property. This com-
mand must be used with an agent with ssl_
enable 1.
PUT Stores the page specified in the page property
on the server at the path specified in the
arguments option.
PUT(SSL) Stores the page specified in the page property
on the server at the path specified in the
arguments option. This command must be
used with an agent with ssl_enable 1.
THINK Adds a pause (think time) before the next
command is executed. The duration of the
pause must be specified in the arguments
option.

-arguments This option contains an argument which is used by the various commands
defined in command option. The type of the value depends on the command.

Dependencies: property action with mode add | modify ; command put | put_ssl |
post | post_ssl | think

Valid choices are:

Value Usage

PUT, PUT(SSL) The name and path of the file to be posted on


the server.
POST,POST(SSL) The name and path of the file to be posted on
the server.
THINK The number of milliseconds to pause before
executing the next command in the action
list.

7-20 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-destination The IP address of a real HTTP server. If the HTTP server listens on a port other
than the standard (80), enter a colon after the IP address and then enter the port
number. If you are using a testing an SLB with a virtual IP address (VIP), enter
its address here. For example: 192.168.0.1:80.

If destination is a HTTP server agent (created with emulation_http_traffic_con-


fig) then the server agent handle should be specified.

Dependencies: property action with mode add | modify

-page_handle /#n identifies a target that contains n bytes of HTTP data. For example, /#1 is 1
byte of HTTP data. In addition to the default sizes listed, you can cause the
HTTP Server agent to generate a custom-size target by specifying the size using
the same convention used for the default sizes. For example, to specify a target of
16 bytes, use /#16. /nk.htm identifies a target that is an HTML page that is n kilo-
bytes in size. For example, /4k.htm is an 4096-byte HTML page. If you have
added customized pages with emulation_http_traffic_type_config with -property
page, type its handler here.

Dependencies: property action with mode add | modify

-cookielist_mode Determines how the cookies in the cookie group should be handled by the HTTP
server that receives them. Dependencies: property cookielist with mode add |
modify

Valid choices are:

Value Usage

ignore Causes the server to discard these cookies


when it receives them from the client. The
Program HTTP server does not add cookies
received with this mode to its statistics.
Therefore, the statistics for the number of
cookies sent by the client will be greater than
the number of cookies received by the Pro-
gram HTTP server.
normal (default) Causes the server to perform the
functions described by the cookies.
setcookie1 Causes the server to return the cookies to the
client in a Set-Cookie format header.
setcookie2 Causes the server to return the received
cookie data to the client in a Set-Cookie2 for-
mat header.

-cookielist_description A description for the cookielist.

Dependencies: property cookielist with mode add | modify

HLTAPI Commands, Release 2.80 Rev. B 7-21


HTTP APIs
7
-type The type of the cookie. Dependencies: property cookielist with mode add | mod-
ify

Valid choices are:

Value Usage

setcookie1 Use the original cookie specification, as per


RFC 2109.
setcookie2 (default) Use the cookie 2 specification, as
per RFC 2965.

-domain The domain for which the cookie is valid. If omitted, it applies to the entire
domain for the HTTP server.

Dependencies: property cookie with mode add | modify

-max_age The lifetime of the cookie, in seconds. After the time elapses, the client should
discard the cookie. A value of zero means the cookie should be discarded imme-
diately. If blank, the cookie is discarded at the end of the browser session.

Dependencies: property cookie with mode add | modify

-path The subset of URLs to which this cookie applies. If omitted, it applies to all
URLs for the server.

Dependencies: property cookie with mode add | modify

-cookie_name The name part of the name=value pair being defined. Dependencies: property
cookie with mode add | modify

-cookie_value The value part of the name=value pair being defined. Dependencies: property
cookie with mode add | modify

-code The number returned by response. HTTP response codes are defined in Section
10 of RFC 2616.

Dependencies: property header with mode add | modify

(DEFAULT 200)

-expiration_mode The means by which the page's expiration is published. Dependencies: property
header with mode add | modify

Valid choices are:

Value Usage

never (default) The page never expires.


datetime The page expires after a certain date and
time, specified in expiration_datetime option.
afterrequest The page expires after certain amount of time
specified in the expiration_afterrequest
option.
afterlastmodified The page expires after a certain amount of
time following the last modified date and
time, specified in the expiration_afterlast-
modified option.

7-22 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-expiration_datetime This is the date and time at which the page will expire. The format of this field is
"YYYY/MM/DD HH:MM:SS". For example, "2004/12/31 23:59:59".

Dependencies: expiration_mode datetime ; property header with mode add |


modify

(DEFAULT 2009/12/31 23:59:59)

-expiration_afterrequest This is the number of seconds after which the page will expire.

Dependencies: expiration_mode afterrequest ; property header with mode add |


modify

(DEFAULT 3600)

-expiration_ This is the number of seconds after the page's last modified value, at which time
afterlastmodified the page will expire. The last modified value is set in last_modified_datetime,
last_modified_incr_enable, last_modified_incr_by and last_modified_incr_for
options.

Dependencies: expiration_mode afterrlastmodified ; property header with mode


add | modify

(DEFAULT 3600)

-last_modified_mode This option determines if and how the last modified field will be published for
the page.

Dependencies: property header with mode add | modify

Valid choices are:

Value Usage

never (default) No last modification time is pub-


lished.
datetime A last modification date/time is published as
specified in last_modified_datetime, last_
modified_incr_enable, last_modified_incr_by
and last_modified_incr_for options.

-last_modified_datetime This is the value to be returned for the last modified date/time. This value may be
incremented for subsequent responses through use of the last_modified_incr_
enable, last_modified_incr_by and last_modified_incr_for options. last_
modified_mode datetime ; property header with mode add | modify

(DEFAULT 2004/12/31 23:59:59)

-last_modified_incr_enable This option enables the incrementing of last_modified_datetime by last_


modified_incr_by as modified by last_modified_incr_for.

Dependencies: last_modified_mode datetime ; property header with mode add |


modify

(DEFAULT 0)

HLTAPI Commands, Release 2.80 Rev. B 7-23


HTTP APIs
7
-last_modified_incr_by This is the number of seconds to increment the last_modified_datetime value.

Dependencies: last_modified_mode datetime ; last_modified_incr_enable 1 ;


property header with mode add | modify

(DEFAULT 5)

-last_modified_incr_for This is the number of times that the page is referenced before the last modified
date/time is incremented as specified in last_modified_incr_by.

Dependencies: last_modified_mode datetime ; last_modified_incr_enable 1 ;


property header with mode add | modify

(DEFAULT 1)

-mime_type The MIME type for the page. The types: text/plain, text/html and text/xml are
pre-defined, but any legal type may be set.

Dependencies: property header with mode add | modify

(DEFAULT text/plain)

-response_name The name of the response.

Dependencies: property header with mode add | modify

(DEFAULT 200_OK)

-response_description The description of the response.

Dependencies: property header with mode add | modify

(DEFAULT OK)

-key A value HTTP header key.

Dependencies: property header with mode add | modify

-value The value of the header key.

Dependencies: property header with mode add | modify

-url The URL of the HTML page that clients can retrieve from the HTTP Server
Agent. The path is relative to the root directory of the server port. You can enter
an asterisk (*) at any point on the path, and the server will treat it as a match for
any number of directories. For example, if you configure the page's URL as /
home/liesl/*/pup.html, a server would serve the page if it received any of the fol-
lowing GET requests:

/home/liesl/pics/pup.html

/home/liesl/0/temp/pup.html

/home/liesl/pup.html

Dependencies: property page with mode add | modify

7-24 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-payload_type Indicates the type of payload that will be returned for this page reference. Depen-
dencies: property page with mode add | modify

Valid choices are:

Value Usage

range (default) Causes the Server Agent to gener-


ate data automatically. The value in payload_
size indicates the amount of data to return.
file Causes the Server Agent to return the actual
file indicated in the payload_file option.

-payload_file This field specifies the file that will be returned. Make sure to specify the entire
path to the file in this specification. Also note that the directory separator "\"
must be represented as "\\" within the string.

Dependencies: payload_type file ; property page with mode add | modify

-payload_size This field specifies the amount of data returned. Specify the size of the data as a
minimum size and a maximum size. For example, to specify a minimum size of
1024 bytes and a maximum of 2048, specify 1024-2048.

To specify a single fixed amount of data, specify the a single value.

Dependencies: payload_type range ; property page with mode add | modify

(DEFAULT 4096)

-cookielist_handle This option links to an element of type cookielist of the enclosing HTTP Server
Agent.

-header_handle This option links to an element in the header list of the enclosing HTTP Server
Agent.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a HTTP traffic configuration,
list of traffic, agent.

EXAMPLES See files starting with http_ in the Samples subdirectory.


Also see the HTTP example in Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {traffic1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 7-25


HTTP APIs
7

NAME — ::ixia::emulation_http_control

DESCRIPTION This command defines a mapping between the HTTP networks, the DUT and the
statistics used. It can start a test previously defined with the ::ixia::emulation_
http_control_config command.

SYNOPSIS ::ixia::emulation_http_control
-mode CHOICES add modify start
[-handle ANY]
[-map_handle ANY]
[-force_ownership_enable CHOICES 0 1 DEFAULT 0]
[-release_config_afterrun_enable CHOICES 0 1 DEFAULT 0]
[-reset_ports_enable CHOICES 0 1 DEFAULT 0]
[-results_dir_enable CHOICES 0 1 DEFAULT 0]
[-results_dir ANY]
[-stats_required CHOICES 0 1 DEFAULT 1]

ARGUMENTS

-mode Defines types of actions to be taken. Valid choices are:

Value Usage

add adds a map between a HTTP config and a


traffic config to this session.
modify modifies this session
start starts this session

-handle Handle of a control.

Dependencies: mode modify | start

-map_handle List of handles of the maps between a client HTTP config and a client traffic con-
fig and between a server HTTP config and a server traffic config created with
::ixia::emulation_http_control_config.

Dependencies: mode add | modify

-force_ownership_enable If true, at the beginning of the test, any ports that are selected for the test but
owned by another user are rebooted and their previous ownership cleared.

Dependencies: mode add | modify

(DEFAULT = 0)

-release_config_afterrun_ If true, purges the test configuration from the ports after a test completes, releases
enable ownership of them, and the ports will no longer respond to ARPs and PINGs
from the DUT.

Dependencies: mode add | modify

(DEFAULT = 0)

7-26 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-reset_ports_enable If true, the program reboots the ports before downloading the test configuration
to them. To ensure the integrity of your testing, it is always safest to reboot the
ports before running a test. However, rebooting the ports does increase the
amount of time required to prepare the ports for a test.

If you are developing a test and making incremental changes to it and then run-
ning it to see the effect of your changes, it may be safe to save time by not reboo-
ting the ports before each run. If you do not want to reboot the ports for every
test, you should at least reboot the ports the first time you load a repository; this
will ensure that any software structures remaining from a previous test or other
application are properly removed.

Dependencies: mode add | modify

(DEFAULT = 0)

-results_dir_enable This enable storing the execution results. Values: 0 or 1.

Dependencies: -mode add.

(DEFAULT = 0)

-results_dir Specifies the location of where the execution results will be kept.

Dependencies: -mode add.

-stats_required If true, statistics will be collected for the test.

Dependencies: mode add | modify

(DEFAULT = 1)

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is $::FAILURE, contains more
information
handles the handles of a HTTP traffic configuration,
list of traffic, agent.

EXAMPLES See files starting with http_ in the Samples subdirectory.


Also see the HTTP example in Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {traffic1}}

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 7-27


HTTP APIs
7

NAME — ::ixia::emulation_http_stats

DESCRIPTION This command manages the statistics gathered during the test run. It can add mul-
tiple types of statistics, extract data, clear statistics from a previous run, or can
add specific filters to the way the statistics are gathered.

SYNOPSIS ::ixia::emulation_http_stats
-mode CHOICES add clear get
[-handle ANY]
[-aggregation_type CHOICES sum max min average rate
maxrate minrate averagerate DEFAULT sum]
[-stat_name ALPHANUM]
[-stat_type CHOICES client server
DEFAULT client]
[-filter_type CHOICES port card chassis traffic
map]
[-filter_value ANY]

ARGUMENTS

-handle Handle of a statistic. Dependencies: -mode get.

-mode Defines types of actions to be taken. Valid choices are:

Value Usage
add adds a statistic.
clear clear all statistics previously added.
get get statistic data.

-aggregation_type Specifies how statistics for multiple ports are combined.

Dependencies: -mode add.

Valid choices are:

Value Usage

sum (default) add all of the statistics together.


max determine the maximum value.
min determine the minimum value.
average determine the average value.
rate determine the rate of change of the sum of all
the statistics.
maxrate determine the maximum rate.
minrate determine the minimum rate.
averagerate determine the average rate.

7-28 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-stat_name A particular statistic name as listed in the statistics list. The list of statistics can
be found in the table below.

Dependencies: -mode add.

Valid choices are:

Value Usage

http_simulated_users (client) Number of users to be simulated during the


test.
http_concurrent_connections (client) Maximum number of concurrent #
connections maintained during the test.
http_connections (client) Total number of connections established by
the clients.
http_transactions (client) Total number of transactions completed by
the clients.
http_bytes (client) Amount of data transmitted by the clients, in
bytes.
http_requests_sent (client) Number of HTTP requests sent by the clients.
http_requests_successful (client) Number of positive HTTP responses (2xx-
and 3xx-range responses) received by the
clients.
http_requests_failed (client) Number of HTTP requests that failed for any
reason.
http_requests_failed_write (client) Number of HTTP requests that failed due to a
socket write error.
http_requests_failed_read (client) Number of HTTP requests that failed due to a
socket read error.
http_requests_failed_bad_header (cli- Number of HTTP requests that failed due to a
ent) defective HTTP header.
http_requests_failed_4xx (client) Number of 4xx-range responses received by
the clients in response to an HTTP
request.408 responses are counted sepa-
rately by the HTTP Session Timeout (408)
statistic and may or may not also be included
in the HTTP Requests Failed (4xx) count.
See the description of HTTP Session Time-
out (408) for more information.
http_requests_failed_400 (client) Bad Request. Number of requests that failed
due to a syntax error in the URL.
http_requests_failed_401 (client) Unauthorized. Number of requests that failed
due to because the server did not receive the
correct user name or password from the
browser.
http_requests_failed_403 (client) Forbidden. Number of requests that failed
due to because the name or password sup-
plied by the browser are incorrect.
http_requests_failed_404 (client) Not Found. Number of requests that failed
because requested object is not stored on
the server on the path supplied.
http_requests_failed_408 (client) Timeout. Number of requests that failed due
to communications between the client and
server taking too long.

HLTAPI Commands, Release 2.80 Rev. B 7-29


HTTP APIs
7

Value Usage

http_requests_failed_4xx_other (client) Number of HTTP requests that failed for rea-


sons other than a Bad Request (400), Unau-
thorized (401), Forbidden (403), Not Found
(404), or Timeout (408) error.
http_requests_failed_5xx (client) Number of HTTP requests that failed due to
lack of resources on the server (HTTP 500-
series errors). This statistic is only incre-
mented if the client had issued a request to
the server before receiving the 5xx response.
http_requests_failed_505 (client) HTTP Version not Supported. Number of
requests that failed because the server does
not support the HTTP version used by the cli-
ent.
http_requests_failed_5xx_other (client) Number of requests that failed for reasons
other than an HTTP version mis-match (505).
http_requests_failed_timeout (client) Number of HTTP requests that failed
because the clients did not receive a
response within 600 seconds.
http_requests_failed_aborted (client) Number of HTTP requests that ended prema-
turely due to events outside HTTP or TCP.
For example, if any HTTP requests are pend-
ing when the Ramp-Down period ends,
those requests are aborted by program.
http_requests_timeouts (client) Number of HTTP 408 responses received.
This statistic includes all 408 responses
received regardless of whether they were
received for a pending HTTP request or not.
The program counts 408 responses differ-
ently depending on whether or not a client
has a pending HTTP request. If a client has
an HTTP request pending and it receives a
408 response, the program increments the
HTTP Received 408, HTTP Requests Failed
(4xx), and HTTP Requests Failed statistics. If
a client does not have an HTTP request
pending and it receives a 408 response, Pro-
gram only increments the HTTP Received
408 statistic.
http_sessions_rejected (client) Service Unavailable. Number of HTTP ses-
sions that could not be established due to
lack of resources on the server.
http_transactions (client) Number of HTTP transactions transferring
HTTP commands or data.
http_users_active (client) Number of HTTP users simulated.

7-30 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

Value Usage

http_bytes_sent (client) Number of HTTP bytes transmitted by the cli-


ents. If you probe the network link with a
sniffer, this statistic is not the same as the
total amount of TCP payload that appears on
the link. The total amount of TCP payload
can be greater than this statistic (increased
by retransmits) or less than this statistic
(decreased by broken or reset connections).
SSL-encrypted payload data is included in
this statistic but SSL handshake overhead is
not (HTTP only). http_bytes_received (client)
- Number of HTTP bytes received by the cli-
ents. If you probe the network link with a
sniffer, this statistic is not the same as the
total amount of TCP payload that appears on
the link. The total amount of TCP payload
can be greater than this statistic due to
increases caused by retransmits. SSL-
encrypted payload data is included in this
statistic but SSL handshake overhead is not
(HTTP only).
http_cookies_received (client) Number of cookies received by the clients.
http_cookies_sent (client) Number of cookies sent by the clients.
http_cookies_rejected (client) Number of cookies rejected by the clients.
Clients may reject cookies for the following
reasons: Cookie jar is full; Path specified in
the cookie is not a subset of the URI
requested; Domain of the requesting host
does not match the cookie domain; Cookie
Reject Probability was greater than 0 and
cookie was randomly selected for rejection
http_cookies_rejected_path (client) Number of cookies rejected by the clients
because the path specified in the cookie was
not available on the server.
http_cookies_rejected_domain (client) Number of cookies rejected by the clients
because the cookie was sent by a server out-
side the domain specified in the cookie.
http_cookies_rejected_overflow (client) Number of cookies rejected by the clients
because their cookie jars were full.
http_cookies_rejected_probabilistic (cli- Number of cookies rejected because the cli-
ent) ents were configured to reject a percentage
of all cookies at random.
http_connect_time (client) Average time elapsed, in milliseconds,
between the time the client sends a SYN
packet and the time it receives the SYN/ACK.
http_time_first_byte (client) Average time elapsed, in milliseconds, before
clients received the first byte of an HTTP
response.
http_time_last_byte (client) Average time elapsed, in milliseconds, before
clients received the last byte of an HTTP
response.
http_requests_received (Server) Number of HTTP requests received by the
servers.
http_requests_successful (Server) Number of complete and positive HTTP
responses (2xx- and 3xx-range responses)
sent to the clients.

HLTAPI Commands, Release 2.80 Rev. B 7-31


HTTP APIs
7

Value Usage

http_requests_failed (Server) Number of HTTP requests from the clients


that failed for any reason.
http_requests_failed_404 (Server) Number of HTTP requests that failed due to
missing files (error 404).
http_requests_failed_50x (Server) Number of HTTP requests that failed due to
lack of resources (500-series errors).
http_requests_failed_write (Server) Number of HTTP requests that failed due to a
socket write error.
http_sessions_rejected (Server) Service Unavailable. Number of HTTP ses-
sions that could not be established due to
lack of resources on the server.
http_session_timeouts (Server) Number of HTTP 408 responses sent. This
statistic includes all 408 responses sent
regardless of whether they were received for
a pending HTTP request or not. Program
counts 408 responses differently depending
on whether or not a client has a pending
HTTP request: if a client has an HTTP
request pending and it receives a 408
response, Program increments the HTTP
Received 408, HTTP Requests Failed (4xx),
and HTTP Requests Failed statistics; if a cli-
ent does not have an HTTP request pending
and it receives a 408 response, Program only
increments the HTTP Received 408 statistic.
http_transactions_active (Server) Number of HTTP transactions transferring
HTTP commands or data.
http_bytes_received (Server) Number of HTTP bytes received by the serv-
ers. If you probe the network link with a
sniffer, this statistic is not the same as the
total amount of TCP payload that appears on
the link. The total amount of TCP payload
can be greater than this statistic due to
increases caused by retransmits. SSL-
encrypted payload data is included in this
statistic but SSL handshake overhead is not
(HTTP only).
http_bytes_sent (Server) Number of HTTP bytes sent by the servers. If
you probe the network link with a sniffer, this
statistic is not the same as the total amount
of TCP payload that appears on the link. The
total amount of TCP payload can be greater
than this statistic (increased by retransmits)
or less than this statistic (decreased by bro-
ken or reset connections). SSL-encrypted
payload data is included in this statistic but
SSL handshake overhead is not (HTTP only).
http_cookies_received (Server) Number of cookies received by the server.
http_cookies_sent (Server) Number of cookies sent by the server.
http_cookies_match (Server) Number of cookies received from the same
servers that the client returned its cookies to.
http_cookies_non_match (Server) Number of cookies received from the differ-
ent servers than the servers the client
returned its cookies to.

7-32 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-stat_type The agent type that generates the statistics. Values: client or server. Dependen-
cies: -mode add.

(DEFAULT = client)

-filter_type The type of the filter available.

Dependencies: -mode add.

(DEFAULT = port)

Valid choices are:

Value Usage

port a filter operation may be performed across


the port described in the filter_value field.
card a filter operation may be performed across
the card described in the filter_value field.
chassis a filter operation may be performed across
the chassis described in the filter_value field.
traffic a filter operation may be performed across on
the traffic described in the filter_value field.
map a filter operation may be performed across
the mapping described in the filter_value
field.

-filter_value A value corresponding to the value of the type option.

Dependencies: -mode add.

Valid choices are:

Value Usage
If -type is "port" a port specification in the form chassis/card/
port.
If -type is "card" a card specification in the form chassis/card.
If -type is "chassis" a chassis specification in the form chassis
If -type is "traffic" a traffic handle created by emulation_http_
traffic_config.
If -type is "map" a map handle created by emulation_http_
control_config.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a HTTP stats configuration.
<stat_group_handle>.<client|server>.< The value of the specified statistic name.
stat_name>.<timestamp>

EXAMPLES See files starting with HTTP_ in the Samples subdirectory.


Also see the HTTP example in Appendix A, "Example APIs."

HLTAPI Commands, Release 2.80 Rev. B 7-33


HTTP APIs
7
SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {statistic1}}


or
{status $::SUCCESS}
{statistic1.client.http_connections.110290069000 5}

NOTES Coded versus functional specification.

SEE ALSO

7-34 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

NAME — ::ixia::emulation_http_control_config

DESCRIPTION This command is used to construct the mapping between the agents that will gen-
erate the traffic and the set of networks which will carry the traffic. A number of
additional options control the manner in which the traffic is applied to the net-
works.

To the client side mappings , the command can specify the options used to allow
the test to achieve a particular objective, for example, connections per second, or
the options that determine the timeline for application of traffic or the options
that control the manner in which client traffic is sent to servers.

SYNOPSIS ::ixia::emulation_http_control_config
-mode CHOICES add remove modify
enable disable
[-handle ANY]
[-target CHOICES client server
DEFAULT client]
[-property CHOICES map dut]
[-direct_server_return_enable CHOICES 0 1 DEFAULT 0]
[-ip_address IPV4 DEFAULT 1.1.1.1]
[-server_http_handle ANY]
[-type CHOICES external slb
firewall DEFAULT slb]
[-client_iterations NUMERIC DEFAULT 1]
[-client_http_handle ANY]
[-client_traffic_handle ANY]
[-objective_type CHOICES na users
connections crate trate tputmb tputkb sessions
DEFAULT na]
[-objective_value NUMERIC]
[-client_offline_time NUMERIC DEFAULT 0]
[-port_map_policy CHOICES pairs mesh
round_robin DEFAULT pairs]
[-ramp_down_time NUMERIC DEFAULT 20]
[-ramp_up_type CHOICES users_per_second
max_pending_users DEFAULT users_per_second]
[-ramp_up_value NUMERIC]
[-client_standby_time RANGE 0-3600000 DEFAULT 0]
[-client_sustain_time RANGE 0-3600000 DEFAULT 0]
[-client_total_time NUMERIC DEFAULT 60]
[-server_traffic_handle ANY]
[-match_client_totaltime CHOICES 0 1 DEFAULT 1]
[-server_iterations NUMERIC DEFAULT 1]
[-server_offline_time NUMERIC DEFAULT 0]
[-server_standby_time RANGE 0-3600000 DEFAULT 0]
[-server_sustain_time NUMERIC DEFAULT 20]
[-server_total_time NUMERIC DEFAULT 60]

HLTAPI Commands, Release 2.80 Rev. B 7-35


HTTP APIs
7
ARGUMENTS

-handle Handle of a map or DUT property.

-target Specifies the type of the map. Value: client | server.

(DEFAULT = client)

Dependencies: property map with mode add.

-property Defines types of the HTTP control configuration: Map handles operations
required for mapping a HTTP configuration

with a traffic configuration. DUT handles operations required for defining a


Device Under Test parameters. Value: map | dut.

-mode Defines types of actions to be taken on the -property object. Enable and disable
are not valid values for -property dut. Value: add | remove | modify | enable | dis-
able.

-direct_server_return_ If type is "slb" and this option is true, Direct Server Return is enabled. In a basic
enable SLB topology, incoming requests from clients and outgoing responses from serv-
ers both go through the SLB. In a topology using Direct Server Return, the
responses are sent directly from the servers to the clients; they do not go through
the SLB. DSR reduces the amount of traffic going through the SLB, allowing it
to devote more resources to managing the incoming requests and monitoring the
status of the servers in its pool. Value: 0 | 1.

(DEFAULT = 0)

Dependencies: property dut with mode add | modify ; type slb.

-ip_address The IPv4 address, virtual IPv4 address or host name used to access the DUT.

(DEFAULT = 1.1.1.1)

Dependencies: property dut with mode add | modify.

-server_http_handle If type is "slb" and the SLB is balancing emulated servers, set this option to the
handle of the server HTTP network that is being balanced.

-type The type of DUT in use. (DEFAULT = slb)

Dependencies: property dut with mode add | modify.

Valid choices are:

Value Usage

external The DUT is a protocol server.


slb The DUT is a server load balancer.
firewall The DUT is a firewall.

-client_iterations The number of times that the traffic-network pair perform their functions (estab-
lishing TCP connections, retrieving files, etc.) in the test.

(DEFAULT = 1)

Dependencies: property map with mode add | modify.

7-36 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-client_http_handle This handle provides the networks from which the traffic will be generated.

Dependencies: property map with mode add | modify.

-client_traffic_handle This handle provides the model of the client traffic to be generated.

Dependencies: property map with mode add | modify.

-objective_type The objective to be achieve for this traffic to network mapping.

(DEFAULT = na)

Dependencies: property map with mode add | modify.

Valid choices are:

Value Usage

na If this option is not used there will be no


objective set.
users Number of HTTP users simulated during the
test. Specify the desired number of users in
the objective_value option.
sessions The objective is to sustain some number of
sessions simultaneously. Specify the desired
number of connections in the objective_value
option.
connections The Maximum number of simultaneous HTTP
connections established during the test.
Specify the desired number of connections in
the objective_value option.
crate Rate at which the client established HTTP
connections. Specify the desired number of
connections per second in the objective_
value option.
trate Rate at which the client completed transac-
tions with the server over HTTP connections.
One transaction consists of a LOGIN, PASS-
WORD, SEND, or EXIT command and the
response to it. Specify the desired number of
transactions per second in the objective_
value option.
tputmb The objective is to achieve a certain level of
throughput, measured in Megabytes per sec-
ond (MBps). Specify the amount of through-
put in the objective_value option.
tputkb The objective is to achieve a certain level of
throughput, measured in Kilobytes per sec-
ond (KBps). Specify the amount of through-
put in the objective_value option.

-objective_value A value related to the choice made in the objective_type option.

Dependencies: property map with mode add | modify.

HLTAPI Commands, Release 2.80 Rev. B 7-37


HTTP APIs
7
-client_offline_time The amount of time agents are idle between iterations.

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-port_map_policy This option controls the sequence in which the client ports connect to the server
ports. The operation of Port Pairs can be described by three scenarios: If the num-
ber of client ports is equal to the number of server agents, client ports will estab-
lish connections to server ports on a one-to-one basis; If the number of client
ports is less than the number of server ports, the client ports will establish con-
nections to the server ports on a one-to-one basis until all client ports are paired
with server ports. The remaining server ports will not be used; If the number of
client ports is greater than the number of server ports, the client ports will estab-
lish connections to the server ports on a one-to-one basis until all server ports are
paired with client ports. Then, the remaining client ports will return to the first
server port and continue pairing themselves with server ports.

(DEFAULT = pairs)

Dependencies: property map with mode add | modify.

Valid choices are:

Value Usage
pairs Client agents connect to server agents on a
one-to-one basis.
mesh Agents on every client port connect to every
server port. For large numbers of ports, the
Port Pair sequence scales performance better
than the Port Mesh sequence.

-ramp_down_time The amount of time used for closing any TCP connections that are still open after
all transactions are complete. When the ramp down time expires, the program ter-
minates any users. If the program terminates any client users that are still running
after the ramp down time expires, statistics for servers and clients that should

match may not. This is an indication that the ramp down time may be too short.

(DEFAULT = 20)

Dependencies: property map with mode add | modify.

-ramp_up_type The method used to apply the ramp_up_value. Dependencies: property map with
mode add | modify.

Valid choices are:

Value Usage

users_per_second (default) applies the ramp_up_value to bring


up the specified number of users per second.
For example, if you select users_per_second
and you specify 10 for the ramp_up_value,
the program brings up 10 new users every
second until all the users are and running.
max_pending_users N/A

7-38 HLTAPI Commands, Release 2.80 Rev. B


HTTP APIs

-ramp_up_value A value dependent on the setting of ramp_up_type.

Dependencies: property map with mode add | modify.

-client_standby_time The amount of time, expressed in seconds, that elapses between the time the test
is started and the time that the traffic-network pair become active. If you have
multiple traffic-network paris in your test, you can use this parameter to stagger
their start times. A value of 0 causes the test to begin immediately. The valid
range is from 0 to 1000 hours (3,600,000).

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-client_sustain_time The amount of time, in seconds, during which all users are up and performing the
central test objectives, such as establishing and closing connections (TCP),
retrieving or serving pages (http), or sending or receiving files (http). The valid
range is from 0 to 1000 hours (3,600,000). (DEFAULT = 0)

Dependencies: property map with mode add | modify.

-client_total_time The total time required to run the test, including Ramp Up, Ramp Down, Sustain,
and Offline times for all iterations. (DEFAULT = 60)

Dependencies: property map with mode add | modify.

-server_traffic_handle This handle provides the model of the server traffic to be generated.

Dependencies: property map with mode add | modify.

-match_client_totaltime If true, the servers on this mapping will stay online for the same length of time as
the longest-running client agent. If you do not check this box and a server's dura-
tion is shorter than one of the clients connecting to it, the server will go offline
while the client is connected; if this is not what you intend to happen during test-
ing, the test results for that client may be misleading. If false, the program calcu-
lates agent run times independently for each server activity. -server_offline_
time, server_standby_time, # server_sustain_time, server_total_time options
will be disabled if -match_client_totaltime option is enabled. Value: 0 | 1.

(DEFAULT = 1)

Dependencies: property map with mode add | modify.

-server_iterations The number of times that the traffic-network pair perform their functions (estab-
lishing TCP connections, retrieving files, etc.) in the test.

(DEFAULT = 1)

Dependencies: property map with mode add | modify.

-server_offline_time Amount of time agents are idle between iterations.

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

HLTAPI Commands, Release 2.80 Rev. B 7-39


HTTP APIs
7
-server_standby_time The amount of time, expressed in seconds, that elapses between the time the test
is started and the time that the traffic-network pair become active. If you have
multiple traffic-network pairs in your test, you can use this parameter to stagger
their start times. A value of 0 causes the test to begin immediately. The valid
range is from 0 to 1000 hours (3,600,000).

(DEFAULT = 0)

Dependencies: property map with mode add | modify.

-server_sustain_time The amount of time, in seconds, during which all users are up and performing the
central test objectives, such as establishing and closing connections (TCP),
retrieving or serving pages (http).

(DEFAULT = 20)

Dependencies: property map with mode add | modify.

-server_total_time The total time required to run the test, including Standby, Sustain, and Offline
times for all iterations.

(DEFAULT = 60)

Dependencies: property map with mode add | modify.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is $::FAILURE, contains more
information
handles the handles of a HTTP traffic configuration,
list of traffic, agent.

EXAMPLES See files starting with http_ in the Samples subdirectory.


Also see the HTTP example in Appendix A, "Example APIs."

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {handles {map1}}

NOTES Coded versus functional specification.

SEE ALSO

7-40 HLTAPI Commands, Release 2.80 Rev. B


IGMPvX APIs
8
Chapter 8:

This chapter covers the following topics:

• ::ixia::emulation_igmp_config on page 8-2.

• ::ixia::emulation_igmp_control on page 8-5.

• ::ixia::emulation_igmp_group_config on page 8-6.

• ::ixia::emulation_igmp_info on page 8-8.

HLTAPI Commands, Release 2.80 Rev. B 8-1


IGMPvX APIs
8

NAME — ::ixia::emulation_igmp_config

DESCRIPTION This procedure will configure IGMP Host(s). Note that IGMP is only supported
on ports with CPUs.

SYNOPSIS ::ixia::emulation_igmp_config
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-
9]+$
-mode CHOICES create delete
modify enable disable enable_all disable_all
[-handle]
[-interface_handle]
[-igmp_version CHOICES v1 v2 v3
(DEFAULT v2)]
[-count NUMERIC (DEFAULT 1)]
[-intf_ip_addr IP]
[-intf_ip_addr_step IP (DEFAULT 0.0.0.1)]
[-intf_prefix_len RANGE: 1-32 (DEFAULT 24)]
[-neighbor_intf_ip_addr IP]
[-neighbor_intf_ip_addr_step IP (DEFAULT 0.0.0.0)]
[-unsolicited_report_interval NUMERIC]
[-max_groups_per_pkts NUMERIC (DEFAULT 0)]
[-max_response_control CHOICES 0 1 (DEFAULT 0)]
[-max_response_time NUMERIC]
[-ip_router_alert CHOICES 0 1 (DEFAULT 1)]
[-general_query CHOICES 0 1 (DEFAULT 1)]
[-group_query CHOICES 0 1 (DEFAULT 1)]
[-suppress_report CHOICES 0 1 (DEFAULT 0)]
[-filter_mode CHOICES include exclude
(DEFAULT include)]
[-vlan_id RANGE 0-4095]
[-vlan_id_mode CHOICES fixed increment
(DEFAULT increment)]
[-vlan_id_step RANGE 0-4096 (DEFAULT 1)]
[-vlan_user_priority RANGE 0-7 (DEFAULT 0)]
[-mac_address_init MAC ]
[-msg_interval NUMERIC (DEFAULT 0)]
[-no_write FLAG ]
[-reset FLAG ]

ARGUMENTS

-mode This option defines the action to be taken. Valid choices are:

Value Usage

create N/A
delete N/A
modify N/A
disable N/A
enable N/A
enable_all N/A
disable_all N/A

8-2 HLTAPI Commands, Release 2.80 Rev. B


IGMPvX APIs

-port_handle The port on which the session is to be created.

-handle IGMP Host handle if the option -mode is delete, modify, disable, enable.

-interface_handle A handle or list of the handles that are returned from the interface_config call.
These provide a direct link to an already existing interface and supercede the use
of the intf_ip_addr value.

-igmp_version The version of IGMP to be used: v1, v2, v3.

-count Defines the number of sessions to create on the interface.

(DEFAULT = 1)

-intf_ip_addr IP address of the test interface / emulated IGMP Host.

-intf_ip_addr_step The IP address step between each session. Only applicable in create mode.

(DEFAULT = 0.0.0.1)

-intf_prefix_len

-neighbor_intf_ip_addr IP address of the neighbor.

-neighbor_intf_ip_addr_ The IP address step between each session.


step
(DEFAULT = 0.0.0.0)

-unsolicited_report_inter- The interval (in 1/10 seconds) to wait before re-sending the host's initial report of
val membership in a group. If 0, do not send unsolicited report.

(DEFAULT = 100 for IGMPv2, 10 for IGMPv3)

-max_groups_per_pkts IGMPv3 only.

The maximum number of group records that can go into one IGMPv3 member-
ship report packet. If the number of groups to be advertised exceeds this number
then the groups are split up into multiple membership report packets. If set to 0,
groups are packed into Membership Report packets until the MTU size is
reached.

(DEFAULT = 0)

-max_response_control If true (1), use ì-max_response_timeî to overwrite the value obtained from the
received Query message.

(DEFAULT = 0 - disable)

-max_response_time Set the maximum response time (in 1/10 seconds) on receipt of a query. If set to
0, immediately respond to received Query message.

-ip_router_alert If true (1), enable IP Router Alert Option.

(DEFAULT = 1)

-general_query If true (1), respond to general queries received on the interface.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 8-3


IGMPvX APIs
8
-group_query If true (1), respond to group specific (and source/group?) queries received on the
interface.

(DEFAULT = 1)

-suppress_report If true (1), suppress the transmission of a listener report that duplicates one
received on the interface.

-filter_mode Cofigure IGMpv3 Include Filter Mode.

(DEFAULT = include)

-vlan_id VLAN ID for emulated router node.

-vlan_id_mode For multiple neighbor configuration, configures the VLAN ID mode to fixed or
increment.

-vlan_id_step When -vlan_id_mode is set to increment, this defines the step for every VLAN.

-vlan_user_priority VLAN user priority assigned to emulated router node.

-mac_address_init The MAC address for the interface to be created.

-msg_interval The interval in ms used for throttling updates. A value of 0 will cause sending the
messages as fast as possible.

(DEFAULT = 0)

-no_write If this option is present, the protocol configuration will not be written to the
server.

-reset Clear all existent hosts.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


handle The handles for the IGMP Hosts created

EXAMPLES See files starting with IGMPv1_, IGMPv2_, or IGMPv3_ in the


Samples subdirectory. See the IGMP example in Appendix A,
"Examples APIs," for one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

8-4 HLTAPI Commands, Release 2.80 Rev. B


IGMPvX APIs

NAME — ::ixia::emulation_igmp_control

DESCRIPTION Stop, start, or restart the protocol. Note that IGMP is only supported on ports
with CPUs.

SYNOPSIS ::ixia::emulation_igmp_control
-mode CHOICES stop start restart join leave
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
-handle
-group_member_handle

ARGUMENTS

-mode What is being done to the protocol. Valid choices are:

Value Usage
stop Stop the protocol.
start Start the protocol.
restart Restart the protocol.
join Join the groups specified by handle, port_
handle or group_member_handle. This com-
mands only affects the status of the items, it
will not start the protocol, if it is not already
running.
leave Leave the groups specified by handle, port_
handle or group_member_handle. This com-
mands only affects the status of the items, it
will not start the protocol, if it is not already
running.

-port_handle The port where the IGMP is to be controlled.

-handle The IGMP session handle .

-group_member_handle The IGMP group member handle.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log If status is failure, detailed information pro-
vided.

EXAMPLES See files starting with IGMPv1_, IGMPv2_, or IGMPv3_ in the


Samples subdirectory. See the IGMP example in Appendix A,
"Example APIs," for one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 8-5


IGMPvX APIs
8

NAME — ::ixia::emulation_igmp_group_config

DESCRIPTION This procedure will configure multicast group ranges for a simulated IGMP Host.
Note that IGMP is only supported on ports with CPUs.

SYNOPSIS ::ixia::emulation_igmp_group_config
-mode CHOICES create modify delete clear_all
-session_handle
-group_pool_handle
-source_pool_handle
-handle
-no_write
-reset

ARGUMENTS

-session_handle IGMP Host handle on which to configure the IGMP group ranges.

-group_pool_handle Groups to be linked to the session in create mode. The group pool must be added
beforehand through procedure

-emulation_multicast_
group_config.

-source_pool_handle Associate source pool(s) with group(s). Specify one or more source pool han-
dle(s) for (S,G) entries. None for (*,G) entries. The source pool(s) must be added
beforehand through procedure

-emulation_multicast_
source_config.

-handle Group membership handle that associates group pools with an IGMP session. If
modify mode, membership handle must be used in conjunction with session han-
dle to identify the multicast group pools.

-mode This option defines the action to be taken. Valid choices are:

Value Usage
create N/A
delete N/A
modify N/A
clear_all N/A

-no_write If this option is present, the protocol configuration will not be written to the
server.

-reset If the -mode is create and this option exists, then any existing group ranges will
be deleted before creating new ones.

8-6 HLTAPI Commands, Release 2.80 Rev. B


IGMPvX APIs

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion
handle The handle for the group member created
group_pool_handle The group_pool_handle used for creating the
group member
source_pool_handle The source_pool_handles used for creating
the group member

EXAMPLES See files starting with IGMPv1_, IGMPv2_, or IGMPv3_ in the


Samples subdirectory. See the IGMP example in Appendix A,
"Examples APIs," for one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 8-7


IGMPvX APIs
8

NAME — ::ixia::emulation_igmp_info

DESCRIPTION This procedure gathers IGMP and IGMPoPPP statistics

SYNOPSIS ::ixia::emulation_igmp_info
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
[-type CHOICES igmp igmp_over_ppp
DEFAULT igmp_over_ppp]
[-mode CHOICES aggregate group all
DEFAULT aggregate]

ARGUMENTS

-port_handle This parameter must be provided when -type is "igmp_over_ppp".

-type The type of statistics to be gathered. Valid choices are:

Value Usage

igmp statistics gathered from IxRouter/IxNetwork


for the igmp sessions configured using
emulation_igmp_config (not implemented yet)
igmp_over_ppp (default) statistics gathered from IxAccess for
the igmp hosts configured using pppox_config

-mode The statistics that should be retrieved for igmp over ppp.

Valid choices are:


<port_handle>.igmpoppp.aggregate.rx.mc_groups_query

Value Usage

aggregate aggregate stats


group per group stats
all both aggregate and per group stats.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is failure, contains more informa-
tion
<port_handle>.igmpoppp.aggre-
gate.tx.mc_groups_query
<port_handle>.igmpoppp.aggre-
gate.rx.mc_groups_query
<port_handle>.igmpoppp.aggre-
gate.tx.mc_groups_report
<port_handle>.igmpoppp.aggre-
gate.rx.mc_groups_report
<port_handle>.igmpoppp.aggre-
gate.tx.mc_groups_leave
<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.min_
join_latency

8-8 HLTAPI Commands, Release 2.80 Rev. B


IGMPvX APIs

Key Value

<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.avg_
join_latency
<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.max_
join_latency
<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.min_
leave_latency
<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.avg_
leave_latency
<port_handle>.igmpoppp.group.<mc_
group_id>.<mc_group_addr>.rx.max_
leave_latency

EXAMPLES

SAMPLE INPUT

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 8-9


IGMPvX APIs
8

8-10 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs
9
Chapter 9:

This chapter covers the following topics:

• ::ixia::emulation_isis_config on page 9-2.

• ::ixia::emulation_isis_topology_route_config on page 9-10.

• ::ixia::emulation_isis_control on page 9-18.

HLTAPI Commands, Release 2.80 Rev. B 9-1


ISIS APIs
9

NAME — ::ixia::emulation_isis_config

DESCRIPTION This procedure configures ISIS routers on an Ixia interface. The user can create a
single or multiple ISIS routers. These routers can be either L1, L2, or L1L2.

SYNOPSIS ::ixia::emulation_isis_config
-mode CHOICES create modify
delete disable enable
-port_handle
[-handle]
[-ip_version CHOICES 4 6 4_6]
[-area_id]
[-system_id]
[-count]
[-intf_ip_addr IP]
[-intf_ip_prefix_length RANGE 1-32]
[-intf_ip_addr_step IP]
[-intf_ipv6_addr IP]
[-intf_ipv6_prefix_length RANGE 1-128]
[-intf_ipv6_addr_step IP]
[-intf_metric RANGE 0-16777215]
[-wide_metrics CHOICES 0 1]
[-routing_level CHOICES L1 L2 L1L2]
[-discard_lsp CHOICES 0 1]
[-l1_router_priority RANGE 0-255]
[-l2_router_priority RANGE 0-255]
[-attach_bit CHOICES 0 1]
[-partition_repair CHOICES 0 1]
[-overloaded CHOICES 0 1]
[-graceful_restart CHOICES 0 1]
[-graceful_restart_mode CHOICES normal
restarting starting helper]
[-graceful_restart_restart_time]
[-hello_password CHOICES 0 1]
[-area_authentication_mode CHOICES null text]
[-area_password]
[-domain_authentication_mode CHOICES null text]
[-domain_password]
[-te_enable CHOICES 0 1]
[-te_router_id IP]
[-te_metric RANGE 1-2147483647]
[-te_admin_group RANGE 1-2147483647]
[-te_max_bw NUMERIC]
[-te_max_resv_bw NUMERIC]
[-te_unresv_bw_priority0 NUMERIC]
[-te_unresv_bw_priority1 NUMERIC]
[-te_unresv_bw_priority2 NUMERIC]
[-te_unresv_bw_priority3 NUMERIC]
[-te_unresv_bw_priority4 NUMERIC]
[-te_unresv_bw_priority5 NUMERIC]
[-te_unresv_bw_priority6 NUMERIC]
[-te_unresv_bw_priority7 NUMERIC]
[-hello_interval RANGE 1-65535]
[-lsp_life_time RANGE 1-65535]
[-lsp_refresh_interval RANGE 1-65535]
[-max_packet_size RANGE 576-32832]

9-2 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

[-vlan_id RANGE 0-4095]


[-vlan_id_mode CHOICES fixed increment]
[-vlan_id_step RANGE 0-4096]
[-vlan_user_priority RANGE 0-7]
[-vpi RANGE 0-255]
[-vci RANGE 0-65535]
[-vpi_step RANGE 0-255]
[-vci_step RANGE 0-65535]
[-gateway_ip_addr IP]
[-gateway_ip_addr_step IP]
[-graceful_restart_version CHOICES draft3 draft4]
[-intf_type CHOICES broadcast ptop]
[-mac_address_init]
[-no_write FLAG]
[-reset CHOICES 0 1]
[-system_id_step]
[-vlan CHOICES 0 1]
-router_id
-multi_topology
-csnp_interval
-psnp_interval
-holding_time
-router_id_step

ARGUMENTS

-mode Valid choices are:

Value Usage

create Creates the OSPF router on the Ixia interface.


modify Modifies the OSPF router on the Ixia inter-
face.
delete Deletes the OSPF router on the Ixia interface.
disable The OSPF router will be disabled.
enable Enables the OSPF router on the Ixia inter-
face.

-port_handle Ixia Interface where to act upon.

-handle ISIS session handle for using the modes delete, modify, enable and disable

-ip_version Choices are 4, 6, and 4_6. When 4_6 is selected, wide_metrics is enabled auto-
matically.

(DEFAULT = 4)

-area_id The area address to be used for the ISIS router.

-system_id A system ID is typically 6-octet long.

-count The number of ISIS routers to configure on the targeted Ixia interface. The range
is 0-1000.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 9-3


ISIS APIs
9
-intf_ip_addr The IP address of the Ixia Simulated ISIS router. If -count is > 1, this IP address
will increment by value specified in -intf_ip_addr_step.

(DEFAULT = 178.0.0.1)

-intf_ip_prefix_length Defines the mask of the IP address used for the Ixia (-intf_ip_addr) and the DUT
interface. The range of the value is 1-32.

(DEFAULT = 24)

-intf_ip_addr_step This value will be used for incrementing the IP address of Simulated ISIS router
if -count is > 1.

(DEFAULT = 0.0.1.0)

-intf_ipv6_addr The IPv6 address of the Ixia Simulated ISIS router. If -count is > 1, this IPv6
address will increment by the value specified in -intf_ipv6_addr_step.

(DEFAULT = 4000::1)

-intf_ipv6_prefix_length Defines the mask of the IPv6 address used for the Ixia (-intf_ipv6_addr) and the
DUT interface. Valid range is 1-128.

(DEFAULT = 64)

-intf_ipv6_addr_step This value will be used for incrementing the IPV6 address of Simulated ISIS
router if -count is > 1.

(DEFAULT = 0:0:0:1::0)

-intf_metric The cost metric associated with the route. Valid range is 0-16777215.

-wide_metrics If true (1), enable wide style metrics.

-routing_level Selects the supported routing level. Valid choices are:

Value Usage
L1 L1 only
L2 L2 only
L1L2 L1 and L2

-discard_lsp If 1, discards all LSPs coming from the neighbor which helps scalability.

-l1_router_priority The session routers priority number for L1 DR role.

-l2_router_priority The session routers priority number for L2 DR role.

-attach_bit For L2 only. If 1, indicates that the AttachedFlag is set. This indicates that this
ISIS router can use L2 routing to reach other areas.

-partition_repair If 1, enables the optional partition repair option specified in ISO/IEC 10589 and
RFC 1195 for Level 1 areas.

-overloaded If 1, the LSP database overload bit is set, indicating that the LSP database on this
router does not have enough memory to store a received LSP.

-graceful_restart If true (1), enable Graceful Restart (NSF) feature on the session router.

9-4 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

-graceful_restart_mode Valid choices are:

Value Usage

normal (default) The router operates as a normal


router.
restarting The router simulates a restarting router. It
sends an IIH containing a Restart TLV with
the RR bit set to the neighbor routers.
Starting The router simulates a starting router. It
sends an IIH containing a Restart TLV with
SA bit set to the neighbor routers.
Helper The router acts as the ìhelperî for the DUT
that is restarting. It acknowledges the
Restart TLV sent by the DUT by sending an
IIH containing a Restart TLV with the RA bit
set.

-graceful_restart_restart_ The amount of time that the router will wait for restart completion.
time

-hello_password If true (1), enable circuit authentication in hello pkts. L1 uses area password, L2
uses domain password.

-area_authentication_ Specifies the area authentication mode. Choices are null and text.
mode

-area_password The password used in simple text authentication mode. This is used by L1 rout-
ing.

-domain_authentication_ Specifies the domain authentication mode. Choices are null and text.
mode

-domain_password The password used in simple text authentication mode. This is used by L2 rout-
ing.

-te_enable If true (1), enable traffic engineering extension.

-te_router_id The ID of the TE router, usually the lowest IP address on the router.

-te_metric The traffic engineering metric, used for both L1 and L2 routes.

-te_admin_group The administrative group associated with the traffic engineering.

-te_max_bw The maximum bandwidth to be advertised.

-max_reservable_ The maximum reservable bandwidth to be advertised.


bandwidth

-unreserved_bandwidth_ The unreserved bandwidth for priority 0 to be advertised.


priority0

-unreserved_bandwidth_ The unreserved bandwidth for priority 1 to be advertised.


priority1

-unreserved_bandwidth_ The unreserved bandwidth for priority 2 to be advertised.


priority2

HLTAPI Commands, Release 2.80 Rev. B 9-5


ISIS APIs
9
-unreserved_bandwidth_ The unreserved bandwidth for priority 3 to be advertised.
priority3

-unreserved_bandwidth_ The unreserved bandwidth for priority 4 to be advertised.


priority4

-unreserved_bandwidth_ The unreserved bandwidth for priority 5 to be advertised.


priority5

-unreserved_bandwidth_ The unreserved bandwidth for priority 6 to be advertised.


priority6

-unreserved_bandwidth_ The unreserved bandwidth for priority 7 to be advertised.


priority7

-hello_interval The frequency of transmitting L1/L2 Hello PDUs.

-lsp_life_time The maximum age in seconds for retaining a learned LSP.

-lsp_refresh_interval The rate at which LSPs are resent. Unit is in seconds.

-max_packet_size The maximum IS-IS packet size that will be transmitted. Hello packets are also
padded to the size. Valid range is 576-32832.

-vlan_id If VLAN is enabled on the Ixia interface, this option will configure the VLAN
number.

(DEFAULT = 100)

-vlan_id_mode If the user configures more than one interface on the Ixia with VLAN, he can
choose to automatically increment the VLAN tag (increment)or leave it idle for
each interface (fixed).

(DEFAULT = increment)

-vlan_id_step If the -vlan_id_mode is increment, this will be the step value by which the VLAN
tags are incremented.

(DEFAULT = 1)

-vlan_user_priority VLAN user priority assigned to emulated router node.

(DEFAULT = 0)

-vpi VPI for emulated router node.

(DEFAULT = 1)

-vci VCI for emulated router node.

(DEFAULT = 10)

-vpi_step The step value used for incrementing the -vpi option.

(DEFAULT = 1)

-vci_step The step value used for incrementing the -vci option.

(DEFAULT = 1)

9-6 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

-gateway_ip_addr The gateway IP address.

(DEFAULT = 0.0.0.0)

-gateway_ip_addr_step The gateway IP address increment value.

(DEFAULT = 0.0.1.0)

-graceful_restart_version Specify which draft to use: draft3 draft4.

-intf_type Indicates the type of network attached to the interface: broadcast or ptop.

-mac_address_init This option defines the MAC address that will be configured on the Ixia inter-
face. If is -count > 1, this MAC address will increment by default by step of 1.

(DEFAULT = 0000.0000.0001)

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-reset If this option is selected, this will clear any OSPF router on the targeted interface.

-system_id_step If -count > 1, this value is used to increment the system_id.

(DEFAULT = 1)

-vlan Will enable/disable VLAN on the interface to be configured.

(DEFAULT = 0)

-router_id

-multi_topology

-csnp_interval

-psnp_interval

-holding_time

-router_id_step

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
handle list of router node handles

EXAMPLES See files starting with ISIS_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of ISIS usage. See the ISIS example
in Appendix A, "Example APIs," for one specific example
usage.

SAMPLE INPUT

HLTAPI Commands, Release 2.80 Rev. B 9-7


ISIS APIs
9
SAMPLE OUTPUT {status $::SUCCESS} {isis_nodes {router1 router2 router3
router4}}

NOTES This function does not support the following return values:

neighbor.<neighbor_handle>

. area_id

. system_id

. pseudonode_num

. intf_ip_addr

. intf_ipv6_addr

link_local_ipv6_addr

link_local_ipv6_prefix_length

pseudonode_num

The following fields are used in creating a protocol interface. They are applica-
ble only when mode = create.

ip_version

intf_ip_addr

intf_ip_prefix_length

intf_ip_addr_step

intf_ipv6_addr

intf_ipv6_prefix_length

intf_ipv6_addr_step

vlan

vlan_id

vlan_id_mode

vlan_idstep

vlan_user_priority

vpi

vci

vpi_step

vci_step

gateway_ip_addr IP

gateway_ip_addr_step IP

9-8 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

mac_address_init

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 9-9


ISIS APIs
9

NAME — ::ixia::emulation_isis_topology_route_config

DESCRIPTION This procedure creates/modifies/deletes ISIS route(s) to a particular simulated


ISIS router Ixia Interface. The user can configure the properties of the ISIS
routes.

SYNOPSIS ::ixia::emulation_isis_topology_route_config
-mode CHOICES create modify delete
-handle
[-elem_handle]
[-type CHOICES router grid stub
external]
[-ip_version CHOICES 4 6 4_6]
[-router_system_id]
[-router_id IP]
[-router_area_id]
[-router_te CHOICES 0 1]
[-router_connect]
[-link_narrow_metric RANGE 0-63]
[-link_wide_metric RANGE 0-16777215]
[-link_ip_addr IP]
[-link_ip_prefix_length RANGE 1-32]
[-link_ipv6_addr IP]
[-link_ipv6_prefix_length RANGE 1-128]
[-link_multi_topology CHOICES 1]
[-link_enable CHOICES 0 1]
[-link_te CHOICES 0 1]
[-link_te_max_bw NUMERIC]
[-link_te_max_resv_bw NUMERIC]
[-link_te_unresv_bw_priority0 NUMERIC]
[-link_te_unresv_bw_priority1 NUMERIC]
[-link_te_unresv_bw_priority2 NUMERIC]
[-link_te_unresv_bw_priority3 NUMERIC]
[-link_te_unresv_bw_priority4 NUMERIC]
[-link_te_unresv_bw_priority5 NUMERIC]
[-link_te_unresv_bw_priority6 NUMERIC]
[-link_te_unresv_bw_priority7 NUMERIC]
[-link_te_admin_group RANGE 1-2147483647]
[-grid_row NUMERIC]
[-grid_col NUMERIC]
[-grid_stub_per_router NUMERIC]
[-grid_router_id IP]
[-grid_router_id_step IP]
[-grid_link_type CHOICES broadcast ptop]
[-grid_ip_start IP]
[-grid_ip_pfx_len RANGE 1-32]
[-grid_ip_step IP]
[-grid_ipv6_start IP]
[-grid_ipv6_pfx_len RANGE 1-128]
[-grid_ipv6_step IP]
[-grid_start_te_ip IP]
[-grid_start_system_id REGEXP ^[0-9,a-f,A-F]+$]
[-grid_connect]
[-grid_te CHOICES 0 1]
[-stub_ip_start IP]
[-stub_ip_pfx_len RANGE 1-32]

9-10 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

[-stub_ipv6_start IP]
[-stub_ipv6_pfx_len RANGE 1-128]
[-stub_count NUMERIC]
[-stub_metric NUMERIC]
[-stub_up_down_bit CHOICES 0 1]
[-external_ip_start IP]
[-external_ip_pfx_len RANGE 1-32]
[-external_ip_step IP]
[-external_ipv6_start IP]
[-external_ipv6_pfx_len RANGE 1-128]
[-external_ipv6_step IP]
[-external_count NUMERIC]
[-external_metric NUMERIC]
[-external_up_down_bit CHOICES 0 1]
[-external_connect]
[-router_link_type CHOICES broadcast ptop]
[-grid_router_metric NUMERIC]
[-grid_router_ip_pfx_len RANGE 1-128]
[-grid_router_up_down_bit CHOICES 0 1]
[-grid_router_origin CHOICES stub external]
[-grid_te_metric NUMERIC]
[-grid_te_admin RANGE 1-2147483647]
[-grid_te_max_bw NUMERIC]
[-grid_te_unresv_bw_priority2 NUMERIC]
[-grid_te_unresv_bw_priority3 NUMERIC]
[-grid_te_unresv_bw_priority4 NUMERIC]
[-grid_te_unresv_bw_priority5 NUMERIC]
[-grid_te_unresv_bw_priority6 NUMERIC]
[-grid_te_unresv_bw_priority7 NUMERIC]
[-grid_system_id_step REGEXP ^[0-9,a-f,A-F]+$]
[-grid_interface_metric NUMERIC]
[-grid_te_ip_step IP]
[-link_te_metric RANGE 0-16777215]
[-no_write FLAG]
[-router_host_name]
[-router_pseudonode_num]
[-router_routing_level]
[-router_overload_bit]
[-router_attached_bit]
[-router_disconnect]
[-link_external]
[-link_up_down_bit]
[-link_te_remote_ip_addr]
[-link_te_remote_ipv6_addr]
[-grid_connect_session]
[-grid_disconnect]
[-stub_ip_step]
[-stub_ipv6_step]
[-stub_connect]
[-external_metric_type]

HLTAPI Commands, Release 2.80 Rev. B 9-11


ISIS APIs
9
ARGUMENTS

-mode Mode of the procedure call. Valid choices are: create modify delete.

-handle This option represents the handle the user *must* pass to the "emulation_isis_
topology_route_config" procedure. This option specifies on which ISIS router to
configure the ISIS topology. The ISIS router handle(s) are returned by the proce-
dure "emulation_isis_config" when configuring ISIS routers on the Ixia inter-
face.

-elem_handle This option specifies on which topology element to configure the route options.
The user must pass in this option if the -mode is modify or delete.

-type The type of topology route to create. Valid choices are:

Value Usage

router Individual ISIS router.


grid A rectangular grid of ISIS routers.
stub A stub network with a number of reachable
network prefixes.
external An external network with a number of reach-
able network prefixes.

-ip_version The IP version fo the topology element. Valid choices are 4, 6, and 4_6. Note
that the IP version of topology element cannot be changed after it is created.

(DEFAULT 4_6)

-router_system_id This is typically 6-octet long hex characters.

-router_id This is used for traffic engineering.

-router_area_id The list of area addresses to use. An address is a hex string of up to 4 bytes. This
option cannot be modified with modify mode.

-router_te If true (1), enable traffic engineering.

-link_narrow_metric This value is used for link metric if the wide metric is set to false in the router.

-link_wide_metric This value is used for link metric if the wide metric is set to true in the router.

-link_ip_addr IP address of the link between the session router and the topology router (router
behind the session router).

-link_ip_prefix_length IP prefix length of the link between the session router and the topology router
(router behind the session router).

-link_ipv6_addr IPV6 address of the link between the session router and the topology router
(router behind the session router).

-link_ipv6_prefix_length IPV6 prefix length of the link between the session router and the topology router
(router behind the session router).

-link_multi_topology Enable multi-topology (MT) support. (always set to 1)

-link_enable If true (1), enable the link.

9-12 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

-link_te If true (1), enable the traffic engineering on the link.

-link_te_max_bw Maximum bandwidth that can be used on this link expressed as octets per second.

-link_te_max_resv_bw Maximum bandwidth that may be reserved on this link. This may be greater than
the actual max to allow a link to be oversubscribed. It is expressed as octets per
second.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority0 second, not yet reserved at the 0 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 0. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority1 second, not yet reserved at the 1 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 1. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority2 second, not yet reserved at the 2 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 2. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority3 second, not yet reserved at the 3 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 3. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority4 second, not yet reserved at the 4 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 4. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority5 second, not yet reserved at the 5 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 5. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority6 second, not yet reserved at the 6 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 6. The value must be less
than the linke_te_max_resv_bw option.

-link_te_unresv_bw_ If "-line_te" is 1, then this value indicates the amount of bandwidth, in bytes per
priority7 second, not yet reserved at the 7 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 7. The value must be less
than the linke_te_max_resv_bw option.

-link_te_admin_group The administrative group associated with the link, expressed as the decimal
equivalent of 32-bit number. in 4-byte hex format.

-grid_row Define number of rows in a grid.

-grid_col Define number of columns in a grid.

-grid_stub_per_router Define number of stub numbers per router in a grid.

-grid_router_id The IP address of the routes to be advertised per router in a grid.

HLTAPI Commands, Release 2.80 Rev. B 9-13


ISIS APIs
9
-grid_router_id_step The increment to be applied to the network part of grid_router_id between per
node uses.

-grid_link_type Type of links connecting routers in a grid. Choices are: broadcast ptop.

-grid_ip_start The IP address of the first router in a grid.

-grid_ip_pfx_len The number of bits in the network mask of IP address used in a grid.

-grid_ip_step The step between assigned networks in a grid.

-grid_ipv6_start The IPV6 address of the first router in a grid.

-grid_ipv6_pfx_len The number of bits in the network mask of IPV6 address used in a grid.

-grid_ipv6_step The step between assigned networks in a grid.

-grid_start_te_ip If grid_te is true, then this is the TE router ID of the first router in the grid (at
row=0, column=0), in IPv4 format. Routers are assigned individual TE router
IDs by adding the value of the grid_te_ip_step value to each element in the grid,
in a row first manner.

-grid_start_system_id This is the router ID of the first router in the grid (at row = 0, column = 0). It is
specified as a string of 12 hex characters. Range: 000000000000-
FFFFFFFFFFF. Routers are assigned individual router IDs by adding the value
of the grid_system_id_step each element in the grid, in a row first manner.

-grid_connect The session router is connected to a router in the grid at a particular row column
location. This option specifies the row column location.

-grid_te If true (1), enable traffic engineering on the router grid.

-stub_ip_start The IP address of the frist stub network route to be advertised.

-stub_ip_pfx_len The number of bits in the prefixes to be advertised.

-stub_ipv6_start The IPV6 address of the first stub network route to be advertised.

-stub_ipv6_pfx_len The number of bits in the prefixes to be advertised in a IPV6 stub network.

-stub_count The number of prefixes to be advertised for stub network.

-stub_metric The cost metric associated with the stub network route.

-stub_up_down_bit If 1, the route will be distributed down. If 0, the route will be distributed up.

-external_ip_start The IP address of the frist external network route to be advertised.

-external_ip_pfx_len The number of bits in the prefixes to be advertised.

-external_ipv6_start The IPV6 address of the first external network route to be advertised.

-external_ipv6_pfx_len The number of bits in the prefixes to be advertised in a IPV6 external network.

-external_count The number of prefixes to be advertised for external network.

-external_metric The cost metric associated with the external network route.

9-14 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

-external_up_down_bit If 1, the route will be distributed down. If 0, the route will be distributed up.

-router_link_type The type of link between the simulated router and the entry point node and
between all nodes in the grid. Choices are: broadcast and ptop.

-grid_router_metric The cost metric associated with the route advertised by the grid nodes.

-grid_router_ip_pfx_len The number of bits in the prefixes to be advertised by the grid nodes.

-grid_router_up_down_bit This is the up down bit associated with the routes advertised by the grid nodes.
If 1, the route will be distributed down. If 0, the route will be redistributed up.

-grid_router_origin The origin of the routes advertised by the grid nodes. Choices are stub and exter-
nal.

-grid_te_metric The metric associated with the interface that the TE data is advertised on.

-grid_te_admin The administrative group associated with the node in a grid, expressed as the dec-
imal equivalent of 32-bit number.

-grid_te_max_bw The maximum bandwidth to be advertised for all nodes in an ISIS grid.

-grid_te_max_resv_bw The maximum reservable bandwidth to be advertised for all nodes in an ISIS
grid.

-grid_te_unresv_bw_ The unreserved bandwidth for priority0 to be advertised for nodes in a ISIS grid.
priority0

-grid_te_unresv_bw_ The unreserved bandwidth for priority1 to be advertised for nodes in a ISIS grid.
priority1

-grid_te_unresv_bw_ The unreserved bandwidth for priority2 to be advertised for nodes in a ISIS grid.
priority2

-grid_te_unresv_bw_ The unreserved bandwidth for priority3 to be advertised for nodes in a ISIS grid.
priority3

-grid_te_unresv_bw_ The unreserved bandwidth for priority4 to be advertised for nodes in a ISIS grid.
priority4

-grid_te_unresv_bw_ The unreserved bandwidth for priority5 to be advertised for nodes in a ISIS grid.
priority5

-grid_te_unresv_bw_ The unreserved bandwidth for priority6 to be advertised for nodes in a ISIS grid.
priority6

-grid_te_unresv_bw_ The unreserved bandwidth for priority7 to be advertised for nodes in a ISIS grid.
priority7

-grid_system_id_step The value used to increment grid_start_system_id by as each router is assigned a


unique system ID.

-grid_interface_metric The metric for the interface connected to the grid.

-grid_te_ip_step The value used to increment teRouterId by as each router is assigned a unique TE
router ID.

-link_te_metric The metric associated with the interface that the TE data is advertised on.

HLTAPI Commands, Release 2.80 Rev. B 9-15


ISIS APIs
9
-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-router_host_name

-router_pseudonode_num

-router_routing_level

-router_overload_bit

-router_attached_bit

-router_disconnect

-link_external

-link_up_down_bit

-link_te_remote_ip_addr

-link_te_remote_ipv6_addr

-grid_connect_session

-grid_disconnect

-stub_ip_step

-stub_ipv6_step

-stub_connect

-external_metric_type

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On failure, gives detailed information.
elem_handle ISIS topology element handle
version 4 | 6 | 4_6
stub.num_networks number of stub network prefixes
external.num_networks number of external network prefixes
grid.connected_session$session.row row number
grid.connected_session$session.col column number

EXAMPLES See files starting with ISIS_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of ISIS usage. See the ISIS example
in Appendix A, "Example APIs," for one specific example
usage.

SAMPLE INPUT

9-16 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) The stub and external networks cannot be defined inside a grid. They can
added behind a session router.

2) In modfiy mode, if IP address related options are modified, such as, stub_ip_
start, stub_ip_pfx_len, stub_ip_step, then all the related options need to be speci-
fied; otherwise the default settings will be applied.

3) This function does not support the following return values:

key:router.connected_handles <connected_elem_handles>

key:router.$row.$col <router_handle>

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 9-17


ISIS APIs
9

NAME — ::ixia::emulation_isis_control

DESCRIPTION Stop, start or restart the protocol.

SYNOPSIS ::ixia::emulation_isis_control
-mode CHOICES stop start restart
[-handle]
[-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$]
[-advertise]
[-withdraw]
[-flap_routes]
[-flap_count]
[-flap_interval_time]
[-flap_down_time]

ARGUMENTS

-mode Valid choices are:

Value Usage

stop Stop the protocol.


start Start the protocol.
restart Restart the protocol.

-port_handle The port where the IS-IS is to be controlled.

-handle ISIS session handle where the ISIS control action is applied.

-advertise

-withdraw

-flap_routes

-flap_count

-flap_interval_time

-flap_down_time

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, detailed information pro-
vided.

EXAMPLES See files starting with ISIS_ in the Samples subdirectory.


Also see some of the L3VPN, MPLS, and MVPN sample files
for further examples of ISIS usage. See the ISIS example
in Appendix A, "Example APIs," for one specific example
usage.

SAMPLE INPUT

9-18 HLTAPI Commands, Release 2.80 Rev. B


ISIS APIs

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 9-19


ISIS APIs
9

9-20 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs
10
Chapter 10:

This chapter covers the following topics:

• ::ixia::l2tp_config on page 10-2.

• ::ixia::l2tp_control on page 10-11.

• ::ixia::l2tp_stats on page 10-12.

HLTAPI Commands, Release 2.80 Rev. B 10-1


L2TPoX APIs
10

NAME — ::ixia::l2tp_config

DESCRIPTION Configures L2TPoE and L2TPoA sessions and tunnels for the specified test port.
Each port can have upto 32000 sessions and 32000 tunnels.

SYNOPSIS ::ixia::l2tp_config
-port_handle interface
-mode CHOICES lac lns
-l2_encap CHOICES atm_snap atm_vc_mux
atm_snap_ethernet_iiatm_vc_mux_ethernet_ii
ethernet_ii ethernet_ii_vlan
-num_tunnels RANGE 1-32000
-l2tp_src_addr IP
-l2tp_dst_addr IP
[-sessions_per_tunnel RANGE 1-32000]
[-l2tp_src_count RANGE 1-112]
[-l2tp_src_step IP]
[-l2tp_dst_step IP]
[-udp_src_port RANGE 1-65535]
[-udp_dst_port RANGE 1-65535]
[-bearer_capability CHOICES digital analog both]
[-bearer_type CHOICES digital analog]
[-proxy CHOICES 0 1 DEFAULT 1]
[-framing_capability CHOICES sync async both]
[-avp_rx_connect_speed NUMERIC]
[-tunnel_id_start RANGE 1-65535]
[-session_id_start RANGE 1-65535]
[-ppp_client_ip IP]
[-ppp_client_step IP]
[-ppp_server_ip IP]
[-ppp_server_step IPV6 DEFAULT 0::1]
[-vlan_id RANGE 1-4094]
[-vlan_count RANGE 1-4094]
[-vlan_id_step RANGE 1-4094]
[-vlan_user_priority RANGE 0-7]
[-vlan_user_priority_count RANGE 1-8]
[-vlan_user_priority_step RANGE 1-7]
[-vpi]
[-vpi_count RANGE 1-256]
[-vpi_step RANGE 1-256]
[-vci RANGE 32-65535]
[-vci_count RANGE 1-256]
[-vci_step RANGE 1-256]
[-pvc_incr_mode CHOICES vpi vci both]
[-sess_distribution CHOICES next fill]
[-tun_distribution CHOICES next_tunnelfill_
tunnel domain_group]
[-domain_group_map]
[-auth_mode CHOICES none pap chap
pap_or_chap]
[-username]
[-username_wc FLAG]
[-password]
[-password_wc FLAG]
[-wildcard_pound_start RANGE 0-65535]
[-wildcard_pound_end RANGE 0-65535]

10-2 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

[-wildcard_question_start RANGE 0-65535]


[-wildcard_question_end RANGE 0-65535]
[-tun_auth FLAG]
[-hostname]
[-hostname_wc FLAG]
[-secret]
[-secret_wc FLAG]
[-wildcard_bang_start RANGE 0-65535]
[-wildcard_bang_end RANGE 0-65535]
[-wildcard_dollar_start RANGE 0-65535]
[-wildcard_dollar_end RANGE 0-65535]
[-avp_hide FLAG]
[-avp_tx_connect_speed NUMERIC]
[-avp_framing_type NUMERIC]
[-config_req_timeout RANGE 1-65535]
[-attempt_rate RANGE 1-1000]
[-max_outstanding RANGE 2-2000]
[-max_auth_req RANGE 1-65535]
[-auth_req_timeout RANGE 1-65535]
[-max_ipcp_req RANGE 1-65535]
[-ipcp_req_timeout RANGE 1-65535]
[-max_terminate_req RANGE 1-65535]
[-terminate_req_timeout RANGE 1-65535]
[-disconnect_rate RANGE 1-200]
[-echo_req RANGE 0-1]
[-echo_req_interval RANGE 1-65535]
[-echo_rsp RANGE 0-1]
[-enable_magic FLAG]
[-sequence_bit FLAG]
[-length_bit FLAG]
[-offset_bit FLAG]
[-offset_len RANGE 0-255]
[-offset_byte RANGE 0-255]
[-ctrl_chksum FLAG]
[-data_chksum FLAG]
[-hello_req FLAG]
[-hello_interval RANGE 1-65535]
[-redial FLAG]
[-redial_timeout RANGE 1-20]
[-redial_max RANGE 1-20]
[-ctrl_retries RANGE 1-100]
[-init_ctrl_timeout RANGE 1-20]
[-max_ctrl_timeout RANGE 1-20]
[-rws RANGE 1-2048]
[-no_call_timeout RANGE 0-180]
[-ipv6_pool_addr_prefix_len RANGE 0-128 DEFAULT 64]
[-ipv6_pool_prefix ANY DEFAULT ::]
[-ipv6_pool_prefix_len RANGE 0-128 DEFAULT 48]
[-max_configure_req RANGE 1-65535 DEFAULT 10]
[-is_last_subport CHOICES 0 1 DEFAULT 1]

HLTAPI Commands, Release 2.80 Rev. B 10-3


L2TPoX APIs
10
ARGUMENTS

-port_handle The port on which the L2TP sessions and tunnels are to be created.

-mode Whether port will be acting as a LAC or LNS.

-l2_encap Encapsulation type for the ATM and ethernet. Valid choices are:

Value Usage

atm_snap N/A
atm_vc_mux N/A
atm_snap_ethernet_ii N/A
atm_vc_mux_ethernet_ii N/A
ethernet_ii N/A
ethernet_ii_vlan N/A

-num_tunnels Number of tunnels to be configured on the port.

-sessions_per_tunnel Number of sessions per tunnel.

-l2tp_src_addr Base IP address to be used for the local IP interface on the port.

-l2tp_src_count Number of source IP addresses to simulate on the port.

-l2tp_src_step The modifier for the increment -l2tp_src_addr which requires that only one field
contain a non-zero value.

-l2tp_dst_addr Base Destination IP address to be used for setting up tunnel.

-l2tp_dst_step The modifier for the l2tp destination address for multiple destination address.
Only one field contain a non-zero value.

-udp_src_port Source UDP port to be used for tunnels setup.

-udp_dst_port Destination UDP port to be used for tunnels setup.

-bearer_capability Indicates to the DUT the bearer device types for which HLT can accept incoming
calls. One of:

digital: Digital only.

analog: Analog only.

both: Either analog or digital (the two enums are or’d together).

-bearer_type The device type requested by HLT for outgoing calls. One of:

digital: Request digital device capability.

analog: Request analog device capability.

10-4 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

-proxy If true, enables processing of the PROXY related AVPs for LNS operating mode.
One of:

0: false

1: true

DEFAULT 1

-framing_capability Indicates to the DUT the framing types for which HLT can accept incoming
calls. One of:

sync: Synchronous.

async: Asynchronous.

both: Either synchronous or asynchronous (the two enums are or’d together).

DEFAULT sync

-avp_rx_connect_speed The Rx Connect Speed AVP values sent in the ICCN message. Any integer value
may be used.

-tunnel_id_start Starting tunnel ID to be used as local tunnel ID.

-session_id_start Starting session ID to be used as local call ID.

-ppp_client_ip Base IP address of the client IP pool allocated by the LNS. Only valid if the mode
option is set lns.

(DEFAULT = 99.99.0.2 | 0:0:0:0:0:99:99:0:2)

-ppp_client_step Step size to use for allocating client IP addresses. Only valid if the mode option is
set lns.

(DEFAULT = 0.0.0.1 | 0:0:0:0:0:0:0:0:1)

-ppp_server_ip Local IP address of the PPP server. Only valid if the mode is lns.

(DEFAULT = 99.99.0.1 | 0:0:0:0:0:99:99:0:1)

-ppp_server_step The value by which ppp_server_ip is incremented for each session. Only valid if
the mode option is set lns and when -ip_cp is ipv6.

(DEFAULT = 0.0.0.1 | 0:0:0:0:0:0:0:0:1)

-vlan_id Starting VLAN ID, applies to L2TPoE only and if VLAN set to 1.

-vlan_count Number of VLAN IDs, applies to L2TPoE only and if VLAN set to 1.

-vlan_id_step Step value applied to VLAN ID, applies to L2TPoE only and if VLAN = 1.

-vlan_user_priority VLAN user priority, applies to L2TPoE only and if VLAN = 1.

-vlan_user_priority_count Number of VLAN Priority, applies to L2TPoE only and if VLAN = 1.

-vlan_user_priority_step Step value applied to VLAN Priority.

-vpi Starting VPI for PPPoA and PPPoEoA.

HLTAPI Commands, Release 2.80 Rev. B 10-5


L2TPoX APIs
10
-vpi_count Number of VPIs.

-vpi_step Step value applied to VPI, PPPoA and PPPoEoA only.

-vci Starting VCI for PPPoA and PPPoEoA.

-vci_count Number of VCIs.

-vci_step Step value applied to VCI, PPPoA and PPPoEoA only.

-pvc_incr_mode Valid choices are:

Value Usage

vpi Increment VPI first then VCI (all based on the


info configured).
vci Increment first VCI then VPI.
both Increment both VPI and VCI at the same time.

-sess_distribution Sessions are distributed by first filling one tunnel with sessions per tunnel (or one
session per tunnel), then with a round robin between the tunnels. Valid choices
are:

Value Usage

next Sessions are filled in round robin fashion for


all tunnels
fill First sessions are allocated to single tunnel

-tun_distribution Tunnel allocation algorithm. Tunnels can be allocated using two mechanisms at
this time (this may be extended in the future by adding new options, or vendors
can have their own allocation algorithms). Valid choices are:

Value Usage

next_tunnelfill_tunnel In the mode, l2tp_dst_ip specified above is


used as the tunnel destination point. e.g.:
l2tp_src_addr = 10.1.1.1, l2tp_dst_addr =
10.1.1.2, l2tp_src_count = 4, l2tp_src_step
= 0.0.1.0, l2tp_dst_step = 0.0.1.0. The tun-
nels will be created with src/dest as: 10.1.1.1
/ 10.1.1.2, 10.1.2.1 / 10.1.2.2, 10.1.3.1 /
10.1.3.2, 10.1.4.1 / 10.1.4.2.
domain_group_map In this mode tunnel allocation algorithm
depends on the domain group to LNS IP
mapping described as a part of the -domain_
group_map option and please see the exam-
ple there.

-domain_group_map List of domain group to LNS IP mapping. Each domain group can have thou-
sands of domains. With the help of domain group it is very easy to map thou-
sands of domains to one or more LNS IP addresses. Each domain group is
defined as: { { domain_name } {lnsIP1 lnsIP2} }.

Where domain_name is defined as:

{name wc wc_start wc_end <wc_repeat (default 1) >}

10-6 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

- name <string> : name to be used for the domain(s).

- wc {1|0} : enables wildcard substitution in the name field. (default 0)

- wc_start <0-65535> : starting value for wildcard symbol for the name (%) sub-
stitution

- wc_end <0-65535> : ending value for wildcard symbol for the name (%) substi-
tution

- lnsIP <a.b.c.d> : LNS IP address list to be used for this domain.

e.g. Say you want to setup 20 domains. Out of which cisco1.com to cisco10.com
going to 192.1.1.1 & 192.1.1.2 and cisco11.com to cisco20.com going to
192.1.2.1. Also assume number of sessions per tunnel is 5. Your domain group
list will look like:

{ { {cisco%.com 1 1 10} {192.1.1.1 192.1.1.2} }

{ {cisco%.com 1 11 20} {192.1.2.1} } }

Tunnel Allocation will look like this:

Sessions 1-5, tunnel1 dst 192.1.1.1;

Sessions 5-10, tunnel2 dst 192.1.1.2;

Sessions 11-15, tunnel3 dst 192.1.2.1;

Sessions 16-20, tunnel4 dst 192.1.2.1.

-auth_mode Authentication mode. Valid choices are:

Value Usage

none N/A
pap N/A
chap N/A
pap_or_chap Accept both pap and chap offered by DUT.

-username Username, PAP, and CHAP only.

-username_wc Enables wildcard substitution in the username field.

-password Password, PAP, and CHAP only.

-password_wc Enables wildcard substituation in the password field.

-wildcard_pound_start Starting value for wildcard symbol 1 (\#) substitution. It is also valid to use # as
the substitution symbol.

-wildcard_pound_end Ending value for wildcard symbol 1 (\#) substitution. It is also valid to use # as
the substitution symbol.

-wildcard_question_start Starting value for wildcard symbol 2 (?) substitution.

-wildcard_question_end Ending value for wildcard symbol 2 (?) substitution.

-tun_auth Enable tunnel authentication during the tunnel setup.

HLTAPI Commands, Release 2.80 Rev. B 10-7


L2TPoX APIs
10
-hostname Hostname to be used during the tunnel setup. Note that a range of hostname can
be setup using the autoincrement feature. See option -hostname_wc.

-hostname_wc Enables wildcard substitution in the hostname field.

-secret Secret to be used during the tunnel setup. Note that a range of secret can be setup
using the autoincrement feature. See option -secret_wc.

-secret_wc Enables wildcard substitution in the secret field.

-wildcard_bang_start Starting value for wildcard symbol 1 (!) substitution.

-wildcard_bang_end Ending value for wildcard symbol 1 (!) substitution.

-wildcard_dollar_start Starting value for wildcard symbol 2 ($) substitution.

-wildcard_dollar_end Ending value for wildcard symbol 2 ($) substitution.

-avp_hide Enable hiding of the AVPs in the L2TP control messages.

-avp_tx_connect_speed AVP value to be sent as tx connect speed

-avp_framing_type AVP value to be sent as framing type

-config_req_timeout Specifies the timeout value in seconds for acknowledgement of a Configure


Request or Terminate Request.

-attempt_rate Specifies the rate in attempts/second at which attempts are made to bring up ses-
sions.

-max_outstanding Specifies the maximum number of sessions in progress, which includes the ses-
sions in the process of either coming up or disconnecting, at one time.

-max_auth_req Specifies the maximum number of Authentication requests that can be sent with-
out getting an authentication response from the DUT.

-auth_req_timeout Specifies the timeout value in seconds for acknowledgement of an authentication


Request.

-max_ipcp_req Specifies the maximum number of IPCP configure requests that can be sent with-
out getting an ack from the DUT.

-ipcp_req_timeout Specifies the timeout value in seconds for acknowledgement of an IPCP config-
ure request.

-max_terminate_req Specifies the maximum number of Terminate Requests that can be sent without
acknowledgement.

-terminate_req_timeout Specifies the timeout value in seconds for acknowledgement of a Terminate


Request.

-disconnect_rate Specifies the rate in disconnects/s at which sessions are disconnected.

-echo_req When set to 1, enables Echo Requests, when set to 0, disables Echo Requests.

-echo_req_interval Specifies the time interval in seconds for sending LCP echo requests. Valid only
if -echo_req is set to 1.

10-8 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

-echo_rsp When set to 0, disabled sending of the echo Responses, when set to 1, enables
Echo Replies. Default enabled. This can be used to do some negative testing.

-enable_magic Enables or disables negotiaton of magic numbers.

-sequence_bit Enable sequence numbering for the L2TP data messages.

-length_bit Enable sedning of the length field in the L2TP data messages.

-offset_bit Enable sending of the offset field in the L2TP data messages.

-offset_len If the -offset_bit is set to 1, this option controls number of bytes (specified by the
-offset_byte option) to be inserted in after the L2TP data message header.

-offset_byte This is the value inserted in the offset field, if enabled by -offset_bit and -offset_
len option.

-ctrl_chksum Enable sending the valid UDP checksum in the L2TP control messages.

-data_chksum Enable sending the valid UDP checksum in the L2TP data messages.

-hello_req Enable sending of the hello request.

-hello_interval Time interval between sending of the hello request. Only applicable if the -hello_
req is set to 1.

-redial Enable redialling of the session if the session drops after establishment due to
any reason other than operator initiated teardown.

-redial_timeout Number of seconds to wait between successive redial attempts.

-redial_max Number of times to redial before declaring it failure.

-ctrl_retries Number of times to retry a L2TP control message.

-init_ctrl_timeout Initial timeout for L2TP control message.

-max_ctrl_timeout Maximum timeout for L2TP control message.

-rws Receive window size.

-no_call_timeout Number of seconds to wait before tearing down the tunnels when the last sesision
on the tunnel goes down.

-ipv6_pool_addr_prefix_ The IPv6 address prefix length.


len
(DEFAULT = 64)

-ipv6_pool_prefix The IPv6 pool prefix.

(DEFAULT = ::)

-ipv6_pool_prefix_len The IPv6 pool prefix length. Subtracting this from the address prefix length pro-
vides the size of the PPP IP pool.

(DEFAULT = 48)

HLTAPI Commands, Release 2.80 Rev. B 10-9


L2TPoX APIs
10
-max_configure_req The number of retries to be used for LCP negotiation.

Any integer value may be used.

(DEFAULT = 10)

-is_last_subport When being used it will add a subport to the configuration. The routine needs to
know when this is the last subport being done in the configuration, which will
cause the configurations to be written to hardware. This can only occur once
within IxAccess. The choice are 0 and 1 with 1 being the default.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


handles <l2tp handles>
log When status is failure, contains more informa-
tion

EXAMPLES Examples for L2TP will be coming in the next release.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

10-10 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

NAME — ::ixia::l2tp_control

DESCRIPTION Start, stop or restart the l2tpox sessions and tunnels.

SYNOPSIS ::ixia::l2tp_control
-handle interface
-action CHOICES connect disconnect reset clear pause
resume retry

ARGUMENTS

-handle The port where the L2TPoX sessions are to be created.

-action Action to be executed. Valid choices are:

Value Usage
connect Brings up configured sessions.
disconnect Tears down established sessions.
reset Aborts all L2TPoX sessions and resets the
L2TP emulation engine on the specified
device. A session is not notified of termina-
tion, and a Terminate Request packet is not
sent to the peers.
clear Clears the status and statistics.
pause Pauses all the sessions.
resume Resumes all the sessions.
retry Attempts to connect sessions that have previ-
ously failed to establish.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, detailed information pro-
vided.

EXAMPLES Examples for L2TP will be coming in the next release.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) Clear action has not been implemented yet.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 10-11


L2TPoX APIs
10

NAME — ::ixia::l2tp_stats

DESCRIPTION Retrieves statistics for the L2TPoX sessions configured on the

specified test port.

SYNOPSIS ::ixia::l2tp_stats
-handle interface
-mode CHOICES aggregate session tunnel
[-csv_filename

ARGUMENTS

-handle The port for which the L2TPoX sessions statistics needs to be retrieved.

-mode Specifies statistics retrieval mode as either aggregate for all configured sessions
or on a per session basis. Valid choices are:

Value Usage

aggregate Retrieve statistics for all the sessions.


session Retrieve statistics for each individual session.
tunnel Retrieve statistics for each individual tunnel.

-csv_filename The .csv filename that can be created under HLT library install folder and where
per session stats can be found.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, detailed information pro-
vided.
aggregate.idle
aggregate.connecting
aggregate.connected
aggregate.disconnecting
aggregate.atm_mode
aggregate.num_sessions
aggregate.connect_attempts
aggregate.connect_success
aggregate.disconnect_success
aggregate.sessions_up
aggregate.sessions_down
aggregate.disconnect_failed
aggregate.min_setup_time
aggregate.max_setup_time
aggregate.avg_setup_time
aggregate.success_setup_rate
aggregate.lcp_cfg_req_rx
aggregate.lcp_cfg_req_tx

10-12 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

Key Value
aggregate.lcp_cfg_rej_rx
aggregate.lcp_cfg_rej_tx
aggregate.lcp_cfg_ack_rx
aggregate.lcp_cfg_ack_tx
aggregate.lcp_cfg_nak_rx
aggregate.lcp_cfg_nak_tx
aggregate.term_req_rx
aggregate.term_req_tx
aggregate.term_ack_rx
aggregate.term_ack_tx
aggregate.echo_req_rx
aggregate.echo_rsp_tx
aggregate.zlb_tx
aggregate.sccrp_tx
aggregate.scccn_tx
aggregate.sccrp_tx
aggregate.stopccn_tx
aggregate.hello_tx
aggregate.icrq_tx
aggregate.icrp_tx
aggregate.iccn_tx
aggregate.cdn_tx
aggregate.wen_tx WAN-Error-Notify
aggregate.sli_tx Set-Link-Info
aggregate.zlb_rx
aggregate.sccrp_rx
aggregate.scccn_rx
aggregate.sccrp_rx
aggregate.stopccn_rx
aggregate.hello_rx
aggregate.icrq_rx
aggregate.icrp_rx
aggregate.iccn_rx
aggregate.cdn_rx
aggregate.wen_rx WAN-Error-Notify
aggregate.sli_rx Set-Link-Info
aggregate.out_of_order_rx Number of packet rx out of sequence
aggregate.out_of_win_rx Number of packets rx outside window
aggregate.duplicate_rx Number of duplicate packet received
aggregate.in_order_rx Number of in order packet received
aggregate.retransmits Number of retransmitted messages
aggregate.tx_pkt_acked Number of tx packets acked by peer
session.<session ID>.icrq_tx

HLTAPI Commands, Release 2.80 Rev. B 10-13


L2TPoX APIs
10

Key Value
session.<session ID>.icrp_tx
session.<session ID>.iccn_rx
session.<session ID>.cdn_tx
session.<session ID>.icrq_rx
session.<session ID>.icrp_rx
session.<session ID>.iccn_tx
session.<session ID>.cdn_rx
session.<session ID>.tx_pkt_acked Num of tx packet ack by peer
session.<session ID>.lcp_cfg_req_rx
session.<session ID>.lcp_cfg_req_tx
session.<session ID>.lcp_cfg_rej_rx
session.<session ID>.lcp_cfg_rej_tx
session.<session ID>.lcp_cfg_ack_rx
session.<session ID>.lcp_cfg_ack_tx
session.<session ID>.lcp_cfg_nak_rx
session.<session ID>.lcp_cfg_nak_tx
session.<session ID>.pap_auth_req_tx
session.<session ID>.pap_auth_ack_rx
session.<session ID>.pap_auth_nak_rx
session.<session ID>.chap_auth_chal_
rx
session.<session ID>.chap_auth_rsp_
tx
session.<session ID>.chap_auth_
succ_rx
session.<session ID>.chap_auth_fail_
rx
session.<session ID>.ipcp_cfg_req_rx
session.<session ID>.ipcp_cfg_req_tx
session.<session ID>.ipcp_cfg_ack_rx
session.<session ID>.ipcp_cfg_ack_tx
session.<session ID>.ipcp_cfg_nak_rx
session.<session ID>.ipcp_cfg_nak_tx
session.<session ID>.ipcp_cfg_rej_rx
session.<session ID>.ipcp_cfg_rej_tx
session.<session ID>.term_req_rx
session.<session ID>.term_req_tx
session.<session ID>.term_ack_rx
session.<session ID>.term_ack_tx
session.<session ID>.echo_req_rx
session.<session ID>.echo_rsp_tx
tunnel.<tunnel ID>.zlb_tx
tunnel.<tunnel ID>.sccrp_tx
tunnel.<tunnel ID>.scccn_tx

10-14 HLTAPI Commands, Release 2.80 Rev. B


L2TPoX APIs

Key Value
tunnel.<tunnel ID>.sccrp_tx
tunnel.<tunnel ID>.stopccn_tx
tunnel.<tunnel ID>.hello_tx
tunnel.<tunnel ID>.icrq_tx
tunnel.<tunnel ID>.icrp_tx
tunnel.<tunnel ID>.iccn_tx
tunnel.<tunnel ID>.cdn_tx
tunnel.<tunnel ID>.wen_tx WAN-Error-Notify
tunnel.<tunnel ID>.sli_tx Set-Link-Info
tunnel.<tunnel ID>.zlb_rx
tunnel.<tunnel ID>.sccrp_rx
tunnel.<tunnel ID>.scccn_rx
tunnel.<tunnel ID>.sccrp_rx
tunnel.<tunnel ID>.stopccn_rx
tunnel.<tunnel ID>.hello_rx
tunnel.<tunnel ID>.icrq_rx
tunnel.<tunnel ID>.icrp_rx
tunnel.<tunnel ID>.iccn_rx
tunnel.<tunnel ID>.cdn_rx
tunnel.<tunnel ID>.wen_rx WAN-Error-Notify
tunnel.<tunnel ID>.sli_rx Set-Link-Info
tunnel.<tunnel ID>.out_of_order_rx Number of pkt rx out of seq
tunnel.<tunnel ID>.out_of_win_rx Number of pkt rx outside window
tunnel.<tunnel ID>.duplicate_rx Number of duplicate pkt received
tunnel.<tunnel ID>.in_order_rx Number of in order pkt received
tunnel.<tunnel ID>.retransmits Number of retransmitted messages
tunnel.<tunnel ID>.tx_pkt_acked Number of tx pkt acked by peer

EXAMPLES Examples for L2TP will be coming in the the next release.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) Session ID will be local call ID, and tunnel ID will be the local tunnel ID.

2) Per session and per tunnel stats retrieval can take long time.

3) Following stats have not been implemented yet:

aggregate.disconnecting

aggregate.connect_attempts

aggregate.disconnect_success

HLTAPI Commands, Release 2.80 Rev. B 10-15


L2TPoX APIs
10
aggregate.sessions_down

aggregate.disconnect_failed

SEE ALSO

10-16 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs
11
Chapter 11:

This chapter covers the following topics:

• ::ixia::l2tpv3_dynamic_cc_config on page 11-2.

• ::ixia::l2tpv3_session_config on page 11-8.

• ::ixia::l2tpv3_control on page 11-14.

• ::ixia::l2tpv3_stats on page 11-15.

HLTAPI Commands, Release 2.80 Rev. B 11-1


L2TPv3 APIs
11

NAME — ::ixia::l2tpv3_dynamic_cc_config

DESCRIPTION Creates a control connection group. A control connection group has one or more
control connections and there can be one or more connection groups.

SYNOPSIS ::ixia::l2tpv3_dynamic_cc_config
-action CHOICES create delete modify
[-cc_handle]
[-port_handle ^[0-9]+/[0-9]+/[0-9]+$]
[-cc_src_ip IP]
[-cc_ip_mode CHOICES fixed increment]
[-cc_src_ip_step IP]
[-cc_ip_count NUMERIC]
[-cc_src_ip_subnet_mask IP]
[-cc_dst_ip IP]
[-cc_dst_ip_step IP]
[-gateway_ip IP]
[-gateway_ip_step IP]
[-cc_id_start NUMERIC]
[-router_identification_mode CHOICES hostname routerid
both DEFAULT routerid]
[-hostname ALPHANUM]
[-hostname_suffix_start NUMERIC DEFAULT 1]
[-router_id_min RANGE 1-0xFFFFFFFF DEFAULT 1]
[-cookie_size CHOICES 0 4 8 DEFAULT 0]
[-retransmit_retries RANGE 1-1000 DEFAULT 15]
[-retransmit_timeout_max RANGE 1-8 DEFAULT 8]
[-retransmit_timeout_min RANGE 1-8 DEFAULT 1]
[-hidden CHOICES 0 1 DEFAULT 0]
[-authentication CHOICES 0 1 DEFAULT 0]
[-password ALPHANUM DEFAULT "LAB"]
[-hello_interval RANGE 0-1000]
[-base_unconnected_ip IPDEFAULT 0.0.0.0]
[-cc_src_mac]
[-enable_l2_sublayer CHOICES 0 1 DEFAULT 0]
[-enable_unconnected_intf CHOICES 0 1 DEFAULT 0]
[-l2_specific_sublayer CHOICES no_sublayer
ietf_sublayer atm_sublayer]
[-l2tp_variant CHOICES ietf_variant
cisco_variant]
[-message_digest CHOICES no_digest md5_digest
sha1_digest]
[-no_call_timeout NUMERIC DEFAULT 5]
[-num_cell_packed_rx RANGE 1-25 DEFAULT 1]
[-num_cell_packed_tx RANGE 1-4 DEFAULT 1]
[-peer_host_name ANY DEFAULt "IxiaLNS"]
[-peer_router_id NUMERIC DEFAULT 200]
[-redial CHOICES 0 1 DEFAULT 1]
[-redial_max NUMERIC DEFAULT 20]
[-redial_timeout NUMERIC DEFAULT 10]
[-rws RANGE 1-2048 DEFAULT 10]
[-secret_increment_mode CHOICES local_incr
peer_incr]
[-tunnel_setup_role CHOICES active_role
passive_role DEFAULT active_role]
[-tunnel_id_start RANGE 1-65535 DEFAULT 1]

11-2 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

[-cc_src_ip_skip_broadcast CHOICES 0 1]
[-cc_dst_ip_skip_broadcast CHOICES 0 1]
[-cc_dst_ip_subnet_mask IP]
[-cookie NUMERIC]
[-gateway_ip_skip_broadcast CHOICES 0 1]
[-gateway_ip_subnet_mask IP]
[-retransmit_initial_retries RANGE 1-1000]

ARGUMENTS

-action This option defines the action to be taken. Valid choices are:

Value Usage

create Creates a Control Connection group, requires


the use of -port_handle.
delete Deletes a Control Connection group, requires
the use of -cc_handle.
modify Modifies a Control Connection group,
requires the use of -cc_handle.

-cc_handle If -action is delete or modify this option is required to specify the existing control
group. Ignored for other values of -action.

-port_handle If -action is create this option is required to specify the port handle on which the
CC group is configured. Ignored for other values of -action.

-cc_src_ip Source address of the emulated PE router. If cc_src_ip_mode is increment, then


this marks the starting address for the range.

-cc_ip_mode Configure the source IP address to be fixed or increment through a range of val-
ues.

(DEFAULT = fixed)

-cc_src_ip_step This is the value by which src_ip address will be incremented. This is used only
when cc_src_ip_mode is set to "increment".

(DEFAULT = 0.0.0.1)

-cc_ip_count If -cc_ip_mode is set to increment, this option is required to specify the number
of values in IP address range. The option is ignored if -cc_src_ip is set to fixed.
Src/Dst and Gateway IP addresses will have the same number of addresses in the
range.

-cc_src_ip_subnet_mask This option specifies the subnet mask for the source address of the emulated PE
router.

(DEFAULT = 255.255.255.0)

-cc_dst_ip Destination IP address for the for the CC. If a range is specified, the range must
have the same number of IP addresses as the src_ip range.

-cc_dst_ip_step This is the value by which dst_ip address would be incremented. This is used
only when cc_dst_ip_mode is set to "increment".

(DEFAULT = 0.0.0.1)

HLTAPI Commands, Release 2.80 Rev. B 11-3


L2TPv3 APIs
11
-gateway_ip This is the IP address of the next-hop interface for the emulated PE router. The
layer2 header information to next-hop must be discovered from the gateway-ip-
addr through ARP (or similar) mechanism.

-gateway_ip_step This is the value by which gateway_ip address will be incremented. This is used
only when -gateway_ip_mode is set to "increment".

(DEFAULT = 0.0.0.1)

-cc_id_start This is the control connection ID assigned to the connection. If the user doesn't
specify the cc ID to use, a randomly generated number will be used. Specifying
the cc_id_start will allow the user to close a specific control connection at any
time.

-router_identification_ Specifies the method used to identify the LCEE (emulated router) during the con-
mode trol connection. This determines if the "Hostname AVP" or "Router-ID AVP" or
both AVPs are used during control connection establishment.

(DEFAULT = routerid)

-hostname Hostname of the emulated PE. This is used in "Hostname AVP" during the con-
trol connection establishment. The actual hostname for the emulated PE would
be hostname followed by the hostname_suffix_start. The suffix is incremented
by one for each emulated router in case of multiple emulated PEs.

-hostname_suffix_start The actual hostname for the emulated PE would be hostname followed by the
hostname_suffix_start. The suffix is incremented by one for each emulated router
in case of multiple emulated PEs.

(DEFAULT = 1)

-router_id_min If -router_identification_mode is router_id or both this option is required to spec-


ify the ID of the emulated PE. Used in "Router-ID AVP" during cc establish-
ment. If multiple PEs are created, the router_id is incremented by one for each
PE.

(DEFAULT = 1)

-cookie_size Configures the size of the cookie to be used in the L2TP headers.

(DEFAULT = 0)

-retransmit_retries Specifies how many retransmission cycles occur before determining that the peer
provider edge (PE) router does not respond.

(DEFAULT = 15)

-retransmit_timeout_max Specifies the maximum retransmission interval (in seconds) for resending control
packets.

(DEFAULT = 8)

-retransmit_timeout_min Specifies the minimum retransmission interval (in seconds) for resending control
packets.

(DEFAULT = 1)

-hidden Enables L2TP AVP hiding.

11-4 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

-authentication Enables L2TPv3 authentication.

-password Password used for AVP hiding.

(DEFAULT = LAB)

-hello_interval Number of seconds a PE router at one end of an L2TPv3 control channel waits
before sending a hello keepalive packet to its peer PE router.

(DEFAULT = 60)

-base_unconnected_ip This option specifies the ip address of the emulated CE behind the PE specified
by the -cc_src_ip option.

(DEFAULT 0.0.0.0)

-cc_src_mac MAC address to be set on the emulated PE router's interface.

-enable_l2_sublayer Enable l2 specific sublayer or not.

(DEFAULT = 0)

-enable_unconnected_intf This option is used to enable the emulation of a CE router behind the PE router
specified by the -cc_src_ip option.

(DEFAULT = 0)

-l2tp_variant Specifies the variant of L2TPv3 to be used.

(DEFAULT = ietf_variant)

-message_digest Specifies the L2TPv3 message digest algorithm.

(DEFAULT = no_digest)

-no_call_timeout The amount of time, in seconds, that IxAccess waits to receive a L2TP request
for connection. If it does not receive a call within this time, IxAccess ends the
test. An integer value may be used.

(DEFAULT = 5)

-num_cell_packed_rx The maximum number of ATM cells that can be packed in one receive data
packet. Valid values are from 1 to 25. Note that if the value is set to one, there is
no need to send the AVP and it will not be sent in the ICRQ and ICRP messages.

(DEFAULT = 1)

-num_cell_packed_tx The maximum number of ATM cells that can be packed in one transmit data
packet. Valid values are from 1 to 4. The size of a transmitted packet is calcu-
lated as: 32 + 48 * (number of cells packed ñ 1).

(DEFAULT = 1)

-peer_host_name The peer host name, used during tunnel establishment.

(DEFAULT = IxiaLNS)

-peer_router_id The router ID of the peer PE router.

(DEFAULT = 200)

HLTAPI Commands, Release 2.80 Rev. B 11-5


L2TPv3 APIs
11
-redial If true and if the L2TP session goes down, IxAccess will redial the DUT to rees-
tablish the session.

(DEFAULT = 1)

-redial_max The maximum number of attempts IxAccess will make to redial the DUT to rees-
tablish a downed L2TP link. Any integer value is valid.

(DEFAULT = 20)

-redial_timeout The number of seconds that can elapse between attempts to redial the DUT to
reestablish a downed L2TP link. Any integer value is valid.

(DEFAULT = 10)

-rws The size of the sliding window used for managing control message transmission.
The values for this parameter are expressed in units of unacknowledged control
messages. For example, if you set this parameter to 4, the DUT can send control
messages until it has four messages that it is waiting for acknowledgements for;
at that point, it must wait for one or more of the messages to be acknowledged
before it can send any new control messages. Valid values are from 1 to 2048.

(DEFAULT = 10)

-secret_increment_mode The means by which secret should be incremented.

(DEFAULT = local_incr)

-tunnel_setup_role Specifies the L2TPv3 tunnel setup mode.

(DEFAULT = active_role)

-tunnel_id_start The first tunnel ID used. Any ID in the range from 1 to 65535 may be used.

(DEFAULT = 1)

-cc_src_ip_skip_broadcast This flag is applicable only when -cc_src_ip_mode is set to "increment". If this
flag is set, src_ip will skip the network or subnet broadcast address in the speci-
fied address range.

-cc_dst_ip_skip_broadcast This flag is applicable only when -cc_dst_ip_mode is set to "increment". If this
flag is set, dst_ip will skip the network or subnet broadcast address in the speci-
fied address range.

-cc_dst_ip_subnet_mask If -cc_dst_ip_skip_broadcast is set this option is required to specify the subnet


mask to determine the subnet broadcast address.

-fr_dlci_count Specifies the number of dlci values in the range.

-gateway_ip_skip_ This flag is applicable only when -gateway_ip_mode is set to "increment". If this
broadcast flag is set, gateway_ip will skip the network or subnet broadcast address in the
specified address range.

-gateway_ip_subnet_mask If -gateway_ip_skip_broadcast is set this option is required to specify the subnet


mask to determine the subnet broadcast address.

-cookie If -cookie_size is non-zero this option is required to specify the value of the
cookie. The size of the cookie is determined by -cookie_size. If the specified
value is greater than the size of the cookie, an error is returned.

11-6 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

-retransmit_initial_retries Specifies how many SCCRQs are re-sent before giving up on the session.
(DEFAULT = 2)

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, contains more information
handle Control connection group handle

EXAMPLES See files starting with L2TPV3_ in the Samples subdirectory.


See the L2TPv3 example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES 1. Due to IxAccess limitations, only one control connection group per port can be
created.

2. Current parser does not support hex. The following options have RANGE 0-
0xFFFFFFFF. It is changed to NUMERIC.

-router_id_min

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 11-7


L2TPv3 APIs
11

NAME — ::ixia::l2tpv3_session_config

DESCRIPTION Creates a session group, or group of sessions, over the given control connection
group. Each session group represents one or more sessions. These sessions are
created over each control connection.

SYNOPSIS ::ixia::l2tpv3_session_config
-action CHOICES create delete modify
[-session_handle]
[-cc_handle]
[-vcid_start NUMERIC]
[-vcid_mode CHOICES fixed increment
DEFAULT increment]
[-vcid_step NUMERIC DEFAULT 1]
[-num_sessions NUMERIC]
[-session_id_start RANGE 1-65535 DEFAULT 10000]
[-ip_tos CHOICES reflect fixed
DEFAULT reflect]
[-ip_tos_value RANGE 0-255 DEFAULT 0]
[-sequencing_transmit CHOICES 0 1 DEFAULT 0]
[-pw_type CHOICES ethernet dot1q_ethernet
frame_relay atm]
[-mac_src MAC]
[-mac_src_step MAC]
[-mac_dst MAC]
[-mac_dst_step MAC]
[-vlan_id RANGE 1-4094]
[-vlan_id_step RANGE 1-4094]
[-fr_dlci_value NUMERIC]
[-fr_dlci_step NUMERIC]
[-vpi RANGE 0-255]
[-vci RANGE 32-65535]
[-vpi_step NUMERIC]
[-vci_step NUMERIC]
[-pvc_incr_mode CHOICES vpi vci both]
[-qos_rate_mode CHOICES percent pps bps
DEFAULT bps]
[-qos_rate NUMERIC]
[-qos_atm_clp CHOICES 0 1 DEFAULT 0]
[-qos_atm_efci CHOICES 0 1 DEFAULT 0]
[-qos_atm_cr CHOICES 0 1 DEFAULT 0]
[-qos_fr_cr CHOICES 0 1 DEFAULT 0]
[-qos_fr_de CHOICES 0 1 DEFAULT 0]
[-qos_fr_becn CHOICES 0 1 DEFAULT 0]
[-qos_fr_fecn CHOICES 0 1 DEFAULT 0]
[-qos_ipv6_flow_label RANGE 0-1048575 DEFAULT 0]
[-qos_ipv6_traffic_class RANGE 0-255 DEFAULT 0]
[-ip_dfbit CHOICES 0 1]
[-ip_ttl RANGE 0-255]
[-sequencing_receive CHOICES 0 1]
[-vlan_priority RANGE 0-7]
[-fr_address_size CHOICES 2 3 4]

11-8 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

ARGUMENTS

-action This option defines the action to be taken. Valid choices are:

Value Usage

create Creates a session group, requires the use of -


cc_handle.
delete Deletes a session group, requires the use of -
session_handle.
modify Modifies a session group, requires the use of
-session_handle.

-session_handle If -action is delete or modify this option is required to specify the existing session
group. Ignored for other values of -action.

-cc_handle If -action is create this option is required to specify the control group over which
to create the sessions. Ignored for other values of -action.

-vcid_start VCID of the session. Also referred to as remote_end_id. Included in


remote_end_id AVP.

-vcid_mode Configure a single VCID (fixed - 1 session) or a range of VCIDs (increment).


(DEFAULT = increment)

-vcid_step Specify the value by which vcid increments when -vcid_mode is set to incre-
ment.

(DEFAULT = 1)

-num_sessions Number of sessions to be created on the control connection in this session group.

-session_id_start Specify the starting value of session-id to be used for the sessions.

(DEFAULT = 10000)

-ip_tos If this option is set to reflect, the TOS field in CC IP header will reflect the ip-tos
value of the payload IP header. If it is set to fixed, the TOS field in CC IP header
will have the value specified by -ip_tos_value option.

(DEFAULT = reflect)

-ip_tos_value This option is required if -ip_tos is set to fixed. Specifies the value to be used for
IP TOS bits in CC IP header. The option is ignored if -ip_tos is set to reflect.

The combined value for the precedence, delay, throughput,reliability, reserved


and cost bits.

(DEFAULT = 0)

-sequencing_transmit Enables "sequencing" on the transmit side.

-pw_type Specifies the type of attachement circuit.

-mac_src Specifies the source mac address used by the attachement circuit. The
num_sessions and cc_ip_count (from CC group) parameters decide the number
of source mac addresses. Number of source_mac addresses is (cc_ip_count *
num_sessions).

HLTAPI Commands, Release 2.80 Rev. B 11-9


L2TPv3 APIs
11
-mac_src_step Specifies the step value for source mac address. This parameter is used only
when (num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 0000.0000.0001)

-mac_dst Specifies the destination mac address used by the attachement circuit. The
num_sessions and cc_ip_count (from CC group) parameters decide the number
of dst mac addresses. Number of dst mac addresses in the range is (cc_ip_count *
num_sessions).

-mac_dst_step Specifies the step value for destination mac address. This parameter is used only
when (num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 0000.0000.0001)

-vlan_id Specifies the VLAN ID of the attached circuit. The num_sessions and
cc_ip_count (from CC group) parameters decide the number of VLAN IDs to be
used. Number of VLAN IDs is (cc_ip_count * num_sessions).

-vlan_id_step This is the step value for VLAN ID. This parameter is used only when
(num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 1)

-fr_dlci_value Specifies the value of DLCI to be used by the frame relay attachement circuit.
The num_sessions and cc_ip_count (from CC group) parameters decide the num-
ber of DLCIs to be used. Number of DLCIs is (cc_ip_count * num_sessions).

-fr_dlci_step Specifies the step-size for DLCI. This parameter is used only when
(num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 1)

-vpi Specifies the VPI value for the ATM attachment circuit. The num_sessions and
cc_ip_count (from CC group) parameters decide the number of VPI values to be
used. Number of VPI values is (cc_ip_count * num_sessions).

-vci Specifies the VCI value for the ATM attachment circuit. The num_sessions and
cc_ip_count (from CC group) parameters decide the number of VCI values to be
used. Number of VCI values is (cc_ip_count * num_sessions).

-vpi_step Specifies the step value for VPI. This parameter is used only when
(num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 1)

-vci_step Specifies the step value for VCI. This parameter is used only when
(num_sessions * cc_ip_count) > 1. It is ignored otherwise.

(DEFAULT = 1)

-pvc_incr_mode The mode by which the vci and vpi are incremented for each session.

11-10 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

-qos_rate_mode The means by which line rates will be specified. Valid choices are:

Value Usage

percent The line rate is expressed in percentage of


maximum
line rate. N/A
pps The line rate is expressed in packets per sec-
ond.
bps The line rate is expressed in bits per second.
(DEFAULT = bps) N/A

-qos_rate This is the data rate setting expressed. Default values are:

5000000 - when -qos_rate_mode bps

1000 - when -qos_rate_mode pps

100 - when -qos_rate_mode percentage

This rate represents the aggregated rate for all sessions belonging to the group.

-qos_atm_clp The setting of the congestion loss priority bit.

Valid only if pw_type atm.

(DEFAULT = 0)

-qos_atm_efci The setting of the explicit forward congestion indication bit.

Valid only if pw_type atm.

(DEFAULT = 0)

-qos_atm_cr The setting of the command response bit. Valid only if pw_type atm.

(DEFAULT = 0)

-qos_fr_cr The setting of the frame relay command response bit.

Valid only if pw_type frame_relay.

(DEFAULT = 0)

-qos_fr_de The setting of the frame relay discard eligibility bit.

Valid only if pw_type frame_relay.

(DEFAULT = 0)

-qos_fr_becn The setting of the frame relay backward congestion notification bit.

Valid only if pw_type frame_relay.

(DEFAULT = 0)

HLTAPI Commands, Release 2.80 Rev. B 11-11


L2TPv3 APIs
11
-qos_fr_fecn The setting of the frame relay forward congestion notification bit.

Valid only if pw_type frame_relay.

(DEFAULT = 0)

-qos_ipv6_flow_label The IPv6 flow label, from 0 through 1,048,575.

Valid only if pw_type ethernet|dot1q_ethernet.

(DEFAULT = 0)

-qos_ipv6_traffic_class The IPv6 traffic class, from 0 through 255.

Valid only if pw_type ethernet|dot1q_ethernet.

(DEFAULT = 0)

-ip_dfbit Specifies the DFBIT field in CC IP header.

-ip_ttl Specifies the TTL field in Tunnel IP header.

(DEFAULT = 60)

-sequencing_receive Enables "sequencing" on the receive side.

-vlan_priority Specifies the value for the priority field in the VLAN header of the attachement
circuit.

(DEFAULT = 0)

-fr_address_size Specifies the size of DLCI to be used by the frame relay attachement circuit.
(DEFAULT = 2)

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, contains more information
handle Session group handle

EXAMPLES See files starting with L2TPV3_ in the Samples subdirectory.


See the L2TPv3 example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1.In order to use QoS groups, parameter -variable_user_rate must be set

to 1 in traffic_config calls. The maximum number of qos groups that can

be created is 7. Each session belongs to a group. After the maximum number

of QoS groups is exceeded, the sessions that will be created will belong

11-12 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

to the first group that has the same ip_tos value. If there is no group

with the same ip_tos value, then a random group is chosen.

group.

2.ip_tos reflect is not supported. When ip_tos is set to reflect, the

ip_tos_value is set to 0.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 11-13


L2TPv3 APIs
11

NAME — ::ixia::l2tpv3_control

DESCRIPTION Procedure to start, stop, retry, or clear statistics on a port.

SYNOPSIS ::ixia::l2tpv3_control
-action CHOICES start stop retry restart
clear_stats delete_all
[-port_handle ^[0-9]+/[0-9]+/[0-9]+$]

ARGUMENTS

-action This option defines the action to be taken. Valid choices are:

Value Usage

start Starts CC creation and session creation on all


configured CC groups on the port.
stop Stops all CC and session on the port.
retry Try to start all CC and sessions that could not
be established for some reason when "start"
is issued.
restart Restarts all CC and sessions that were explic-
itly stopped.
clear_stats Clear all stats for all CC and session groups.
delete_all Deletes all CC and session groups on the
port.

-port_handle Port handle on which the action is to be performed. If no port handle is specified,
it performs the requested action on all the ports.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, contains more information

EXAMPLES See files starting with L2TPV3_ in the Samples subdirectory.


See the L2TPv3 example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) The clear_stats action has not been implemented yet.

SEE ALSO

11-14 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

NAME — ::ixia::l2tpv3_stats

DESCRIPTION Retrieves the statistics for a cc group.

SYNOPSIS ::ixia::l2tpv3_stats
-mode CHOICES aggregate control_connection
session
-cc_handle
[-cc_id NUMERIC]
[-cc_id_range_end NUMERIC]
[-vcid NUMERIC]
[-vcid_range_end NUMERIC]
[-csv_filename ]

ARGUMENTS

-mode Specifies statistics retrieval mode. Valid choices are:

Value Usage

aggregate Provide aggregate statistics for all control


connections and all sessions in the cc group.
control_connection Provide statistics for the specified range of
control connections on a per-cc basis.
session Provide statistics for the specified sessions
on a per-session basis.

-cc_handle This is the cc group handle returned by "l2tpv3_dynamic_cc_config".

-cc_id Selects a specific range of control connections that belong to the cc group to to
return statistics for. If the option is not specified, return statistics for all the con-
trol connections in the group.

-cc_id_range_end This options is used along with -cc_id to specify the range of control connections
to be selected. This option has a default value equal with -cc_id (ie., default
range is only one cc_id).

-vcid Selects a specific range of sessions that belong to the session group to perform
the operation upon. If the option is not specified, all the sessions in the group are
selected.

-vcid_range_end This options is used along with -vcid to specify the range of sessions to be
selected. This option has a default value equal with -vcid (ie., default range is
only one VCID).

-csv_filename The .csv filename that can be created under HLT library install folder

and where per session stats can be found.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, contains more information
aggregate.connecting

HLTAPI Commands, Release 2.80 Rev. B 11-15


L2TPv3 APIs
11

Key Value
aggregate.connected
aggregate.num_sessions
aggregate.connect_success
aggregate.sessions_up
aggregate.min_setup_time
aggregate.max_setup_time
aggregate.avg_setup_time
aggregate.success_setup_rate
aggregate.sccrp_tx
aggregate.scccn_tx
aggregate.sccrp_tx
aggregate.stopccn_tx
aggregate.hello_tx
aggregate.icrq_tx
aggregate.icrp_tx
aggregate.iccn_tx
aggregate.cdn_tx
aggregate.wen_tx WAN-Error-Notify
aggregate.sli_tx Set-Link-Info
aggregate.zlb_rx
aggregate.sccrp_rx
aggregate.scccn_rx
aggregate.sccrp_rx
aggregate.stopccn_rx
aggregate.hello_rx
aggregate.icrq_rx
aggregate.icrp_rx
aggregate.iccn_rx
aggregate.cdn_rx
aggregate.wen_rx WAN-Error-Notify
aggregate.sli_rx Set-Link-Info
aggregate.out_of_order_rx Number of packet rx out of sequence
aggregate.out_of_win_rx Number of packets rx outside window
aggregate.duplicate_rx Number of duplicate packet received
aggregate.in_order_rx Number of in order packet received
aggregate.retransmits Number of retransmitted messages
aggregate.tx_pkt_acked Number of tx packets acked by peer
aggregate.tx_data_pkt Number of data packets transmitted
aggregate.rx_data_pkt Number of data packets received
cc.<cc ID>.zlb_tx
cc.<cc ID>.sccrq_tx
cc.<cc ID>.scccn_tx
cc.<cc ID>.sccrp_tx

11-16 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

Key Value
cc.<cc ID>.stopccn_tx
cc.<cc ID>.hello_tx
cc.<cc ID>.icrq_tx
cc.<cc ID>.icrp_tx
cc.<cc ID>.iccn_tx
cc.<cc ID>.cdn_tx
cc.<cc ID>.wen_tx WAN-Error-Notify
cc.<cc ID>.sli_tx Set-Link-Info
cc.<cc ID>.zlb_rx
cc.<cc ID>.sccrq_rx
cc.<cc ID>.scccn_rx
cc.<cc ID>.sccrp_rx
cc.<cc ID>.stopccn_rx
cc.<cc ID>.hello_rx
cc.<cc ID>.icrq_rx
cc.<cc ID>.icrp_rx
cc.<cc ID>.iccn_rx
cc.<cc ID>.cdn_rx
cc.<cc ID>.wen_rx WAN-Error-Notify
cc.<cc ID>.sli_rx Set-Link-Info
cc.<cc ID>.out_of_order_rx Number of packet rx out of sequence
cc.<cc ID>.out_of_win_rx Number of packets rx outside window
cc.<cc ID>.duplicate_rx Number of duplicate packet received
cc.<cc ID>.in_order_rx Number of in order packet received
cc.<cc ID>.retransmits Number of retransmitted messages
cc.<cc ID>.tx_pkt_acked Number of tx packets acked by peer
cc.<cc ID>.tx_data_pkt Number of data packets transmitted on the
CC
cc.<cc ID>.rx_data_pkt Number of data packets received on the CC
session.<session ID>.icrq_tx
session.<session ID>.icrp_tx
session.<session ID>.iccn_rx
session.<session ID>.cdn_tx
session.<session ID>.icrq_rx
session.<session ID>.icrp_rx
session.<session ID>.iccn_tx
session.<session ID>.cdn_rx
session.<session ID>.tx_pkt_acked

EXAMPLES See files starting with L2TPV3_ in the Samples subdirectory.


See the L2TPv3 example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

HLTAPI Commands, Release 2.80 Rev. B 11-17


L2TPv3 APIs
11
SAMPLE OUTPUT

NOTES Coded versus functional specification.

1) Session ID will be PPPoE session ID for the case of PPPoE and PPPoEoA. For
the case of PPPoA, session ID will be VPI/VCI.

2) Per session statistics retrieval can take long time.

3) What is the difference between connected, connect_success, and sessions_up?

4) Following statistics have not been implemented yet:

aggregate.disconnecting

aggregate.connect_attempts

aggregate.disconnect_success

aggregate.disconnect_failed

session.<session ID>.tx_data_pkt

session.<session ID>.rx_data_pkt

SEE ALSO

11-18 HLTAPI Commands, Release 2.80 Rev. B


L2TPv3 APIs

HLTAPI Commands, Release 2.80 Rev. B 11-19


L2TPv3 APIs
11

11-20 HLTAPI Commands, Release 2.80 Rev. B


L3VPN APIs
12
Chapter 12:

This chapter covers the following topics:

• ::ixia::l3vpn_generate_stream on page 12-2.

HLTAPI Commands, Release 2.80 Rev. B 12-1


L3VPN APIs
12

NAME — ::ixia::l3vpn_generate_stream

DESCRIPTION This command configures traffic streams on the specified CE and PE ports based
on L3VPN setups.

SYNOPSIS ::ixia::l3vpn_generate_stream
-pe_port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
-ce_port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
-pe_label_protocol CHOICES ldp rsvp
-ce_routing_protocol CHOICES ospf bgp isis rip
[-stream_generation CHOICES pe_to_ce ce_to_pe
both]
[-pe_router_handle]
[-ce_router_handle]
[-reset FLAG]
[-length_mode CHOICES fixed increment
random auto imix gaussian quad]
[-l3_length RANGE 1-64000]
[-l3_length_min RANGE 1-64000]
[-l3_length_max RANGE 1-64000]
[-l3_length_step RANGE 1-64000]
[-l3_imix1_size RANGE 32-1518]
[-l3_imix1_ratio]
[-l3_imix2_size RANGE 32-1518]
[-l3_imix2_ratio]
[-l3_imix3_size RANGE 32-1518]
[-l3_imix3_ratio]
[-l3_imix4_size RANGE 32-1518]
[-l3_imix4_ratio]
[-l3_gaus1_avg DECIMAL]
[-l3_gaus1_halfbw DECIMAL]
[-l3_gaus1_weight NUMERIC]
[-l3_gaus2_avg DECIMAL]
[-l3_gaus2_halfbw DECIMAL]
[-l3_gaus2_weight NUMERIC]
[-l3_gaus3_avg DECIMAL]
[-l3_gaus3_halfbw DECIMAL]
[-l3_gaus3_weight NUMERIC]
[-l3_gaus4_avg DECIMAL]
[-l3_gaus4_halfbw DECIMAL]
[-l3_gaus4_weight NUMERIC]
[-rate_pps]
[-rate_bps]
[-rate_percent RANGE 0-100]
[-transmit_mode CHOICES continuous
single_burst]
[-pkts_per_burst INTEGER]
[-data_pattern]
[-data_pattern_mode CHOICES incr_byte decr_byte
fixed random repeating]
[-enable_data_integrity CHOICES 0 1]
[-integrity_signature]
[-integrity_signature_offset RANGE 12-65535]
[-frame_sequencing CHOICES enable disable]
[-frame_sequencing_offset]
[-frame_size RANGE 20-13312]

12-2 HLTAPI Commands, Release 2.80 Rev. B


L3VPN APIs

[-frame_size_max RANGE 20-13312]


[-frame_size_min RANGE 20-13312]
[-frame_size_step RANGE 0-13292]
[-ip_cost CHOICES 0 1]
[-ip_delay CHOICES 0 1]
[-ip_precedence RANGE 0-7]
[-ip_reliability CHOICES 0 1]
[-ip_reserved CHOICES 0 1]
[-ip_throughput CHOICES 0 1]
[-enable_time_stamp]
[-number_of_packets_per_stream]
[-signature]
[-signature_offset]
[-enable_pgid]
[-pgid_value]
[-number_of_packets_tx]
[-no_write FLAG]

ARGUMENTS

-pe_port_handle The PE port for which to configure traffic and to which the traffic on CE port is
configured.

-ce_port_handle The CE port for which to configure traffic and to which the traffic on PE port is
configured.

-pe_label_protocol Specifies which label protocol is used on CE port. Valid choices are:

Value Usage

ldp N/A
rsvp N/A

-ce_routing_protocol Specifies which routing protocol is used on CE port. Valid choices are:

Value Usage

bgp N/A
isis N/A
ospf N/A
rip N/A

-stream_generation Specifies on which direction traffic is configured: on PE port to CE port, or on


CE port to PE port, or in both directions.

(DEFAULT = both)

-pe_router_handle List of router handles for which traffic will be configured on CE port. If this
option is present traffic will be configured only for route ranges advertised by the
specified router handles. Otherwise traffic is configured for route ranges adver-
tised by all routers on the PE port.

HLTAPI Commands, Release 2.80 Rev. B 12-3


L3VPN APIs
12
-ce_router_handle List of router handles for which traffic will be configured on PE port. If this
option is present traffic will be configured only for route ranges advertised by the
specified router handles. Otherwise traffic is configured for route ranges adver-
tised by all routers on the CE port.

-reset When the option is enabled all streams are deleted on the seding ports(s) before
creating new ones.

-length_mode Behavior of the packet size for a particular stream. Valid choices are:

Value Usage

fixed N/A
increment N/A
random N/A
auto N/A
imix Mix of packet sizes are specified using
options l3_imix1_size etc
gaussian, quad Packet sizes are specified as gaussian/quad
curves using options l3_gaus1_avg,
l3_gaus1_halfbw, l3_gaus1_weight etc.

-l3_length Packet size in bytes. Use this option in conjunction with option "length_mode"
set to fixed. Valid choices are between 1 and 64000, inclusive.

-l3_length_min Minimum packet size for the specified stream in bytes. Use this option in con-
junction with option "length_mode" set to increment.

-l3_length_max Maximum packet size for the specified stream in bytes. Use this option in con-
junction with option "length_mode" set to increment.

-l3_length_step Step size by which the packet size will be incremented. Use this option in con-
junction with option "length_mode" set to increment.

-l3_imix1_size First Packet size in bytes. Used if length_mode set to imix.

-l3_imix1_ratio Ratio of first packet size. Used if length_mode set to imix.

-l3_imix2_size Second Packet size in bytes. Used if length_mode set to imix.

-l3_imix2_ratio Ratio of second packet size. Used if length_mode set to imix.

-l3_imix3_size Third Packet size in bytes. Used if length_mode set to imix.

-l3_imix3_ratio Ratio of third packet size. Used if length_mode set to imix.

-l3_imix4_size Fourth Packet size in bytes. Used if length_mode set to imix.

-l3_imix4_ratio Ratio of fourth packet size. Used if length_mode set to imix.

-l3_gaus1_avg The center of the first curve. Used if length_mode is set to gaussian or quad.

-l3_gaus1_halfbw The width at half of the first curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus1_weight The weigth of the first curve. Used if length_mode is set to gaussian or quad.

12-4 HLTAPI Commands, Release 2.80 Rev. B


L3VPN APIs

-l3_gaus2_avg The center of the second curve. Used if length_mode is set to gaussian or quad.

-l3_gaus2_halfbw The width at half of the second curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus2_weight The weigth of the second curve. Used if length_mode is set to gaussian or quad.

-l3_gaus3_avg The center of the third curve. Used if length_mode is set to gaussian or quad.

-l3_gaus3_halfbw The width at half of the third curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus3_weight The weigth of the third curve. Used if length_mode is set to gaussian or quad.

-l3_gaus4_avg The center of the fourth curve. Used if length_mode is set to gaussian or quad.

-l3_gaus4_halfbw The width at half of the fourth curve. Used if length_mode is set to gaussian or
quad.

-l3_gaus4_weight The weigth of the fourth curve. Used if length_mode is set to gaussian or quad.

-rate_pps Traffic rate to send in pps.

-rate_bps Traffic rate to send in bps.

-rate_percent Traffic rate in percent of line rate for the specified stream. Valid choices are
between 0.00 and 100.00, inclusive.

(DEFAULT = 100.00)

-transmit_mode Type of transmit mode to use. Note that all transmit modes need to have one
value set in either rate_pps, rate_bps, or rate_percent. Valid choices are:

Value Usage

continuous N/A
single_burst N/A

-pkts_per_burst Number of packets to include in one burst.

-data_pattern Payload value in bytes. For example, you can specify a custom payload pattern
like the following using option "data_pattern":

00 44 00 44

-data_pattern_mode Packet payload mode for a particular stream. Valid choices are:

Value Usage

incr_byte Data patterm increments each byte in the


packet payload.
decr_byte Data patterm decrements each byte in the
packet payload.
fixed Data patterm is idle for each byte in the
packet payload.

HLTAPI Commands, Release 2.80 Rev. B 12-5


L3VPN APIs
12

Value Usage

random Data patterm is random for the packet pay-


load.
repeating Data patterm repeats for the packet payload.

-enable_data_integrity Whether data integrity checking is enabled. Valid choices are:

Value Usage

0 Disabled.
1 Enabled.

-integrity_signature

-integrity_signature_offset

-frame_sequencing

-frame_sequencing_offset

-frame_size Actual total frame size coming out of the interface on the wire in bytes. Valid
choices are between 20 and 13312, inclusive.

(DEFAULT = 64)

-frame_size_max Actual maximum total frame size coming out of the interface on the wire in bytes
when option "length_mode" is set to random. Valid choices are between 20 and
13312.

(DEFAULT = 64)

-frame_size_min Actual minimal total frame size coming out of the interface on the wire in bytes
when option "length_mode" is set to random. Valid choices are between 20 and
13312.

(DEFAULT = 64)

-frame_size_step Actual increment by which the actual total frame size in bytes coming out of the
interface on the wire will be incremented. Valid choices are between 20 and
13292.

(DEFAULT = 64)

-ip_cost Part of the Type of Service byte of the IP header datagram (bit 6). Valid choices
are:

Value Usage

0 (default) Normal cost.


1 Low cost.

12-6 HLTAPI Commands, Release 2.80 Rev. B


L3VPN APIs

-ip_delay Part of the Type of Service byte of the IP header datagram (bit 3). Valid choices
are:

Value Usage

0 (default) Normal delay.


1 Low delay.

-ip_precedence Part of the Type of Service byte of the IP header datagram that establishes prece-
dence of delivery. Valid choices are between 0 and 7, inclusive.

-ip_reliability Part of the Type of Service byte of the IP header datagram (bit 5). Valid choices
are:

Value Usage

0 (default) Normal reliability.


1 High reliability.

-ip_reserved Part of the Type of Service byte of the IP header datagram (bit 7). Valid choices
are:

Value Usage

0 (default)
1 N/A

-ip_throughput Part of the Type of Service byte of the IP header datagram (bit 4). Valid choices
are:

Value Usage

0 (default) Normal throughput.


1 High throughput.

-enable_time_stamp Whether time stamp insertion is enabled. Valid choices are:

Value Usage

0 Disabled.
1 Enabled. (default)

-number_of_packets_per_ Number of maximum frames in the stream.


stream

-enable_pgid

-pgid_value

-signature

-signature_offset

HLTAPI Commands, Release 2.80 Rev. B 12-7


L3VPN APIs
12
-number_of_packets_tx

-no_write Whether to enable procedure "l3vpn_generate_stream" to commit change to the


hardware. Enable this option when the you want to generate multiple streams
over multiple pe/ce_port_handle pairs by using a loop. Because committing the
configuration to hardware can take .5 seconds, this option allows you to save the
configuration after the procedure call.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log On status of failure, gives detailed informa-
tion.
stream_id.$pe_port_handle Stream identifiers for traffic sent out the port
associated with "pe_port_handle".
stream_id.$ce_port_handle Stream identifiers for traffic sent out the port
associated with "ce_port_handle".

EXAMPLES See files starting with L3VPN_ in the Samples subdirectory.


See the L3VPN example in Appendix A, "Example APIs," for
one specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES 1. When ISIS is configured on CE port, streams will be generated on PE port


only to routes of type stub and external.

2. When OSPF is configured on CE port, streams will be generated on PE port


only to routes of type summary and external.

SEE ALSO

12-8 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs
13
Chapter 13:

This chapter covers the following topics:

• ::ixia::emulation_ldp_config on page 13-2.

• ::ixia::emulation_ldp_route_config on page 13-7.

• ::ixia::emulation_ldp_control on page 13-12.

• ::ixia::emulation_ldp_info on page 13-14.

HLTAPI Commands, Release 2.80 Rev. B 13-1


LDP APIs
13

NAME — ::ixia::emulation_ldp_config

DESCRIPTION

SYNOPSIS ::ixia::emulation_ldp_config
-mode CHOICES create modify
delete disable enable
-port_handle REGEXP ^[0-9]+/[0-9]+/
[0-9]+$
[-handle]
[-label_adv CHOICES unsolicited
on_demand]
[-peer_discovery CHOICES link targeted
targeted_martini DEFAULT link]
[-count NUMERIC]
[-intf_ip_addr IP]
[-intf_prefix_length RANGE 1-128]
[-intf_ip_addr_step IP]
[-lsr_id IP]
[-label_space RANGE 0-65535]
[-lsr_id_step IPV4]
[-mac_address_init MAC]
[-remote_ip_addr IP]
[-remote_ip_addr_step IP]
[-hello_interval RANGE 0-65535]
[-hello_hold_time RANGE 0-65535]
[-keepalive_interval RANGE 0-65535]
[-keepalive_holdtime RANGE 0-65535]
[-discard_self_adv_fecs CHOICES 0 1]
[-vlan_id RANGE 0-4095]
[-vlan_id_mode CHOICES fixed increment]
[-vlan_id_step RANGE 0-4096]
[-vlan_user_priority RANGE 0-7]
[-vpi RANGE 0-255]
[-vci RANGE 0-65535]
[-vpi_step RANGE 0-255]
[-vci_step RANGE 0-256]
[-atm_range_max_vpi RANGE 0-255]
[-atm_range_min_vpi RANGE 0-255]
[-atm_range_max_vci RANGE 0-65535]
[-atm_range_min_vci RANGE 0-65535]
[-atm_vc_dir CHOICES bi_dir uni_dir]
[-enable_explicit_include_ip_fec CHOICES 0 1]
[-enable_l2vpn_vc_fecs CHOICES 0 1]
[-enable_remote_connect CHOICES 0 1]
[-enable_vc_group_matching CHOICES 0 1]
[-gateway_ip_addr IP]
[-gateway_ip_addr_step IP]
[-graceful_restart_enable CHOICES 0 1]
[-no_write FLAG]
[-reconnect_time RANGE 0-300000]
[-recovery_time RANGE 0-300000]
[-reset FLAG]
[-targeted_hello_hold_time RANGE 0-65535]
[-targeted_hello_interval RANGE 0-65535]
-loop_detection

13-2 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

-path_vector_limit
-max_pdu_length
-message_aggregation
-label_start
-label_step
-atm_merge_cap

ARGUMENTS

-mode Which mode is being performed. All but create require the use of the -handle
option. Valid choices are:

Value Usage

create Create a new LDP interface


modify Modify an existing LDP interface
delete Delete the given LDP interface
disable Disable the given LDP interface
enable Enable the given LDP interface

-port_handle The port which on which the LDP configuration will take place.

-handle A LDP handle returned from this procedure and now being used when the -mode
is anything but create.

-label_adv The mode by which the simulated router advertises its FEC ranges. Valid
choices are:

Value Usage

unsolicited (default) The router distributes FEC ranges


whenever it has a new one.
on_demand The router only distributes FEC ranges when
requested by a peer.

-peer_discovery The discovery mode used for the LDP interface. Valid choices are:

Value Usage

link (default) The basic mode which does not


attempt to contact targeted peers.
targeted Attempts to contact targeted peers.
targeted_martini Attempts to contact targeted peers.

-count Defines the number of LDP interfaces to create.

-intf_ip_addr Interface IP address of the LDP session router.

-intf_prefix_length Prefix length on the interface.

-intf_ip_addr_step Define interface IP address for multiple sessions.

-lsr_id The ID of the router to be emulated.

-label_space The label space identifier for the interface.

HLTAPI Commands, Release 2.80 Rev. B 13-3


LDP APIs
13
-lsr_id_step Used to define the lsr_id step for multiple interface creations.

-mac_address_init MAC address to be used for the first session.

-remote_ip_addr The IPv4 address of a targeted peer.

-remote_ip_addr_step When creating multiple sessions and using the -remote_ip_addr, tells how to
increment between sessions.

-hello_interval The amount of time, expressed in seconds, between transmitted HELLO mes-
sages.

-hello_hold_time The amount of time, expressed in seconds, that an LDP adjacency will be main-
tained in the absence of a HELLO message.

-keepalive_interval The amount of time, expressed in seconds, between keep-alive messages sent
from simulated routers to their adjacency in the absence of other PDUs sent to
the adjacency.

-keepalive_holdtime The amount of time, expressed in seconds, that an LDP adjacency will be main-
tained in the adbsence of a PDU received from the adjacency.

-discard_self_adv_fecs Discard learned labels from the DUT that match any of the enabled configured
IPv4 FEC ranges. This flag is only set when LDP is started. If it is to be changed
later, LDP should be stopped, the value changed and then restart LDP.

-vlan_id VLAN ID for protocol interface.

-vlan_id_mode For multiple neighbor configuration, configures the VLAN ID mode. Valid
choices are:

Value Usage
fixed VLAN ID mode is fixed.
increment VLAN ID mode to increment.

-vlan_id_step Defines the step for the VLAN ID when the VLAN ID mode is increment.

-vlan_user_priority VLAN user priority assigned to protocol interface.

-vpi VPI for emulated router node

-vci VCI for emulated router node

-vpi_step Step value to apply to VPI field

-vci_step Step value to apply to VCI field

-atm_range_max_vpi The maximum VPI value in the ATM label range.

-atm_range_min_vpi The minimum VPI value in the ATM label range.

-atm_range_max_vci The maximum VCI value in the ATM label range.

-atm_range_min_vci The minimum VCI value in the ATM label range.

13-4 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

-atm_vc_dir The ATM directional virtual circuit (VC) capability of this LSR. Valid choices
are:

Value Usage

bi_dir (default) In a label mapping for a defined VPI,


a defined VCI can be used for both directions
on the link.
uni_dir In a label mapping for a defined VPI, a
defined VCI can be used for only one direc-
tion on the link.

-enable_explicit_include_ Enables the use of the explicit include IP FEC list which filters received labels.
ip_fec

-enable_l2vpn_vc_fecs Enables the use of Layer 2 Virtual Circuit FECs for this router.

-enable_remote_connect Enables LDP routers not part of the local multicast network to connect to the
simulated router.

-enable_vc_group_ This option enables the matching of received Martini labels by group ID as well
matching as VCID.

-gateway_ip_addr Gives the gateway IP address for the protocol interface that will be created for
use by the simulated routers.

-gateway_ip_addr_step Gives the step for the gateway IP address.

-graceful_restart_enable Will enable graceful restart (HA) on the LDP neighbor.

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-recovery_time If -graceful_restart_enable is set; (in milliseconds) The restarting LSR is adver-


tising the amount of time that it will retain its MPLS forwarding state. This time
period begins when it sends the restart Initialization message, with the FT session
TLV, to the neighbor LSRs (to re-establish the LDP session). This timer allows
the neighbors some time to resync the LSPs in an orderly manner. If the value =
0, it means that the restarting LSR was not able to preserve the MPLS forwarding
state.

-reconnect_time (in milliseconds) This Fault Tolerant (FT) Reconnect Timer value is advertised in
the FT Session TLV in the Initialization message sent by a neighbor LSR. It is a
request sent by an LSR to its neighbor(s) - in the event that the receiving neigh-
bor detects that the LDP session has failed, the receiver should maintain MPLS
forwarding state and wait for the sender to perform a restart of the control plane
and LDP protocol. If the value = 0, the sender is indicating that it will not pre-
serve its MPLS forwarding state across the restart.

If -graceful_restart_enable is set.

-reset If set, then all existing simulated routers will be removed before creating a new
one.

-targeted_hello_hold_time The amount of time, expressed in seconds, that an LDP adjacency will be main-
tained for a targeted peer in the absence of a HELLO message.

HLTAPI Commands, Release 2.80 Rev. B 13-5


LDP APIs
13
-targeted_hello_interval The amount of time, expressed in seconds, between transmitted HELLO mes-
sages to targeted peers.

-loop_detection

-path_vector_limit

-max_pdu_length

-message_aggregation

-label_start

-label_step

-atm_merge_cap

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log

EXAMPLES See files starting with LDP_ in the Samples subdirectory.


Also see some of the L2VPN, L3VPN, MPLS, and MVPN sample
files for further examples ofthe LDP usage.
See the LDP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

13-6 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

NAME — ::ixia::emulation_ldp_route_config

DESCRIPTION This procedure creates/modifies/deletes LSP (FEC) pools or FEC ranges on sim-
ulated LDP router Interface.

SYNOPSIS proc ::ixia::emulation_ldp_route_config


-mode CHOICES create modify delete
-handle
[-lsp_handle]
[-fec_type CHOICES ipv4_prefix host_addr
vc (DEFAULT ipv4_prefix)]
[-label_msg_type CHOICES mapping request
(DEFAULT mapping)]
[-egress_label_mode CHOICES nextlabel fixed imnull
exnull (DEFAULT nextlabel)]
[-num_lsps REGEXP ^[0-9]+$ (DEFAULT 1)]
[-fec_ip_prefix_start IP DEFAULT 0.0.0.0]
[-fec_ip_prefix_length RANGE 1-32 (DEFAULT 24)]
[-fec_host_addr IP DEFAULT 0.0.0.0]
[-fec_vc_type CHOICES fr_dlci atm_aal5_vcc
atm_cell eth_vlan eth hdlc ppp cem
atm_vcc_n_1atm_vpc_n_1 eth_vpls
atm_vcc_1_1atm_vpc_1_1]
[-fec_vc_cbit CHOICES 0 1]
[-fec_vc_group_id RANGE 0-2147483647]
[-fec_vc_id_start RANGE 0-2147483647]
[-fec_vc_id_step RANGE 0-2147483647]
[-fec_vc_intf_mtu_enable CHOICES 0 1 (DEFAULT 1)]
[-fec_vc_intf_mtu REGEXP ^[0-9]+$]
[-fec_vc_intf_desc]
[-hop_count_tlv_enable CHOICES 0 1 (DEFAULT 1)]
[-hop_count_value REGEXP ^[0-9]+ (DEFAULT 1)]
[-path_vector_tlv CHOICES 0 1 (DEFAULT 0)]
[-path_vector_tlv_lsr IP]
[-fec_vc_group_count REGEXP ^[0-9]+$ (DEFAULT 1)]
[-fec_vc_label_mode CHOICES fixed_label
increment_label]
[-fec_vc_label_value_start REGEXP ^[0-9]+$ (DEFAULT 16)]
[-fec_host_prefix_length RANGE 1-32 (DEFAULT 24)]
[-fec_vc_peer_address IP (DEFAULT 0.0.0.0)]
[-fec_vc_id_count RANGE 0-2147483647]
[-label_value_start REGEXP ^[0-9]+$ (DEFAULT 16)]
[-next_hop_peer_ip IP]
[-no_write FLAG]
[-num_routes REGEXP ^[0-9]+$ (DEFAULT 1)]
[-packing_enable CHOICES 0 1 (DEFAULT 0)]
[-stale_timer_enable CHOICES 0 1 (DEFAULT 1)]
[-stale_request_time REGEXP ^[0-9]+$ (DEFAULT 5)]
[-fec_ip_prefix_step]
[-fec_host_step]
[-path_vector_tlv]
[-path_vector_tlv_lsr]

HLTAPI Commands, Release 2.80 Rev. B 13-7


LDP APIs
13
ARGUMENTS

-mode What is being done to the protocol. Valid choices are:

Value Usage

stop Stop the protocol.


start Start the protocol.
restart Restart the protocol.

-handle The LDP handle.

-lsp_handle This option specifies on which lsp element to configure the lsp pools/fec range
options. The user must pass in this option if the "type" is modify or delete. lsp_
handle is returned by this procedure when "type" is create.

-fec_type Note: this option cannot be modified with modify mode. Valid choices are:

Value Usage

ipv4_prefix configure FECs to be advertised by the simu-


lated router
host_addr configure FECs to be requested of upstream
peers, to be used in download on demand
advertising mode.
vc configure parameters for VC range associ-
ated with an LDP L2 VPN interface.

-label_msg_type Type of label messages to be sent out. Note: this option cannot be modified with
modify mode. Valid choices are:

Value Usage

mapping (default) Message is used to advertise egress


bindings to UUT.
request Message is used to request ingress label
bindings from UUT for an on_demand mode.

-egress_label_mode Mode for egress-targeted label assignment. Valid choices are:

Value Usage

nextlabel next available label is assigned for each LSP


fixed the same label is assigned for all LSPs in this
FEC range.
imnull implicit null is used for all LSPs. For Ixia inter-
face, this choice sets the label_value_start to
3
exnull explicit null is used for all LSPs. For Ixia inter-
face, this choice sets the label_value_start to
0

-num_lsps The number of label bindings advertised.

-fec_ip_prefix_start First prefix to be advertised in ipv4-prefix FEC range.

13-8 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

-fec_ip_prefix_length Network mask width for ipv4-prefix FECs.

(DEFAULT = 24)

-fec_host_addr First host address to be advertised.

-fec_vc_type The type of virtual circuit. Note that none, atm_aal5_pdu, and fr_port types are
not supported. Valid choices are:

Value Usage

fr_dlci N/A
atm_aal5_vcc N/A
atm_cell N/A
eth_vlan N/A
eth N/A
hdlc N/A
ppp N/A
cem N/A
atm_vcc_n_1 N/A
atm_vpc_n_1 N/A
eth_vpls N/A
atm_vcc_1_1 N/A
atm_vpc_1_1 N/A

-fec_vc_cbit Enables the generation of a control word in the VC.

(DEFAULT = 0)

-fec_vc_group_id The group ID associated with all VC FEC elements for this interface.

(DEFAULT = 0)

-fec_vc_id_start The virtual circuit ID, together with the value of the fec_vc_type option, identi-
fies a unique VC.

(DEFAULT = 10)

-fec_vc_id_step The step value applied between uses of VC ID.

(DEFAULT = 1)

-fec_vc_intf_mtu_enable Enables the generation of an MTU interface parameter field.

(DEFAULT = false)

-fec_vc_intf_mtu The value of the MTU to be included if fec_vc_intf_mtu_enable is set to true.

(DEFAULT = 0)

-fec_vc_intf_desc An interface description string for the VC range.

-hop_count_tlv_enable If set, enables the use of hop_count_tlv in Label Request and Label Mapping
messages.

(DEFAULT = 1)

HLTAPI Commands, Release 2.80 Rev. B 13-9


LDP APIs
13
-hop_count_value This is the hop count value used in hop count TLV if hop_count_tlv_enable is
set.

(DEFAULT = 1)

-fec_vc_group_count The number of contiguous values of groupId that will be used in generating VC
FECs.

(DEFAULT = 1)

-fec_vc_label_mode The manner in which labels are assigned to generated VCs. The options include:
fixed_label, increment_label.

-fec_vc_label_value_start The initial label value used in the generated VC.

(DEFAULT = 16)

-fec_vc_peer_address The IPv4 address of the LDP router which is the peer for this VC range.

(DEFAULT = 0.0.0.0)

-fec_vc_id_count The number of times that the VCID will be incremented in order to generate
FECs.

(DEFAULT = 1)

-fec_host_prefix_length The mask applied to fec_host_addr.

(DEFAULT = 24)

-label_value_start The first label to be assigned to the FEC.

(DEFAULT = 16)

-next_hop_peer_ip The IPv4 address of the LDP peer that is the next hop router on this

path.

(DEFAULT = 0.0.0.0)

-no_write If this option is present, the configuration is not written to the hardware. This
option can be used to queue up multiple configurations before writing to the
hardware.

-num_routes The number of routes to request starting at the host_addr for fec_type of "host_
addr".

(DEFAULT = 1)

-packing_enable Enables the packing of multiple label mappings on sending labels and sending
withdrawals into a single PDU. This is only applicable to sessions established in
the downstream unsolicited mode.

(DEFAULT = 0)

-stale_timer_enable If set, enables the use of stale timer.

(DEFAULT = 1)

13-10 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

-stale_request_time If stale_timer_enable is true, this is used as the stale request time.

(DEFAULT = 5)

-fec_ip_prefix_step

-fec_host_step

-path_vector_tlv

-path_vector_tlv_lsr

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


lsp_handle LDP lsp pool handle
log If status is failure, detailed information pro-
vided.

EXAMPLES See files starting with LDP_ in the Samples subdirectory.


Also see some of the L2VPN, L3VPN, MPLS, and MVPN sample
files for further examples ofthe LDP usage.
See the LDP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

If fec_type option is ipv4_prefix, the label_msg_type option must be mapping; if


fec_type option is host_addr, the the label_msg_type option must be request.

For "modify" mode, the fec_type option and label_msg_type option will not be
updated for the lsp.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 13-11


LDP APIs
13

NAME — ::ixia::emulation_ldp_control

DESCRIPTION Stop, start or restart the protocol.

SYNOPSIS ::ixia::emulation_ldp_control
-mode CHOICES restart start stop
[-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$]
[-handle]
[-advertise]
[-withdraw]
[-flap_routes]
[-flap_count]
[-flap_interval_time]
[-flap_down_time]

ARGUMENTS

-mode What is being done to the protocol. Valid choices are:

Value Usage

restart Restart the protocol.


start Start the protocol.
stop Stop the protocol.

-port_handle The port where the LDP is to be controlled.

-handle The LDP session handle to act upon.

-advertise

-withdraw

-flap_routes

-flap_count

-flap_interval_time

-flap_down_time

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, detailed information pro-
vided.

EXAMPLES See files starting with LDP_ in the Samples subdirectory.


Also see someof the L2VPN, L3VPN, MPLS, and MVPN sample
files for further examples oft he LDP usage.
See the LDP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

13-12 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 13-13


LDP APIs
13

NAME — ::ixia::emulation_ldp_info

DESCRIPTION Retrieves information about LDP protocol.

SYNOPSIS ::ixia::emulation_ldp_info
-mode CHOICES state stats clear_stats settings
neighbors lsp_labels
-handle

ARGUMENTS

-mode What action will be taken. Valid choices are:

Value Usage

state N/A
stats N/A
clear_stats N/A
settings N/A
neighbors N/A
lsp_labels N/A

-handle The LDP session handle to act upon.

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log If status is failure, detailed information pro-
vided.
basic_sessions Ixia only
targeted_sessions_running Ixia only
targeted_sessions_configured Ixia only
routing_protocol Cisco only
ip_address Cisco only
elapsed_time Cisco only
linked_hellos_tx Cisco only
linked_hellos_rx Cisco only
targeted_hellos_tx Cisco only
targeted_hellos_rx Cisco only
total_setup_time Cisco only
min_setup_time Cisco only
max_setup_time Cisco only
num_lsps_setup Cisco only
req_rx Cisco only
req_tx Cisco only
map_rx Cisco only
map_tx Cisco only
release_rx Cisco only

13-14 HLTAPI Commands, Release 2.80 Rev. B


LDP APIs

Key Value
release_tx Cisco only
withdraw_rx Cisco only
withdraw_tx Cisco only
abort_rx Cisco only
abort_tx Cisco only
notif_rx Cisco only
notif_tx Cisco only
max_peers No further support planned; Cisco only
max_lsps No further support planned; Cisco only
peer_count No further support planned; Cisco only
intf_ip_addr a.b.c.d No further support planned
transport_address a.b.c.d No further support planned
targeted_hello No further support planned
label_adv No further support planned
hello_hold_time No further support planned
hello_interval No further support planned
keepalive_interval No further support planned
keepalive_holdtime No further support planned
label_space No further support planned
vpi No further support planned
vci No further support planned
atm_range_min_vci No further support planned
atm_range_max_vci No further support planned
atm_range_min_vpi No further support planned
atm_range_max_vpi No further support planned
vc_direction No further support planned; Cisco only
atm_merge_capability No further support planned; Cisco only
fr_merge_capability No further support planned; Cisco only
path_vector_limit No further support planned; Cisco only
max_pdu_length No further support planned; Cisco only
loop_detection No further support planned; Cisco only
ip_address a.b.c.d No further support planned
hold_time No further support planned
keepalive No further support planned
config_seq_no No further support planned; Cisco only
max_lsps No further support planned; Cisco only
max_peers No further support planned; Cisco only
atm_label_range No further support planned; Cisco only
fr_label_range No further support planned; Cisco only
session_state Cisco only; disabled|nonexist|hello_adj|init|
openrec|opensent|operational
num_incoming_ingress_lsps Cisco only; number of opened LSPs
num_incoming_egress_lsps Cisco only; number of opened LSPs
lsp_pool_handle.<handle>. Cisco only

HLTAPI Commands, Release 2.80 Rev. B 13-15


LDP APIs
13

Key Value

type Cisco only; {ingress|egress}


num_opened_lsps Cisco only; <number of opened LSPs>
source list of values like: <pool_handle>, incoming_
egress
fec_type Ixia only; list of ipv4_prefix|host_addr...
prefix Ixia only; list of FEC IP prefix (only for link or
targeted sessions)
prefix_length Ixia only; list of FEC prefix length (only for link
or targeted sessions)
label Ixia only; list of MPLS label (for IPv4 labels)
type Ixia only; list of values learned | assigned
group_id Ixia only; list of Group IDs (only for martini
labels)
vc_id Ixia only; list of VC IDs (only for martini labels)
vc_type Ixia only; list of VC types like: frameRelay,
ATMAAL5, ATMXCell, etc.
vci Ixia only; list of VCI (only for ATM labels)
vpi Ixia only; list of VPI (only for ATM labels)
state Ixia only; list of state (only for ATM assigned
labels)

EXAMPLES See files starting with LDP_ in the Samples subdirectory.


Also see some of the L2VPN, L3VPN, MPLS, and MVPN sample
files for further examples of the LDP usage.
See the LDP example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

13-16 HLTAPI Commands, Release 2.80 Rev. B


MLD APIs
14
Chapter 14:

This chapter covers the following topics:

• ::ixia::emulation_mld_config on page 14-2.

• ::ixia::emulation_mld_group_config on page 14-6.

• ::ixia::emulation_mld_control on page 14-7.

HLTAPI Commands, Release 2.80 Rev. B 14-1


MLD APIs
14

NAME — ::ixia::emulation_mld_config

DESCRIPTION Configures MLD sessions.

SYNOPSIS ::ixia::emulation_mld_config
-mode CHOICES create modify delete
disable enable enable_all disable_all
[-port_handle ^\[0-9\]+/\[0-9\]+/\[0-
9\]+$]
[-handle]
[-interface_handle]
[-mld_version CHOICES v1 v2]
[-count RANGE 1-1000]
[-intf_ip_addr IP]
[-intf_ip_addr_step IP]
[-intf_prefix_len RANGE 1-128]
[-msg_interval RANGE 0-999999999]
[-unsolicited_report_interval RANGE 0-999999]
[-max_groups_per_pkts RANGE 0-999999999]
[-max_response_control CHOICES 0 1]
[-max_response_time RANGE 0-999999]
[-ip_router_alert CHOICES 0 1]
[-general_query CHOICES 0 1]
[-group_query CHOICES 0 1]
[-filter_mode CHOICES include exclude]
[-suppress_report CHOICES 0 1]
[-vlan_id RANGE 0-4096]
[-vlan_id_mode CHOICES fixed increment]
[-vlan_id_step RANGE 0-4096]
[-vlan_user_priority RANGE 0-7]
[-neighbor_intf_ip_addr IP]
[-neighbor_intf_ip_addr_step IP]
[-robustness RANGE 1-65535]
[-vlan_cfi CHOICES 0 1]
[-mac_address_init]
[-no_write FLAG]
[-reset FLAG]

ARGUMENTS

-mode This option defines the action to be taken. Valid choices are:

Value Usage

create Creates an MLD session, requires the use of


-port_handle.
delete Deletes an MLD session, requires the use of -
handle.
modify Modifies an MLD session, requires the use of
-handle.
enable Enables an MLD session, requires the use of
-handle.
disable Disables an MLD session, requires the use of
-handle.

14-2 HLTAPI Commands, Release 2.80 Rev. B


MLD APIs

Value Usage

enable_all Enables all MLD sessions on port, requires


the use of -port_handle.
disable_all Disables all MLD sessions on port, requires
the use of -port_handle.

-port_handle If -mode is create, enable_all or disable_all this option is required to specify the
port where to take the action.

-handle If -mode is delete, modify, enable or disable this option is required to specify the
existing MLD session.

-interface_handle A handle or list of the handles that are returned from the interface_config call.
These provide a direct link to an already existing interface and supercede the use
of the intf_ip_addr value.

-mld_version MLD version.

(DEFAULT = v2).

-count Number of sessions to create on the interface.

(DEFAULT = 1)

-intf_ip_addr First IP address in the group.

-intf_ip_addr_step Used to increment IP address.

-intf_prefix_len Address prefix length.

-msg_interval The interval (in ms) used for throttling updates. Use the value 0 to send messages
as fast as possible.

(DEFAULT = 0)

-unsolicited_report_ The interval (in 1/10 seconds) to wait before re-sending the host's initial report of
nterval membership in a group.

(DEFAULT = 100 for v1, 10 for v2)

-max_groups_per_pkts The maximum number of group records that can go into one MLDv2 member-
ship report packet. If the number of groups to be advertised exceeds this number,
then the groups are split up into multiple membership report packets. If set to 0,
groups are packed into Membership Report packets until the MTU size is
reached.

(DEFAULT = 0)

-max_response_control If 1, use -max_response_time to overwrite the value obtained from the received
Query message.

(DEFAULT = 0)

-max_response_time Set the maximum response time (in 1/10 seconds) on receipt of a query. If set to
0, immediately respond to received Query message.

HLTAPI Commands, Release 2.80 Rev. B 14-3


MLD APIs
14
-ip_router_alert If 1, enable IP Router Alert Option.

(DEFAULT = 1)

-general_query If 1, respond to general queries received on the interface.

(DEFAULT = 1)

-group_query If 1, respond to group specific queries received on the interface.

(DEFAULT = 1)

-filter_mode Configure MLDv2 Include Filter Mode.

(DEFAULT = include)

-suppress_report If 1, suppress the transmission of a listener report that duplicates one received on
the interface.

-vlan_id VLAN ID for emulated router node.

-vlan_id_mode For multiple neighbor configuration, configures the VLAN ID mode to be fixed
or increment.

-vlan_id_step When -vlan_id_mode isset to increment, this defines the step for every VLAN.

-vlan_user_priority VLAN user priority assigned to emulated router node.

-neighbor_intf_ip_addr Neighbor's interface IP address.

-neighbor_intf_ip_addr_ Neighbor's interface IP address increment step for creating multiple sessions.
step Default is 0, i.e. same IP address for all sessions.

-robustness The number of times to send a State Change Report. MLDv2 only.

(DEFAULT = 2)

-vlan_cfi Canonical format indicator field in VLAN for emulated router node.

-mac_address_init MAC address to be set on the interface.

-no_write If present, the command ixWritePortsToHardware is not executed.

-reset When -mode is create resets the MLD server on port.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log If status is failure, contains more information
handle List of session handles

EXAMPLES See files starting with MLD_ in the Samples subdirectory.


See the MLD example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

14-4 HLTAPI Commands, Release 2.80 Rev. B


MLD APIs

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 14-5


MLD APIs
14

NAME — ::ixia::emulation_mld_group_config

DESCRIPTION Configures multicast groups added to an MLD session. This procedure utilizes
the common emulation_multicast_group_config and emulation_multicast_
source_config procedures.

SYNOPSIS ::ixia::emulation_mld_group_config
-mode CHOICES create modify delete
clear_all
[-session_handle]
[-group_pool_handle]
[-source_pool_handle]
[-handle]
[-no_write FLAG]

ARGUMENTS

-mode CHOICES create modify delete clear_all

-session_handle

-group_pool_handle

-source_pool_handle

-handle

-no_write

RETURN VALUES
Key Value
status $::SUCCESS | $::FAILURE
log When status is failure, contains more info
handle The group member handle
group_pool_handle The group pool handle
source_pool_handle Source pool handles list

EXAMPLES See files starting with MLD_ in the Samples subdirectory.


See the MLD example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT {status $::SUCCESS} {mld_groups {routeRange1 routeRange2}}

NOTES Not yet coded to functional specification.

SEE ALSO

14-6 HLTAPI Commands, Release 2.80 Rev. B


MLD APIs

NAME — ::ixia::emulation_mld_control

DESCRIPTION Controls MLD sessions.

SYNOPSIS ::ixia::emulation_mld_control
-mode CHOICES start stop restart join
leave
[-handle]
[-port_handle ^[0-9]+/[0-9]+/[0-9]+$]
[-group_member_handle]

ARGUMENTS

-mode This option defines the action to be taken. Valid choices are:

Value Usage

start Starts the MLD host server, requires the use


of -port_handle.
stop Stops the MLD host server, requires the use
of -session_handle.
restart Restarts the MLD host server, requires the
use of -session_handle.
join If -handle is provided join all groups on this
session. If -group_member_handle is pro-
vided join specified group pool(s). If no han-
dle is provided, join all groups an all
sessions.
leave If -handle is provided leave all groups on this
session. If -group_member_handle is pro-
vided leave specified group pool(s). If no
handle is provided, leave all groups an all
sessions.

-handle If -mode is join or leave, all group pools belonging to the MLD session specified
with this option will join or leave.

-port_handle If -mode is start, stop or restart, this option is required to specify the port where
to take the MLD action.

-group_member_handle If -mode is join or leave this option specifies the group pools to join or leave.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion

EXAMPLES See files starting with MLD_ in the Samples subdirectory.


See the MLD example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

HLTAPI Commands, Release 2.80 Rev. B 14-7


MLD APIs
14
SAMPLE OUTPUT

NOTES

SEE ALSO

14-8 HLTAPI Commands, Release 2.80 Rev. B


Multicast APIs
15
Chapter 15:

This chapter covers the following topics:

• ::ixia::emulation_multicast_group_config on page 15-2.

• ::ixia::emulation_multicast_source_config on page 15-4.

HLTAPI Commands, Release 2.80 Rev. B 15-1


Multicast APIs
15

NAME — ::ixia::emulation_multicast_group_config

DESCRIPTION Configures multicast groups to be used by all multicast emulation tools including
PIM, IGMP, MLD, MSDP.

SYNOPSIS ::ixia::emulation_multicast_group_config
-mode CHOICES create modify delete
[-handle]
[-num_groups NUMERIC]
[-ip_addr_start IP]
[-ip_addr_step IP]
[-ip_prefix_len RANGE 1-128]

ARGUMENTS

-mode This option defines the action to be taken. Valid choices are:

Value Usage

create Creates a multicast group pool.


delete Deletes a multicast group pool, requires the
use of -handle.
modify Modifies a multicast group pool, requires the
use of -handle.

-handle If the -mode is delete or modify, then this option is required to specify the exist-
ing multicast group pool.

-num_groups Number of multicast groups in group pool.

(DEFAULT = 1)

-ip_addr_start First multicast group address in the group pool.

-ip_addr_step Used to increment group address.

(DEFAULT = 0.0.0.1)

-ip_prefix_len Defaults to 32 for IPv4 and 128 for IPv6.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion
handle The handle for the multicast group pool cre-
ated

EXAMPLES See the files starting with IGMPv1_, IGMPv2_, IGMPv3_, MLD_,
MVPN_, andPIM_ in the Samples subdirectory.
See the IGMP, MLD, MVPN, or PIM examples in Appendix A,
"Example APIs," for more specific example usage.

SAMPLE INPUT

15-2 HLTAPI Commands, Release 2.80 Rev. B


Multicast APIs

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 15-3


Multicast APIs
15

NAME — ::ixia::emulation_multicast_source_config

DESCRIPTION Configures multicast sources to be used by all multicast emulation tools includ-
ing PIM, IGMP, MLD, MSDP.

SYNOPSIS ::ixia::emulation_multicast_source_config
-mode CHOICES create modify delete
[-handle]
[-num_sources NUMERIC]
[-ip_addr_start IP]
[-ip_addr_step IP]
[-ip_prefix_len RANGE 1-128]

ARGUMENTS

-mode This option defines the action to be taken. Valid choices are:

Value Usage

create Creates a multicast group pool.


delete Deletes a multicast group pool, requires the
use of -handle.
modify Modifies a multicast group pool, requires the
use of -handle.

-handle If the -mode is delete or modify, then this option is required to specify the exist-
ing multicast source pool.

-num_sources Number of multicast sources in source pool.

(DEFAULT = 1)

-ip_addr_start First multicast source address in the group pool.

-ip_addr_step Used to increment source address.

(DEFAULT = 0.0.0.1)

-ip_prefix_len Defaults to 32 for IPv4 and 128 for IPv6.

RETURN VALUES
Key Value

status $::SUCCESS | $::FAILURE


log When status is failure, contains more informa-
tion
handle The handle for the multicast source pool cre-
ated

EXAMPLES See the files starting with IGMPv1_, IGMPv2_, IGMPv3_, MLD_,
MVPN_, andPIM_ in the Samples subdirectory.
See the IGMP, MLD, MVPN, or PIM examples in Appendix A,
"Example APIs," for more specific example usage.

SAMPLE INPUT

15-4 HLTAPI Commands, Release 2.80 Rev. B


Multicast APIs

SAMPLE OUTPUT

NOTES

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 15-5


Multicast APIs
15

15-6 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs
16
Chapter 16:

This chapter covers the following topics:

• ::ixia::emulation_ospf_config on page 16-2.

• ::ixia::emulation_ospf_topology_route_config on page 16-8.

• ::ixia::emulation_ospf_control on page 16-16.

• ::ixia::emulation_ospf_lsa_config on page 16-18.

HLTAPI Commands, Release 2.80 Rev. B 16-1


OSPF APIs
16

NAME — ::ixia::emulation_ospf_config

DESCRIPTION This procedure will add OSPF router(s) to a particular Ixia Interface. The user
can then configure OSPF routes by using the procedure "emulation_ospf_route_
config".

SYNOPSIS ::ixia::emulation_ospf_config
-mode CHOICES create delete modify
enable disable
-session_type CHOICES ospfv2 ospfv3
[-area_id IP]
[-area_id_step IP]
[-area_type CHOICES external-capable ppp
stub]
[-authentication_mode CHOICES null simple md5]
[-count RANGE 1-1000]
[-dead_interval RANGE 1-65535]
[-demand_circuit CHOICES 0 1]
[-handle]
[-hello_interval RANGE 1-65535]
[-interface_cost RANGE 1-65535]
[-intf_ip_addr IP]
[-intf_ip_addr_step IP]
[-intf_prefix_length RANGE 1-128]
[-instance_id RANGE 0-65535]
[-loopback_ip_addr IP]
[-loopback_ip_addr_step IP]
[-lsa_discard_mode CHOICES 0 1]
[-md5_key RANGE 0-255]
[-md5_key_id]
[-mtu RANGE 512-4470]
[-network_type CHOICES broadcast ptomp ptop]
[-neighbor_intf_ip_addr IP]
[-neighbor_intf_ip_addr_step IP]
[-neighbor_router_id IP]
[-neighbor_router_id_step IP]
[-option_bits]
[-password]
[-router_id IP]
[-router_id_step IP]
[-router_priority RANGE 0-255]
[-te_enable CHOICES 0 1]
[-te_max_bw REGEXP ^[0-9]+]
[-te_max_resv_bw REGEXP ^[0-9]+$]
[-te_metric RANGE 1-4294967295]
[-vci RANGE 0-65535]
[-vci_step]
[-vlan_id_mode CHOICES fixed increment]
[-vlan_id RANGE 0-4095 (DEFAULT 100)]
[-vlan_id_step RANGE 0-4095 (DEFAULT 1)]
[-vpi RANGE 0-255]
[-vpi_step]
[-vlan_user_priority RANGE 0-7]
[-te_unresv_bw_priority0 REGEXP ^[0-9]+$]
[-te_unresv_bw_priority1 REGEXP ^[0-9]+$]
[-te_unresv_bw_priority2 REGEXP ^[0-9]+$]

16-2 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

[-te_unresv_bw_priority3 REGEXP ^[0-9]+$]


[-te_unresv_bw_priority4 REGEXP ^[0-9]+$]
[-te_unresv_bw_priority5 REGEXP ^[0-9]+$]
[-te_unresv_bw_priority6 REGEXP ^[0-9]+$]
[-te_unresv_bw_priority7 REGEXP ^[0-9]+$]
[-te_router_id IP]
[-graceful_restart_enable CHOICES 0 1]
[-instance_id_step RANGE 0-65535]
[-mac_address_init]
[-no_write FLAG]
-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$
[-reset]
[-vlan CHOICES 0 1]
[-vlan_priority RANGE 0-7 (DEFAULT 0)]
[-poll_interval]
[-lsa_retransmit_delay]
[-transmit_delay]
[-max_lsas_per_pkt]
[-host_route]
[-neighbor_dr_eligibility]
[-te_admin_group]

ARGUMENTS

-mode Valid choices are:

Value Usage

enable Enables the OSPF router on the Ixia inter-


face.
disable Disables the OSPF router.
delete Deletes the OSPF router on the Ixia interface.
create Creates the OSPF router on the Ixia interface.
modify Modifies the OSPF router on the Ixia inter-
face.

-session_type The OSPF version to be emulated. CHOICES: ospfv2 ospfv3.

-area_id The OSPF area ID associated with the interface.

-area_id_step The OSPF area ID step associated with the -area_id option on the ISPF interface.

-area_type The "area_type" advertised in the Router LSA interface list. Valid choices are:

Value Usage

external-capable (default) A transit network.


ppp A point-to-point network.
stub A stub network.

HLTAPI Commands, Release 2.80 Rev. B 16-3


OSPF APIs
16
-authentication_mode This option defines the authentification mode used for OSPF. Valid choices are:

Value Usage

null (default) No authentication


simple Clear text authentication (see also -password)
md5 MD5 based authentication (see also -md5_
key and -md5_key_id)

-count Defines the number of OSPF routers to configure on the -port_handle.

-dead_interval The time after which the DUT router is considered dead if it does not send
HELLO messages.

-demand_circuit Enables the Demand Circuit bit. Pertains to handling of demand circuits (DCs)
by the router. CHOICES 0 1

-handle OSPF session handle for using the modes delete, modify, enable, and disable.

-hello_interval The time between HELLO messages sent over the interface. RANGE 1-65535

-interface_cost The metric associated with the OSPF interface. RANGE 1-65535

-intf_ip_addr The IP address of the Ixia Simulated OSPF router. IP

-intf_ip_addr_step What step will be use for incrementing the -intf_ip_addr option. IP

-intf_prefix_length Defines the mask of the IP address used for the Ixia (-intf_ip_addr) and the DUT
interface. RANGE 1-128

-instance_id Defines the instance ID of the OSPFv3 process. It allows multiple instances of
the OSPFv3 protocol to be run simultaneously over the same link. RANGE 0-
65535

-loopback_ip_addr Defines the IP address of the loopback interface for MPLS VPN testing.

-loopback_ip_addr_step Defines the IP address step of the loopback interface for MPLS VPN.

-lsa_discard_mode Enables/Disables the LSA discard mode on the OSPF router. CHOICES 0 1

-md5_key Active only when "MD5" is selected in the Authentication field. Enter a value to
be used as a "secret" MD5 Key.

-md5_key_id Active only when "MD5" is selected in the Authentication field. Enter a value to
be used as a Key ID. This identifier is associated with the MD5 Key entered in
the field below.

-mtu The advertised MTU value in database entries sent to other routers create on the
Ixia interface. RANGE 512-4470

-neighbor_intf_ip_ The IP address of the DUT OSPF Interface. IP


addr

-neighbor_intf_ip_addr_ What step will be use for incrementing the -neighbor_intf_ip_addr option.
step

16-4 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

-network_type Indicates the type of network for the interface. Valid choices are:

Value Usage

broadcast (default) Indicates that the network is a broad-


cast
network, as in an Ethernet connection. N/A
ptop Indicates that the network is point to point.
ptomp Indicates that the network is point to multi-
point

-option_bits The bit sum of the different OSPF option bits. This switch is for users to custom-
ize options since area_type will determine a default value for those bits. The
Demand circuit option can be modified with the -demand_circuit option. In HEX.

-password Password to be used in the OSPF authentication mode is enabled and set to "sim-
ple".

-router_id The Router ID for this emulated OSPF Router, in IPv4 format. IP

-router_id_step The Router ID step for this emulated OSPF Router, in IPv4 format. IP

-router_priority The priority of the interface, for use in election of the designated or backup mas-
ter. RANGE 0-255

-te_enable If set to 1, this will enable Traffic Engineering on the OSPF router. The user can
then configure the TE parameters by using "-te_metric", "-te_max_bw", "-te_
max_resv_bw", "-te_unresv_bw_priority0-7".

-te_max_bw If "-enable_te" is 1, then this indicates the maximum bandwidth that can be used
on the link between this interface and its neighbors in the outbound direction.

-te_max_resv_bw If "-enable_te" is 1, then this indicates the maximum bandwidth, in bytes per sec-
ond, that can be reserved on the link between this interface and its neighbors in
the outbound direction.

-te_unresv_bw_priority0 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 0 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 0. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority1 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 1 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 1. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority2 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 2 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 2. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority3 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 3 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 3. The value must be less
than the maxReservableBandwidth option.

HLTAPI Commands, Release 2.80 Rev. B 16-5


OSPF APIs
16
-te_unresv_bw_priority4 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 4 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 4. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority5 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 5 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 5. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority6 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 6 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 6. The value must be less
than the maxReservableBandwidth option.

-te_unresv_bw_priority7 If "-enable_te" is 1, then this value indicates the amount of bandwidth, in bytes
per second, not yet reserved at the 7 priority level. This value corresponds to the
bandwidth that can be reserved with a setup priority of 7. The value must be less
than the maxReservableBandwidth option.

-te_router_id The router ID of the TE enabled OSPF router. IP

-te_metric If set to 1, then this indicates the traffic engineering metric associated with the
interface. RANGE 1-2147483647

-vci VCI for emulated router node. RANGE 0-65535

-vci_step The step value used for incrementing the -vci option.

-vlan_id If VLAN is enable on the Ixia interface, this option will configure the VLAN
number. RANGE 0-4095

-vlan_id_mode If the user configures more than one interface on the Ixia with VLAN, he can
choose to automatically increment the VLAN tag or leave it idle for each inter-
face. CHOICES fixed increment

-vlan_id_step If the -vlan_id_mode is increment, this will be the step value by which the VLAN
tags are incremented. RANGE 0-4095

-vpi VPI for emulated router node. RANGE 0-255

-vpi_step The step value used for incrementing the -vpi option.

-graceful_restart_enable Will enable graceful restart (HA) on the OSPF neighbor.

-instance_id_step Step at which the -instance_id will be incremented. RANGE 0-65535

-mac_address_init This option defines the MAC address that will be configured on the Ixia inter-
face. If is > 1, this MAC address will increment by default by step of 1.

-no_write If this option is present, the protocol configuration will not be written to the
server.

-port_handle Ixia interface upon which to act.

-reset If this option is selected, this will clear any OSPF router on the targeted interface.

-vlan Will enable/disable VLAN on the interface to be configured. CHOICES 0 1

16-6 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

-vlan_priority Defines the VLAN user priority for the interface. RANGE 0-7

-poll_interval

-lsa_retransmit_delay

-transmit_delay

-max_lsas_per_pkt

-host_route

-neighbor_dr_eligibility

-te_admin_group

RETURN VALUES
Key Value

status $::SUCCESS or $::FAILURE


log If failure, will contain more information
handle The router numbers

EXAMPLES See files starting with OSPFv2 and OSPFv3 in the Samples
subdirectory. Also see some of the L2VPN, L3VPN, MPLS,
and MVPN sample files for further examples of the OSPF
usage.
See the OSPF example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 16-7


OSPF APIs
16

NAME — ::ixia::emulation_ospf_topology_route_config

DESCRIPTION This procedure will add OSPF route(s) to a particular simulated OSPF router Ixia
Interface. The user can configure the properties of the OSPF routes.

SYNOPSIS ::ixia::emulation_ospf_topology_route_config
-mode CHOICES create modify delete
-handle
[-type CHOICES router grid network
summary_routes ext_routes]
[-elem_handle]
[-router_id IP (DEFAULT 0.0.0.0)]
[-router_abr CHOICES 0 1 (DEFAULT 0)]
[-router_asbr CHOICES 0 1 (DEFAULT 0)]
[-router_te CHOICES 0 1 (DEFAULT 0)]
[-grid_row RANGE 1-10000 (DEFAULT 1)]
[-grid_col RANGE 1-10000 (DEFAULT 1)]
[-grid_router_id IP (DEFAULT 0.0.0.0)]
[-grid_router_id_step IP (DEFAULT 0.0.0.0)]
[-grid_link_type CHOICES broadcast
ptop_numbered ptop_unnumbered
(DEFAULT ptop_numbered)]
[-grid_prefix_start IP DEFAULT 0.0.0.0]
[-grid_prefix_length RANGE 1-128 (DEFAULT 24)]
[-grid_prefix_step IP (DEFAULT 0.0.0.1)]
[-grid_connect DEFAULT 1 1]
[-grid_disconnect]
[-grid_te CHOICES 0 1 (DEFAULT 0)]
[-net_ip IP (DEFAULT 0.0.0.0)]
[-net_prefix_length RANGE 1-128 (DEFAULT 24)]
[-summary_number_of_prefix RANGE 1-16000000
(DEFAULT 24)]
[-summary_prefix_start IP (DEFAULT 0.0.0.0)]
[-summary_prefix_length RANGE 0-128 (DEFAULT 24)]
[-summary_prefix_metric RANGE 1-16777215 (DEFAULT 1)]
[-summary_prefix_step DEFAULT 1]
[-external_number_of_prefixRANGE 1-16000000
(DEFAULT 24)]
[-external_prefix_start IP (DEFAULT 0.0.0.0)]
[-external_prefix_length RANGE 0-128 (DEFAULT 24)]
[-external_prefix_metric RANGE 1-16777215 (DEFAULT 1)]
[-external_prefix_type CHOICES 1 2 (DEFAULT 1)]
[-interface_ip_address IP]
[-interface_ip_mask IP]
[-net_prefix_options (DEFAULT 16)]
[-no_write FLAG]
[-router_wcr CHOICES 0 1 (DEFAULT 0)]
[-router_connect]
[-link_enable]
[-link_intf_addr]
[-link_te]
[-link_te_instance]
[-link_te_link_id]
[-link_te_metric]
[-link_te_local_ip_addr]
[-link_te_remote_ip_addr]

16-8 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

[-link_te_type]
[-link_te_admin_group]
[-link_te_max_bw]
[-link_te_max_resv_bw]
[-link_te_unresv_bw_priority0]
[-link_te_unresv_bw_priority1]
[-link_te_unresv_bw_priority2]
[-link_te_unresv_bw_priority3]
[-link_te_unresv_bw_priority4]
[-link_te_unresv_bw_priority5]
[-link_te_unresv_bw_priority6]
[-link_te_unresv_bw_priority7]
[-router_disconnect]
[-grid_stub_per_router]
[-grid_connect_session]
[-net_dr]
[-summary_connect]
[-external_prefix_step]
[-external_prefix_forward_addr]
[-external_connect]
[-nssa_number_of_prefix]
[-nssa_prefix_start]
[-nssa_prefix_length]
[-nssa_prefix_step]
[-nssa_prefix_metric]
[-nssa_prefix_type]
[-nssa_prefix_forward_addr]

ARGUMENTS

-mode Mode of the procedure call. Valid choices are:

Value Usage

create N/A
modify N/A
delete N/A

-handle This option represents the handle the user *must* pass to the "emulation_ospf_
topology_route_config" procedure. This option specifies on which OSPF router
to configure the OSPF route range. The OSPF router handle(s) are returned by
the procedure "emulation_ospf_config" when configuring OSPF routers on the
Ixia interface.

-elem_handle This option specifies on which topology element to configure the route options.
The user must pass in this option if the "type" is modify or delete.

-type The type of topology route to create. Valid choices are:

Value Usage

router Individual OSPF router.


grid A rectangular grid of routers.
network A subnet behind the selected session router.
summary_routes A pool of summary route addresses.
ext_routes A pool of external route addresses.

HLTAPI Commands, Release 2.80 Rev. B 16-9


OSPF APIs
16
-router_id The ID associated with the router.

-router_abr If true (1), set router to be an area boundary router (ABR). Correspond to E
(external) bit in router LSA.

(DEFAULT = 1)

-router_asbr If true (1), set router to be an AS boundary router (ASBR). Correspond to B


(Border) bit in router LSA.

(DEFAULT = 1)

-router_virtual_link_endpt This option is supported for OSPFV3 only. Indicates that the router is an end-
point of one or more fully adjacent virtual links.

-router_te If true (1), enable traffic engineering. OSPFv2 only.

(DEFAULT = 0)

-grid_row Defines number of rows in a grid.

-grid_col Defines number of columns in a grid.

-grid_router_id The first router ID of the grid.

-grid_router_id_step The increment step for the router ID in a grid.

-grid_prefix_start The IP subnet address associated with the first router.

-grid_prefix_length The length of the mask associated with the grid_prefix_start.

-grid_prefix_step This is the value used to increment the subnet address by between successively
generated routers.

-grid_connect Connects a router in the grid, as specified by the row and column, to the session
router of specified OSPF session. The format for entering the row and column is
"grid_connect <row> <col>". By default, the 1st row and 1st column router is
connected to the session router of its parent session.

-grid_te If true (1), enable traffic engineering on the router grid. OSPFv2 only. This can
overwrite the settings on the session router.

(DEFAULT = 0)

-net_ip IP address of the network (transit link) behind the session router.

-net_prefix_length IP mask of the network (transit link).

-summary_number_of_ The number of prefixes to be advertised. This option is for summary route only.
prefix

-summary_prefix_start The IP address of the routes to be advertised.

-summary_prefix_length The number of bits in the prefixes to be advertised. For example, a value of 24 is
equivalent to a network mask of 255.255.255.0.

-summary_prefix_step Supported in OSPFv3 only. The increment used to generate multiple summary
addresses.

16-10 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

-summary_prefix_metric The cost metric associated with the route.

-external_number_of_ The number of prefixes to be advertised. This option is for external route only.
prefix

-external_prefix_start The IP address of the routes to be advertised.

-external_prefix_length The number of bits in the prefixes to be advertised. For example, a value of 24 is
equivalent to a network mask of 255.255.255.0.

-external_prefix_step Supported in OSPFv3 only. The increment used to generate multiple summary
addresses.

-external_prefix_metric The cost metric associated with the route.

-external_prefix_type Valid choices are:

Value Usage
1 Outside the area.
2 Outside the area, but with metrics which are
larger than any internal metric.

-interface_ip_address For OSPFv2 only. IP address of the unconnected interface between the router/
grid to the session router.

(DEFAULT = 0.0.0.0)

-interface_ip_mask For OSPFv2 only.

IP mask of the un-connected interface between the router/grid to the session


router.

(DEFAULT = 255.255.255.0)

-interface_ip_options For OSPFv2 only.

Options related to the interface. Multiple options may be combined using a logi-
cal or. Valid choices are:

Value Usage

ospfOptionBitTypeOfService 0x01
ospfOptionBitExternalRouting 0x02
ospfOptionBitMulticast 0x04
ospfOptionBitNSSACapability 0x08
ospfOptionBitExternalAttributes 0x10
ospfOptionBitDemandCircuit 0x20
ospfOptionBitLSANoForward 0x40
ospfOptionBitUnused 0x80

HLTAPI Commands, Release 2.80 Rev. B 16-11


OSPF APIs
16
-net_prefix_options For OSPFv3 only. An 8-bit quantity with options related to the IP address of the
network (transit link).

(DEFAULT = 0)

Multiple bits may be combined using a logical "or".

Valid choices are:

Value Usage

ospfV3PrefixOptionPBit 0x08--The propagate bit, which is set on


NSSA area prefixes that should be re-adver-
tised at the NSSA area border.
ospfV3PrefixOptionMCBit 0x04--The multicast capability bit, which
should be set if the prefix should be included
in IPv6 multicast routing calculations.
ospfV3PrefixOptionLABit 0x02--The local address capability bit, which
should be set if the prefix is actually an IPv6
interface address of the advertising router.
ospfV3PrefixOptionNUBit 0x01--The no unicast bit, which should be set
if the prefix should be excluded from IPv6 uni-
cast calculations.

-no_write If this option is present, the protocol configuration will not be

written to the server.

-router_wcr Indicates that the router is a wild-card multicast receiver and will

receive multicast datagrams regardless of destination.

-router_connect

-link_enable

-link_intf_addr

-link_te

-link_te_instance

-link_te_link_id

-link_te_metric

-link_te_local_ip_addr

-link_te_remote_ip_addr

-link_te_type

-link_te_admin_group

-link_te_max_bw

-link_te_max_resv_bw

16-12 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

-link_te_unresv_bw_
priority0

-link_te_unresv_bw_
priority1

-link_te_unresv_bw_
priority2

-link_te_unresv_bw_
priority3

-link_te_unresv_bw_
priority4

-link_te_unresv_bw_
priority5

-link_te_unresv_bw_
priority6

-link_te_unresv_bw_
priority7

-router_disconnect

-grid_stub_per_router

-grid_connect_session

-net_dr

-summary_connect

-external_prefix_step

-external_prefix_forward_
addr

-external_connect

-nssa_number_of_prefix

-nssa_prefix_start

-nssa_prefix_length

-nssa_prefix_step

-nssa_prefix_metric

-nssa_prefix_type

-nssa_prefix_forward_addr

HLTAPI Commands, Release 2.80 Rev. B 16-13


OSPF APIs
16
RETURN VALUES
Key Value

status $::SUCCESS or $::FAILURE


log If failure, will contain more information

EXAMPLES See files starting with OSPFv2 and OSPFv3 in the Samples
subdirectory. Also see some of the L2VPN, L3VPN, MPLS,
and MVPN sample files for further examples of the OSPF
usage.
See the OSPF example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

Caveats:

This function does not support the following return values:

router

. connected_handles

. <handle1>.link_type <link_type>

. te_link_lsa <te_link_lsa_handle>

. link_type <link_type_list>

. router_lsa <router_lsa_handle>

. link_lsa <ospfv3_link_lsa_handle>

. intra_area_pfx_lsa <ospfv3_intra_area_prefix_lsa_handle>

. te_router_lsa <ospfv2_te_router_lsa_handle>

. te_link_lsas <ospfv2_te_link_lsa_handle_list

grid

. router.$row.$col <router_handle>

network

. network_lsa <lsa_handle>

. intra_area_pfx_lsa <ospfv3_intra_area_prefix_lsa_handle>

. connected_routers <router_handle_list>

summary

. summary_lsas <lsa_pool_handle>

. connected_routers <router_handle_list> external

16-14 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

. external_lsas <lsa_pool_handle>

. connected_routers <router_handle_list>

nssa

. nssa_lsas <lsa_pool_handle>

. connected_routers <router_handle_list>

. version {ospfv2|ospfv3}

handle (ospf_session_handle)/elem_handle must be created and used within one


wish shell.

OSPFv3

Router and grid type do not support "modify" mode. This is due to ixTclHal's
lack of getNetworkRange option with a lableId. To workaround, delete then re-
create router or grid topology element.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 16-15


OSPF APIs
16

NAME — ::ixia::emulation_ospf_control

DESCRIPTION

SYNOPSIS ::ixia::emulation_ospf_control
-mode CHOICES create delete modify enable disable
-handle
[-port_handle REGEXP ^[0-9]+/[0-9]+/[0-9]+$]
[-advertise]
[-withdraw]
[-advertise_lsa]
[-withdraw_lsa]
[-flap_routes]
[-flap_lsa]
[-flap_count]
[-flap_interval_time]
[-flap_down_time]

ARGUMENTS

-mode Tells which option will be performed on the OSPF protocol.

Valid choices are:

Value Usage
restart N/A
start N/A
stop N/A

-port_handle A list of ports on which to control the OSPF protocol. If this option is not present,
the port in the handle option will be applied.

-handle This option represents the handle the user *must* pass to the "emulation_ospf_
control" procedure. This option specifies on which OSPF session to control. If
port_handle option is present, the port_handle takes precedence over port in the
router handle. The OSPF router handle(s) is returned by the procedure
::ixia::emulation_ospf_config when configuring router handle(s).

-advertise

-withdraw

-advertise_lsa

-withdraw_lsa

-flap_routes

-flap_lsa

-flap_count

-flap_interval_time

-flap_down_time

16-16 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

RETURN VALUES
Key Value

status $::SUCCESS or $::FAILURE


log If failure, will contain more information

EXAMPLES See files starting with OSPFv2 and OSPFv3 in the Samples
subdirectory. Also see some of the L2VPN, L3VPN, MPLS,
and MVPN sample files for further examples of the OSPF
usage.
See the OSPF example in Appendix A, "Example APIs," for one
specific example usage.

SAMPLE INPUT

SAMPLE OUTPUT

NOTES Coded versus functional specification.

SEE ALSO

HLTAPI Commands, Release 2.80 Rev. B 16-17


OSPF APIs
16

NAME — ::ixia::emulation_ospf_lsa_config

DESCRIPTION This procedure will add, modify, or delete a User LSA to a particular OSPF ses-
sion. The user must create a OSPF session using the procedure "emulation_ospf_
config" prior to calling this procedure.

SYNOPSIS ::ixia::emulation_ospf_lsa_config
-mode CHOICES create modify delete
-handle
-lsa_handle
[-type CHOICES router network
summary_pool asbr_summary ext_pool (
DEFAULT routerospfv2)]
[-adv_router_id IP]
[-link_state_id IP]
[-options RANGE 0-255]
[-router_abr CHOICES 0 1 (DEFAULT 0)]
[-router_asbr CHOICES 0 1 (DEFAULT 0)]
[-router_virtual_link_endpt CHOICES 0 1 (DEFAULT 0)]
[-router_link_mode CHOICES create]
[-router_link_id IP]
[-router_link_data IP]
[-router_link_type CHOICES ptop transit stub
virtual (DEFAULT ptop)]
[-router_link_metric RANGE 1-65535]
[-net_prefix_length]
[-net_attached_router CHOICES create delete reset
(DEFAULT create)]
[-attached_router_id IP]
[-summary_number_of_prefix]
[-summary_prefix_start IP]
[-summary_prefix_length]
[-summary_prefix_step IP]
[-summary_prefix_metric RANGE 1-16777215]
[-external_number_of_prefix]
[-external_prefix_start IP]
[-external_prefix_length]
[-external_prefix_step IP]
[-external_prefix_metric RANGE 1-16777215]
[-external_prefix_type CHOICES 1 2]
[-external_prefix_forward_addr IP]
[-ls_type_function_code RANGE 0-8191]
[-external_metric_fbit CHOICES 1 0]
[-external_metric_tbit CHOICES 1 0]
[-external_route_tag IP]
[-link_state_id_step IP (DEFAULT 0.0.0.0)]
[-no_write FLAG]
[-router_wildcard CHOICES 1 0]
[-prefix_options]
[-auto_update]
[-auto_ls_checksum]
[-auto_ls_age]
[-auto_ls_seq]
[-ls_checksum]
[-ls_age]
[-ls_seq]

16-18 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

[-ls_type_s_bits]
[-ls_type_u_bit]
[-nssa_number_of_prefix]
[-nssa_prefix_start]
[-nssa_prefix_length]
[-nssa_prefix_step]
[-nssa_prefix_metric]
[-nssa_prefix_type]
[-nssa_prefix_forward_addr]
[-router_link_idx]

ARGUMENTS

-mode Mode of the procedure call. Valid choices are:

Value Usage

create N/A
modify N/A
delete N/A

-handle This option represents the handle the user *must* pass to the "emulation_ospf_
lsa_config" procedure. This option specifies on which OSPF router to configure
the OSPF User LSA. The OSPF router handle(s) are returned by the procedure
"emulation_ospf_config" when configuring OSPF routers on the Ixia interface.

-lsa_handle This option specifies on which OSPF User LSA to configure. This option *must*
be passed if the -mode option is modify or delete.

The OSPF LSA handle(s) are returned by the procedure "emulation_ospf_lsa_


config" when creating OSPF user LSA(s) on the Ixia interface.

-type This option specified the type of the LSA. The choices are: router, network,
summary_pool, asbr_summary, ext_pool. The user *must* pass this option when
creating a LSA.

-adv_router_id The router ID of the router that is originating the LSA.

(DEFAULT = 0.0.0.0)

-link_state_id The router ID of the originating router. This field uniquely identified the LSA in
the link-state database.

-options The optional capabilities supported by the OSPFv2 router. For OSPFv3, use
OSPFv3 specific options. Multiple options may be combined using a logical
"or". Valid choices are:

Value Usage
ospfOptionBitTypeOfService 0x01
ospfOptionBitExternalRouting 0x02
ospfOptionBitMulticast 0x04
ospfOptionBitNSSACapability 0x08
ospfOptionBitExternalAttributes 0x10
ospfOptionBitDemandCircuit 0x20
ospfOptionBitLSANoForward 0x40

HLTAPI Commands, Release 2.80 Rev. B 16-19


OSPF APIs
16

Value Usage

ospfOptionBitUnused 0x80

-router_asbr Set router to be an AS boundary router (ASBR). Correspond to B (border) bit in


router LSA.

-router_virtual_link_endpt Set router to be an endpoint of an active virtual link. Correspond to V (virtual


link endpoint) bit in router LSA.

-router_link_mode This option specifies the mode for configuring router links in a router LSA. Note
that the modify and delete mode do not work. Valid choices are:

Value Usage

create N/A
modify N/A
delete N/A

-router_link_id Identifies the object that this router link connects to, depending on the router_
link_type option. Valid choices are:

Value Usage

ptop The neighboring routerís router ID.


transit The IP address of the Designated Router.
stub The IP network/subnet number.
virtual The neighboring routerís router ID.

-router_link_data The meaning of this option depends on the router_link_type option. Valid
choices are:

Value Usage

ptop The interfaceís MIB-II.


transit The router interfaceís IP address.
stub The networkís IP address mask.
virtual The router interfaceís IP address.

-router_link_type The type of the router link. Valid choices are:

Value Usage

ptop A point-to-point connection to another router.


transit (default) A connection to a transit network.
stub A connection a stub network. virtual - A vir-
tual link.

-router_link_metric The cost of using the router link, applied to all TOS values.

(DEFAULT = 0)

-net_prefix_length The length in bits of the IP address mask for the network.

16-20 HLTAPI Commands, Release 2.80 Rev. B


OSPF APIs

-net_attached_router The option specifies the mode in configuring router IDs in the area. Note that
delete and reset does not work. Valid choices are:

Value Usage

create N/A
delete N/A
reset N/A

-attached_router_id A list of router IDs in the area, in IP address format separated by spaces.

-summary_number_of_ The number of Summary IP LSAs to generate.


prefix

-summary_prefix_start This option is valid for OSPFv3 summary_pool route type. The prefix address to
be advertised in the LSA. Although only prefixLength bits of the IPv6 address
are meaningful, a full IPv6 address should be specified.

-summary_prefix_length The number of high-order bits of prefixAddress that are significant.

-summary_prefix_step If summary_number_of_prefix is greater than 1, this is the value that will be


added to the most significant summary_prefix_length bits of summary_prefix_
start between generated LSAs. This is also the value to increment the link_state_
id.

-summary_prefix_metric The cost of the route for all TOS levels.

-external_number_of_ The number of External IP LSAs to generate.


prefix

-external_prefix_start This option is valid for OSPFv3 external route type. The prefix address to be
advertised in the LSA. Although only prefixLength bits of the IPv6 address are
meaningful, a full IPv6 address should be specified.

-external_prefix_length The number of high-order bits of prefixAddress that are significant.

-external_prefix_step If external_number_of_prefix is greater than 1,this is the value that will be added
to the most significant external_prefix_length bits of external_prefix_start
between generated LSAs. This is also the value to increment the link_state_id.

-ex