Api Conversion Guide
Api Conversion Guide
Introduction
This guide reviews the major areas of the IpPerformance test session API that have been enhanced in the RouterTester900
test session API (N2X Packets and Protocols application). In most cases, you can achieve much better test coverage by using
the RouterTester900 test session. Many RouterTester900 features are not available with IpPerformance test sessions; these
features are highlighted in the “New capabilities” sections of this guide. For general background information about the N2X
Packets and Protocols application, compatibility with IP Performance, and tools and services to aid API script conversion, see
the N2X Packets and Protocols “Frequently asked questions” (FAQs) available at the N2X web site.
Script conversion is NOT required if you want to run existing scripts on your current hardware, you can continue to do so
using up to Version 5.1.5 of the IpPerformance application.
Use this guide with the Script API Conversion Analyzer, which parses a Version 5.x IpPerformance script and generates a
report identifying all API references that need to be modified for the new N2X Packets and Protocols application.
• C:\Program Files\Agilent\N2X\QuickTest\CommonScripts\Common\ScriptingUtilities\ScriptConversionAnalyzer\CheckRtApiUsage.tcl
For complete details about the RouterTester900 test session API, see the API online help or API Programmer’s Guide installed
with the software:
• C:\Program Files\Agilent\N2X\RouterTester900\<version>\doc\RT900MasterApi.chm — online API help
• C:\Program Files\Agilent\N2X\RouterTester900\<version>\doc\RT900Api.pdf — printable PDF guide
Notation
AgtStreamGroup — (bold) New RouterTester900 test session API object
AgtIpPdu — (underlined italics) IpPerformance test session API objects that have been removed
AgtEthernetInterface — IpPerformance API objects that have been reused
-1-
Contents
1 Traffic generation ......................................................................................................................................................................................3
1.1 Traffic streams ................................................................................................................................................................................. 3
1.1.1 Creating traffic objects........................................................................................................................................................... 3
1.1.2 Configuring traffic parameters ............................................................................................................................................... 3
1.1.2.1 Traffic generator ................................................................................................................................................................ 3
1.1.2.2 Traffic generator stream.................................................................................................................................................... 4
1.1.3 Configuring IP addresses, MPLS labels, and Ethernet fields ................................................................................................. 5
1.1.4 Generating layer 2 errors ....................................................................................................................................................... 5
1.2 Traffic meshes ................................................................................................................................................................................. 6
1.2.1 Creating traffic objects........................................................................................................................................................... 6
1.2.2 Creating and listing streams................................................................................................................................................... 6
1.2.3 Configuring IP addresses ....................................................................................................................................................... 7
1.2.4 Configuring traffic parameters ............................................................................................................................................... 8
1.2.4.1 Mesh traffic ....................................................................................................................................................................... 8
1.2.4.2 Unicast traffic .................................................................................................................................................................... 9
1.2.4.3 Multicast traffic ...............................................................................................................................................................10
1.2.4.4 RSVP tunnel traffic...........................................................................................................................................................11
1.2.4.5 BGP-4 VPN traffic............................................................................................................................................................12
1.2.4.6 PPPoX session traffic .......................................................................................................................................................12
1.2.5 Starting traffic ......................................................................................................................................................................13
1.3 Traffic profiles................................................................................................................................................................................13
1.3.1 Traffic loads..........................................................................................................................................................................13
1.3.2 Using a constant bandwidth profile .....................................................................................................................................13
1.3.3 Using a burst bandwidth profile...........................................................................................................................................14
1.4 PDU contents.................................................................................................................................................................................14
1.4.1 Defining layer 2 and 3 addresses ........................................................................................................................................15
1.4.2 Defining additional layer 2 header fields .............................................................................................................................15
1.4.3 Defining layer 3 and layer 4 headers...................................................................................................................................15
1.4.4 Defining PDU payloads ........................................................................................................................................................16
1.5 New capabilities............................................................................................................................................................................16
2 Statistics.................................................................................................................................................................................................. 16
2.1 Changes to statistics objects .........................................................................................................................................................16
2.2 Example statistics code .................................................................................................................................................................17
2.3 New capabilities............................................................................................................................................................................18
3 Capture ................................................................................................................................................................................................... 18
3.1 Capturing packets..........................................................................................................................................................................18
3.2 Analyzing captured packets...........................................................................................................................................................19
3.3 New capabilities............................................................................................................................................................................20
4 Protocol emulations ................................................................................................................................................................................ 20
4.1 RSVP emulation.............................................................................................................................................................................21
4.2 OSPF emulation.............................................................................................................................................................................21
4.3 PPPoX, L2TP emulation .................................................................................................................................................................21
5 Test cards................................................................................................................................................................................................ 24
5.1 ATM cards .....................................................................................................................................................................................24
5.2 Frame Relay cards.........................................................................................................................................................................26
6 Other....................................................................................................................................................................................................... 27
-2-
1 Traffic generation
The IpPerformance test session API provides two ways to configure traffic: the traffic stream model and the traffic mesh
model. The equivalent N2X Packets and Protocols application (RouterTester900 test session) methodology for both of these is
discussed below.
With RouterTester900 test sessions, you need to create only an AgtStreamGroup using the AgtStreamGroupList object. There
is no need for an equivalent for the AgtTrafficPort object.
The handles returned from a call to AddStreamGroup are the StreamGroup handle, the Profile handle, and the PDU handle.
% set hStreamGroup [lindex $hStreamGroupSetup 0]
% set hProfile [lindex $hStreamGroupSetup 1]
% set hPdu [lindex $hStreamGroupSetup 2]
AgtTrafficGenerator
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetSource / GetSource Ports are assigned when an AgtStreamGroup or AgtProfile object is
Used to assign a port (using a port handle) to an created using AgtStreamGroupList or AgtProfileList.
AgtTrafficGenerator object.
Enable / Disable An AgtStreamGroup can be enabled/disabled by using the Enable/Disable
Used to enable/disable an AgtTrafficGenerator object. methods.
All AgtStreamGroup objects sharing the same profile can be
-3-
enabled/disabled by using AgtProfile Enable/Disable methods.
SetProfile / GetProfile Profiles are assigned to an AgtStreamGroup object using the
Used to assign a profile (using a profile handle) to an SetProfile/GetProfile methods.
AgtTrafficGenerator object.
SetLoad / GetLoad Load parameters are specified through the AgtConstantProfile and
SetLoadUnits / GetLoadUnits AgtBurstProfile objects’ SetAverageLoad/GetAverageLoad methods.
Used to specify IP load parameters on an Unlike IpPerformance, the specified value refers to the link-layer (L2)
AgtTrafficGenerator object. traffic load instead of the IP (L3) load.
EnableRandomPayload / DisableRandomPayload Random payload is configured using the AgtPduPayload object. A payload
Used to enable/disable random payload generation. fill of AGT_PAYLOAD_FILL_TYPE_RANDOM is used with the
SetPayloadFill method. Other types of payload fill (incrementing,
repeating pattern) are now available.
An AgtStreamGroup is assigned a PDU. The PDU handle is needed to use
the AgtPduPayload object.
SetPacketLength / GetPacketLength Packets of varying lengths are configured using the AgtStreamGroup
SetPacketLengthRange / GetPacketLengthRange object. Methods Set/GetLengthMode and Set/GetLength are used. Other
GetMinimumPacketLength / GetMaximumPacketLength ways of varying packet lengths (random, incrementing and decrementing
Used to generate packets of varying lengths by specified step size) are now available.
AddStream An AgtStreamGroup object can contain many streams. Refer to
RemoveStream / RemoveAllStreams AgtStreamGroup object’s SetStreamGenerationParameter to configure
CopyStream ListStreams multiple streams on a stream group.
Used to manipulate AgtTrafficGeneratorStream objects.
AgtTrafficGeneratorStream
IpPerformance test session methods Equivalent RouterTester900 test session methods
Enable / Disable An AgtStreamGroup can be enabled/disabled by using the Enable/Disable
Used to enable/disable an AgtTrafficGeneratorStream methods.
object. All AgtStreamGroup objects sharing the same profile can be
enabled/disabled by using AgtProfile Enable/Disable methods.
SetPdu / GetPdu A PDU is automatically assigned when an AgtStreamGroup object is
Used to assign a PDU to a traffic generator stream. created. The PDU handle can be obtained using GetPdu, and passed to
AgtPduHeader and AgtPduPayload for definition.
SetPacketRepeatCount /GetPacketRepeatCount AgtStreamGroup has equivalent functionality with Set/GetRepeatCount.
Used to allow streams from same AgtTrafficGenerator to Tuning this parameter allows AgtStreamGroups with a common AgtProfile
have proportionally different loads. to have proportionally different loads.
GetStreamId Each AgtStreamGroup can contain many streams. Use methods
Used to obtain a unique Id for the stream. GetStreamTag and SetStreamGenerationParameter.
GetAddressPairCount There is no equivalent functionality as, unlike the IpPerformance
Used to obtain the number of IP source/destination application, the number of source/destination addresses is unlimited.
address pairs assigned to the stream.
AddFlowSet / RemoveFlowSet To generate different IP source/destination addresses, use the
CopyFlowSet / ListFlowSets functionality provided by the AgtPduHeader. Specifically, methods
Used to manipulate AgtFlowSet objects which define SetFieldIncrementingValueRange, SetFieldDecrementingValueRange,
different IP source/destination addresses. SetFieldValueList, and SetFieldRandomValueRange.
-4-
1.1.3 Configuring IP addresses, MPLS labels, and Ethernet fields
With IpPerformance test sessions, you use AgtFlowSet to define different IP source/destination addresses to use with IP
traffic, AgtTrafficLabelPool to configure MPLS labels, and AgtTrafficEthernetAddressPool to configure MAC addresses and
VLAN tags.
% # IP ADDRESSES
% # set source addresses to 124.0.0.1, 124.0.1.1, ... 124.0.99.1
% # and destination address to 148.0.0.1
% set hFlowSet1 [AgtInvoke AgtTrafficGeneratorStream ListFlowSets $hStream]
% AgtInvoke AgtFlowSet SetSourceAddressPool $hFlowSet1 124.0.0.1 24 100 1
% AgtInvoke AgtFlowSet SetDestinationAddressPool $hFlowSet1 148.0.0.1 24 1 1
% AgtInvoke AgtFlowSet SetFlowMapping $hFlowSet1 AGT_FLOWSET_MAPPING_MANY_TO_MANY
% # MPLS LABELS
% set hPool [AgtInvoke AgtFlowSet AddLabelPool $hFlowSet1] 1
% # set the label stack depth to 2 and configure the labels
% AgtInvoke AgtTrafficLabelPool SetStackDepth $hPool 2
% AgtInvoke AgtTrafficLabelPool SetLabelStackEntry $hPool 1 32 0 64
% AgtInvoke AgtTrafficLabelPool SetLabelStackEntry $hPool 2 33 0 64
With RouterTester900 test sessions, all header fields are set through AgtPduHeader. You use general-purpose field modifiers
(i.e. hardware counters) to cycle any field in the PDU through a range or set of values.
% AgtInvoke AgtStreamGroup SetPduHeaders $hStreamGroup “ethernet mpls ipv4”
% set hPdu [AgtInvoke AgtStreamGroup GetPdu $hStreamGroup]
% # IP ADDRESSES
% # increment IP source address 124.0.0.1, 124.0.1.1 … 124.0.99.1
% AgtInvoke AgtPduHeader SetFieldIncrementingValueRange $hPdu ipv4 1 source_address 8 \
124.0.0.1 100 1
% # Fixed destination address of 148.0.0.1
% AgtInvoke AgtPduHeader SetFieldFixedValue $hPdu ipv4 1 destination_address 148.0.0.1
% # MPLS LABELS
% # Configure 2 labels and set their values
% AgtInvoke AgtPduHeader SetFieldFixedValue $hPdu mpls 1 Label1 32
% AgtInvoke AgtPduHeader EnableOptionalField $hPdu mpls 1 entry2
% AgtInvoke AgtPduHeader SetFieldFixedValue $hPdu mpls 1 Label2 33
-5-
1.2 Traffic meshes
The IpPerformance test session object AgtTrafficMesh configures IPv4 traffic on many ports at once, automatically
configuring the layer 2 header and IP source/destination addresses from link layer settings and routing protocols. In
RouterTester900 test sessions, AgtIpv4Mesh replaces this object.
The IpPerformance test session object AgtBgp4MplsVpnTraffic configures MPLS traffic on one port, automatically configuring
the MPLS labels from the control protocols associated with the VPN site. In RouterTester900 test sessions,
AgtBgp4MplsVpnMesh replaces this object.
The IpPerformance test session object AgtUnicastTraffic configured traffic on many ports at once, and allowed destination IP
addresses and MPLS labels to be configured. This was superseded in IpPerformance test sessions by the objects
AgtTrafficGenerator, AgtTrafficGeneratorStream and AgtFlowSet. Therefore, in RouterTester900 test sessions,
AgtStreamGroup provides the equivalent functionality.
The IpPerformance test session object AgtMulticastTraffic configured traffic on many ports at once, automatically deriving the
IP source/destination addresses from the routes advertised by multicast control protocols. In RouterTester900 sessions,
AgtMulticastMesh replaces this object.
The IpPerformance test session object AgtTunnelTraffic configured traffic on one port, automatically deriving the MPLS labels
from the RSVP setup. In RouterTester900 sessions, AgtRsvpMesh replaces this object.
To transmit IPv6 traffic in IpPerformance, the objects AgtTrafficGenerator, AgtTrafficGeneratorStream and AgtFlowSet were
used to manually configure the packets and addresses. In RouterTester900, the object AgtIpv6Mesh can be used to
configure IPv6 traffic automatically on many ports at once, using the layer 2 header and IPv6 source/destination addresses
from the link layer settings and IPv6 routing protocols.
-6-
stream defines, through lists, the layer 2 and 3 addresses and labels to use for the traffic. The object AgtStreamList permits
various ways to list streams, and the object AgtTrafficStream allows streams to be modified.
In RouterTester900 test sessions, the mesh objects create stream groups, or they are created manually using
AgtStreamGroupList. A stream group provides a common PDU format and can contain one or many streams. A stream is
defined as traffic for which unique statistics can be measured. Streams are created through the selection of a field in the PDU
as a stream generation parameter. When the field is a range of values, a stream is created for each unique value.
The mesh objects automatically create multiple stream groups and streams according to the specific traffic type. The stream
groups can be listed through the mesh object (e.g. AgtIpv4Mesh) and the stream generation parameter through
AgtStreamGroup.
% # Query the streams created by a mesh
% set hStreamGroupList [AgtInvoke AgtIpv4Mesh ListStreamGroups]
% set hStreamGroup0 [lindex $hStreamGroupList 0]
% AgtInvoke AgtIpv4Mesh IsStreamGenerationEnabled
1
% AgtInvoke AgtStreamGroup GetStreamGenerationParameter $hStreamGroup0
ipv4 1 destination_address
When stream groups are manually created using AgtStreamGroupList, use the objects AgtStreamGroup and AgtPduHeader
to modify the stream group and create streams.
% # Create a stream group with 100 streams - one for each destination IP address
% set hStreamGroupSetup [AgtInvoke AgtStreamGroupList AddStreamGroups $hPort \
AGT_PACKET_STREAM_GROUP 1]
% set hStreamGroup [lindex $hStreamGroupSetup 0]
% set hProfile [lindex $hStreamGroupSetup 1]
% set hPdu [lindex $hStreamGroupSetup 2]
% AgtInvoke AgtPduHeader SetFieldIncrementingValueRange $hPdu ipv4 1 destination_address 0 \
10.0.0.1 100 1
% AgtInvoke AgtStreamGroup SetStreamGenerationParameter $hStreamGroup ipv4 1 dest_address
% AgtInvoke AgtStreamGroup GetNumberOfStreams $hStreamGroup
100
For details on how streams can be used to generate measurements, refer to the statistics section and N2X Packets and
Protocols online API help.
In RouterTester900 test sessions, the individual mesh type dictates how PDU field values are derived, and as such this
information is available through the mesh object. For example, the destination IP address of an IPv4 mesh is derived from the
route pools advertised.
% # List all route pools used in mesh for destination port 2
% AgtInvoke AgtIpv4Mesh ListSelectedDestinationRoutePools $hMesh 2 {1 3 5 7}
The methods in AgtTrafficStream to modify the source IP address were provided in IpPerformance test sessions because
there was no other way to edit these PDU fields. In RouterTester900 test sessions, a more generic implementation allows
modification of all fields in the PDU through AgtPduHeader, including the source IP address. This functionality can be utilized
through the manual creation of stream groups, and to customize stream groups after creation by a mesh object.
% AgtInvoke AgtStreamGroup SetPduHeaders $hStreamGroup "ethernet ipv4"
-7-
% set hPdu [AgtInvoke AgtStreamGroup GetPdu $hStreamGroup]
The AgtIpv4Mesh object RouterTester900 has replaced the AgtTrafficMesh object IpPerformance. Calling the Add method in
the AgtMeshList object using the enumerator AGT_IPV4_MESH can create an object of this type.
AgtTrafficMesh
IpPerformance test session methods Equivalent RouterTester900 test session methods
Enable/Disable/IsEnabled IpPerformance test sessions enable functionality applies to the traffic, and
Used to enable/disable an AgtTrafficMesh object. the corresponding profiles they are uniquely related. In RouterTester900
test sessions these are two separate operations.
The stream groups can be enabled disabled using the same methods with
the object AgtIpv4Mesh.
All AgtStreamGroup objects sharing the same profile (usually if they share
a profile if they are on the same port) can be enabled/disabled by using
AgtProfile Enable/Disable methods.
AddSources RemoveSources ListSources AddDestinations Use the same methods with the object AgtIpv4Mesh.
RemoveDestinations ListDestinations
Used to configure the list of source and destination ports
to use when creating traffic streams.
SetTrafficDistribution / GetTrafficDistribution Use the same methods with the object AgtIpv4Mesh. Use the same
SetTrafficOrientation / GetTrafficOrientation enumerators for the orientation:
These settings determine how streams are created. • AGT_TRAFFIC_UNIDIRECTIONAL
Distribution=NON_MESHED • AGT_TRAFFIC_BIDIRECTIONAL
Orientation=UNIDIRECTIONAL Use the same enumerators for the distribution:
Each source sends to one destination. • AGT_TRAFFIC_NON_MESHED
Orientation=BIDIRECTIONAL • AGT_TRAFFIC_PARTIALLY_MESHED
Each source sends to one destination. Each destination • AGT_TRAFFIC_FULLY_MESHED
also sends to the same source.
Distribution=PARTIALLY_MESHED
Orientation=UNIDIRECTIONAL
Each source sends to all destinations.
Orientation=BIDIRECTIONAL
Each source sends to all destinations. Each destination
also sends to all sources.
Distribution=FULLY_MESHED
Orientation=BIDIRECTIONAL
-8-
Destinations are not used and only orientation bi-
directional is possible.
Each source sends to all other sources.
SetPdu / GetPdu A PDU is automatically assigned when an AgtStreamGroup object is
Used to assign a PDU to a traffic mesh. created as part of the mesh. The PDU handle can be obtained using
GetPdu, and passed to AgtPduHeader and AgtPduPayload for further
definition if necessary.
SetProfile / GetProfile Profiles are assigned to an AgtStreamGroup object using the
Used to assign a profile (using a profile handle) to an SetProfile/GetProfile methods. A default profile is assigned to stream
AgtTrafficMesh object. groups created as part of a mesh. If the method AgtMeshList Add is used
to create the mesh, the stream groups are created on the default (first)
profile on each port. If the method AgtMeshList
AddMeshWithNewProfiles is used to create the mesh, a new profile is
created on each port used in the mesh, and stream groups are assigned
to the new profiles.
SetLoad / GetLoad Load parameters are specified through the AgtProfile object
SetLoadUnits / GetLoadUnits SetAverageLoad/GetAverageLoad method.
Used to specify the IP load on an AgtTrafficMesh object. Unlike IpPerformance, the specified value refers to the link-layer (L2)
traffic load instead of the IP (L3) load.
GetIncomingLoadPerSource GetOutgoingLoadPerSource With a constant transmission profile (AgtConstantProfile) the total traffic
GetIncomingLoadPerDestination load is divided evenly across the number of AgtStreamGroup’s sharing the
GetOutgoingLoadPerDestination GetLoadPerStream transmission profile. This yields equal loads at each destination. With an
The amount of load (in Mb/s) being sent by the AgtBurstProfile the output load is controlled by the Burst load.
specified traffic mesh, from (outgoing) or into (incoming) Use the method GetAverageLoad to get the load on an AgtConstantProfile
a test port. With a constant transmission profile, the object.
total traffic Load is divided evenly across the number of Use the method GetBurstLoad to get the burst load on an AgtBurstProfile
destinations, to yield equal output loads to each object.
destination. With a Burst profile, the output load is
controlled by the Burst Load
SetAddressLimits / GetAddressLimits The N2X Packets and Protocols application (RouterTester900 test session)
GetMaximumAddressLimits does not have any limitations as to the number of source-destination
Each port can only send traffic on 65,536 different pairs, so equivalent methods do not exist.
source-destination pairs. These methods are useful to
limit the number of address pairs a particular Traffic
Mesh object uses as many Traffic Mesh objects can be
configured on a port.
AgtUnicastTraffic
IpPerformance test session methods Equivalent RouterTester 900 test session methods
Enable / Disable An AgtStreamGroup can be enabled/disabled by using the Enable/Disable
Used to enable/disable an AgtUnicastTraffic object. methods.
All AgtStreamGroup objects sharing the same profile can be
enabled/disabled by using AgtProfile Enable/Disable methods.
AddSources / RemoveSources An AgtStreamGroup is associated with one source port. To provide an
ListSources equivalent to AgtUnicastTraffic, one AgtStreamGroup must be created for
Used to configure the list of source ports for use when each configured source port.
creating traffic streams. In RouterTester900 test sessions, the expected destination port for the
-9-
An AgtUnicastTraffic object can span multiple ports. traffic must be explicitly set using the AgtStreamGroup method
One stream is created on each source port. SetExpectedDestinationPorts.
AddDestinationAddressPool With RouterTester900 test sessions, use AgtPduHeader to configure IP
RemoveDestinationAddressPool addresses. There is no limit to the number of source-destination pairs that
ListDestinationAddressPools can be configured.
SetDestinationAddressPool Refer to section “Configuring IP addresses” to see example API.
GetDestinationAddressPool GetTotalDestinationAddresses In order to be equivalent to Unicast traffic, every stream group on each
These methods are used to configure destination source port must be configured with the same range of IP destination
addresses for use on unicast traffic. addresses (via the AgtPduHeader object). The source address must be
unique amongst the stream group objects.
AddLabelPool / RemoveLabelPool With RouterTester900 test sessions, use AgtPduHeader to configure
ListLabelPools MPLS labels. Refer to section “Configuring IP addresses, MPLS labels and
These methods add MPLS labels to unicast traffic. The Ethernet fields” in the streams model section, to see example API. To
MPLS labels are defined using the AgtTrafficLabelPool configure MPLS it first must be selected using SetPduHeaders on the
object. AgtStreamGroup object.
In order to be equivalent to Unicast traffic, every stream group on each
source port must be configured with the same MPLS labels (via the
AgtPduHeader object)
SetPdu / GetPdu A PDU is automatically assigned when an AgtStreamGroup object is
Used to assign a PDU with a traffic mesh. created. The PDU handle can be obtained using GetPdu, and passed to
AgtPduHeader and AgtPduPayload for definition.
SetProfile / GetProfile Profiles are assigned to an AgtStreamGroup object using the
Used to assign a profile (using a profile handle) to an SetProfile/GetProfile methods.
AgtUnicastTraffic object.
SetLoad / GetLoad Load parameters are specified through the AgtConstantProfile and
SetLoadUnits / GetLoadUnits AgtBurstProfile objects’ SetAverageLoad/GetAverageLoad methods.
Used to specify the IP load. Unlike IpPerformance, the specified value refers to the link-layer (L2)
traffic load instead of the IP (L3) load.
AgtMulticastTraffic
IpPerformance test session methods Equivalent RouterTester900 test session methods
Enable / Disable An AgtMulticastMesh can be enabled/disabled by using the
Used to enable/disable an AgtMulticastTraffic object. Enable/Disable methods.
AddSources / RemoveSources An AgtMulticastMesh is associated with multiple source ports. The list of
ListSources source ports is configured using the AddSources / RemoveSources and
Used to configure the list of source ports for use when ListSources.
creating traffic streams. One AgtStreamGroup object is automatically created on each source port
An AgtMulticastTraffic object can span multiple ports. for every unique group pool / source address pool combination used by
One stream is created on each source port. multicast routing protocols on the destination ports.
The expected destination ports for the traffic will be automatically
configured based on the multicast sessions present on the destination
ports.
- 10 -
addresses to use are derived from multicast group pools One AgtStreamGroup object is automatically created on each source port
defined using the AgtMulticastGroupPool object. for every unique group pool / source address pool combination used by
multicast routing protocols on the destination ports. The IP destination
addresses will be configured based on the group pool. The IP source
addresses will be configured based on the source address pool.
SetPdu / GetPdu A PDU is automatically assigned when an AgtStreamGroup object is
Used to assign a PDU with a traffic mesh. created. The PDU handle can be obtained using GetPdu, and passed to
AgtPduHeader and AgtPduPayload for definition.
SetProfile/GetProfile Profiles are assigned to an AgtStreamGroup object using the
Used to assign a profile (using a profile handle) to an SetProfile/GetProfile methods.
AgtMulticastTraffic object.
SetLoad/GetLoad and SetLoadUnits/GetLoadUnits Load parameters are specified through the AgtConstantProfile and
Used to specify the IP load. AgtBurstProfile objects’ SetAverageLoad/GetAverageLoad method.
Unlike IpPerformance test sessions, the specified value refers to the link-
layer (L2) traffic load instead of the IP (L3) load.
The AgtRsvpMesh object in RouterTester900 has replaced the AgtTunnelTraffic object in IpPerformance. Calling the Add
method in the AgtMeshList object using the enumerator AGT_RSVP_MESH can create an object of this type.
AgtTunnelTraffic
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetSource / GetSource Single RSVP Ingress LSPs or entire RSVP Ingress LSP pools can be added
Each AgtTunnelTraffic is associated with one source as sources to an AgtRsvpMesh object using the AddIngressLsps and
port. AddIngressLspPools methods. Each single Ingress LSP or Ingress LSP pool
added to the mesh will create an AgtStreamGroup object.
To obtain the list of single Ingress LSPs or LSP pools that are associated
with the AgtRsvpMesh object, use the ListIngressLsps and
ListIngressLspPools methods.
ListAvailableTunnels The MPLS labels used by RSVP mesh are derived from the RSVP Ingress
SelectTunnels pools configured using the routing objects AgtRsvpSession and
ClearSelectedTunnels AgtRsvpIngressPool.
ListSelectedTunnels To add the entire AgtRsvpIngressPool object to the AgtRsvpMesh object,
The MPLS labels to use in tunnel traffic are derived only the RSVP Ingress pool handle is required.
from the RSVP tunnels configured using the routing To add a single LSP from an AgtRsvpIngressPool object to the
objects AgtRsvpSession, AgtRsvpTunnelIngressList and AgtRsvpMesh object, the RSVP ingress pool handle as well as the offset
AgtRsvpTunnelIngress. into the pool is required.
Refer to help on the AgtRsvpSession object to learn how to create an
AgtRsvpIngressPool object.
SetDestinationAddressPool Each single Ingress LSP or Ingress LSP pool added to the AgtRsvpMesh
GetDestinationAddressPool object creates a single AgtStreamGroup object. Therefore, each single
Configure the destination IP addresses to use on the Ingress LSP or Ingress LSP pool can have its own unique set of expected
selected tunnels. destination ports. You must define the expected destination ports when
adding the Ingress LSPs to the mesh.
Once the Ingress LSPs have been added to the mesh, the expected
destination ports can be modified or listed via the AgtStreamGroup object
using the methods SetExpectedDestinationPorts and
GetExpectedDestinationPort.
- 11 -
SetNumberOfLspsPerTunnel The labels used in traffic are obtained from all the Ingress LSPs that have
GetNumberOfLspsPerTunnel been added to the AgtRsvpMesh object.
AGT_TUNNEL_TRAFFIC_ONE_LSP: The labels used in The number of LSPs per pool will depend on the pool EndPointType and
traffic come from the first LSP of each selected tunnel. how it has been configured.
AGT_TUNNEL_TRAFFIC_ALL_LSPS: The labels used in Refer to help on the AgtRsvpIngressPool object to learn how to configure
traffic come from all the LSPs of each selected tunnel. a SingleEndPoint, MultipleEndpoint or GridEndpoint Ingress pool.
The AgtBgp4MplsVpnMesh object in RouterTester900 has replaced the AgtBgp4MplsVpnTraffic object in IpPerformance.
Calling the Add method in the AgtMeshList object using the enumerator AGT_BGP4_MPLS_VPN_MESH can create an
object of this type.
AgBgp4MplsVpnTraffic
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetSource GetSource In RouterTester900 test sessions it is not necessary to select the source
Each AgtBgp4MplsVpnTraffic object is associated with port, as this can be derived from the selected VPN site.
one source port.
SetSourceBgp4MplsVpnSite Use the RouterTester900 test session object AgtBgp4MplsVpnMesh to
GetSourceBgp4MplsVpnSite call the equivalent methods SetSourceSite and GetSourceSite to select
ListAvailableSourceBgp4MplsVpnSites the VPN site to use in the mesh.
ListAvailableSourceBgp4MplsVpnSitesForPort For the list methods, use the routing objects directly to discover VPN sites.
The inner MPLS label and IP source address to use in For example, to find the VPN sites on port 2:
tunnel traffic is derived from the VPN site configured set hSession [AgtInvoke AgtTestTopology ListSessionsByType 2
using the routing objects AgtBgp4MplsVpn, AGT_SESSION_BGP4_E_BGP_VPN]
AgtBgp4MplsVpnSite. The outer MPLS label is derived set hVpnSites [AgtInvoke AgtBgp4MplsVpnSiteList ListSites $hSession]
from LSPs set up between the PE router at this source
port and the other PE routers in the VPN.
AddDestinationAddressPool Use the RouterTester900 test session object AgtBgp4MplsVpnMesh to
RemoveDestinationAddressPool call the equivalent methods:
ListDestinationAddressPools AddDestinationAddressPool
SetDestinationAddressPool RemoveDestinationAddressPool
GetDestinationAddressPool ListDestinationAddressPool
Configure the destination IP addresses to use on the GetDestinationAddressPool
selected VPN traffic. There is currently equivalent method to SetDestinationAddressPool, and
changing the IP addresses through AgtStreamGroup does not work, as
the corresponding labels would not be correctly retrieved. To modify a
destination address pool, remove the existing pool then add a new pool
with the new parameter values.
The AgtPppMesh object in RouterTester900 has replaced the AgtPppFlowset object in IpPerformance. Calling the Add
method in the AgtMeshList object using the enumerator AGT_PPP_MESH can create an object of this type.
AgtTunnelTraffic
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetFlowSetType / AddPppFlowset PPPoA, PPPoE, PPPoEoA or PPPoL2TP Session pools may be added as
Each AgtPppFlowset is associated with one source sources to an AgtPppMesh object using the AddSessionPools methods.
- 12 -
port. Each Session pool added to the mesh will create an AgtStreamGroup
object.
To obtain the list of Session pools that are associated with the
AgtPppMesh object, use the ListSessionPools method.
In RouterTester900, the packets are created when the mesh is created. Updates to the traffic when traffic is started varies
according to the mesh type.
• The AgtIpv4Mesh object does not update when traffic is started. To refresh the mesh to use the current route and
address pools, use the method UpdateStreamGroups.
• The AgtBgp4MplsVpnMesh object will update the MPLS label values used in the packet when traffic is started.
With RouterTester900 test sessions, traffic load can also be specified in terms of the link-layer rate. This is also defined either
in units of packet/s (AGT_UNITS_PACKETS_PER_SEC) or Mb/s (AGT_UNITS_MBITS_PER_SEC).
When using units of Mb/s, the load value specified will be different for both applications when trying to achieve an
equivalent throughput. The relationship between the specified value is as follows:
Link-layer rate = IP-layer rate * (link-layer length / IP length)
For example,
100 Mb/s IP rate using 64-byte IP packets
= 112.5 Mb/s link-layer rate on a PPP/HDLC link-layer with FCS-32
= 128.125 Mb/s link-layer rate on an Ethernet-II link-layer
When using units of packet/s, the load value specified will be the same for both applications when trying to achieve an
equivalent throughput. It is not affected by the change in definition.
- 13 -
# Apply the constant profile to a generator and set a constant load of 1000 packets/sec
# using the traffic generator’s ‘SetLoad’ method.
% AgtInvoke AgtTrafficGenerator SetProfile $hGenerator $hConstant
% AgtInvoke AgtTrafficGenerator SetLoad $hGenerator 1000 AGT_UNITS_PACKETS_PER_SEC
# Apply the constant profile to a traffic mesh and set a constant load of 1000 packets/sec
# using the traffic mesh’s ‘SetLoad’ method.
% AgtInvoke AgtTrafficMesh SetProfile $hMesh $hConstant
% AgtInvoke AgtTrafficMesh SetLoad $hMesh 1000 AGT_UNITS_PACKETS_PER_SEC
With RouterTester900, a new AgtConstantProfile object is used. All profile parameters are configured using this object.
Alternatively with RouterTester900 test sessions, when creating a stream group (using object AgtStreamGroupList), use
methods AddStreamGroupWithExistingProfile, AddStreamGroupWithNewProfile or AddStreamGroup. Regardless of the
methods used, a profile handle is automatically assigned.
# Assign the profile to a traffic generator and configure the profile using
# traffic generator’s ‘SetLoad’ method.
% AgtInvoke AgtTrafficGenerator SetProfile $hGenerator $hBurst
% AgtInvoke AgtTrafficGenerator SetLoad $hMesh 10 AGT_UNITS_MBITS_PER_SEC
# Assign the profile to a traffic mesh and configure the profile using
# traffic mesh’s ‘SetLoad’ method.
% AgtInvoke AgtTrafficMesh SetProfile $hMesh $hBurst
% AgtInvoke AgtTrafficMesh SetLoad $hMesh 10 AGT_UNITS_MBITS_PER_SEC
With RouterTester900 test sessions, all profile parameters are configured using the AgtBurstProfile object.
# Add a burst transmission profile
% set hBurst [AgtInvoke AgtProfileList AddProfile $hPort AGT_BURST_PROFILE]
- 14 -
1.4.1 Defining layer 2 and 3 addresses
Both IpPerformance and RouterTester900 test sessions support the following objects AgtPppAddresses,
AgtEthernetAddressPool, AgtEthernetAddresses, AgtEthernetIpv6Addresses, AgtAtmAddresses, AgtAtmPvc,
AgtFrameRelayAddresses, and AgtFrameRelayPvc. RouterTester900 test sessions also introduces AgtAtmPvcPool and
AgtFrameRelayPvcPool. These objects are used to define the layer 2 and layer 3 addresses to use in address resolution
protocols such as ARP (IPv4/Ethernet), NDP (IPv6/Ethernet) and IPCP (PPP/HDLC). The functionality that these objects
provide has not changed.
In IpPerformance test sessions, it was possible to use MAC addresses and VLANs configured with the above mentioned
objects with transmitted traffic. This was accomplished by matching the IP source address of the traffic to the source IP
addresses defined using the above mentioned objects.
In RouterTester900 test sessions, default IPv4, IPv6, and MAC source and destination addresses set from the above
mentioned objects are used when an AgtStreamGroup is first created. Subsequent changes to these objects will not affect
existing AgtStreamGroup objects. To use non-default values, use the AgtPduHeader object as shown in section 1.1.3
(Configuring IP addresses, MPLS labels, and Ethernet fields).
With RouterTester900 test sessions, the way to configure MPLS labels is to use the AgtPduHeader object. Refer to section
1.1.3 (Configuring IP addresses, MPLS labels, and Ethernet fields) to see example API. To configure MPLS, it first must be
selected using SetPduHeaders on the AgtStreamGroup object.
With IpPerformance test sessions, the AgtMplsInterface was used to determine if a particular port supported transmission of
MPLS labels. With RouterTester900 test sessions, all ports support MPLS labels, so this interface is no longer required.
With IpPerformance test sessions, there are various ways to configure VLAN tags. Applicable API objects are AgtVlanPdu,
AgtEthernetAddressPool and AgtTrafficEthernetAddressPool.
With RouterTester900 test sessions, the way to configure VLAN tags is to use the AgtPduHeader object. Refer to section
1.1.3 (Configuring IP addresses, MPLS labels and Ethernet fields) to see example API. To configure VLANs, they first must be
enabled using EnableOptionalField on the AgtPduHeader object.
With RouterTester900 test sessions, the approach is more generic and flexible. The PDU header is defined by specifying the
protocol stack using the AgtStreamGroup object. The PDU header field values are assigned using AgtPduHeader.
- 15 -
% AgtInvoke AgtStreamGroup SetPduHeaders $hStreamGroup “ethernet ipv6”
% set hPdu [AgtInvoke AgtStreamGroup GetPdu $hStreamGroup]
With IpPerformance test sessions, AgtIpv6Interface was used to determine if a particular port supported transmission of IPv6
traffic. With RouterTester900 test sessions, all ports can send IPv6 traffic, so this interface is no longer required.
There is an equivalent SetPayloadData for all PDU types: AgtTcpPdu, AgtIpv6Pdu, etc. As well as methods such as
SetFillPattern and EnableRandomPayload for all the defined PDU types.
With RouterTester900 test sessions, the AgtPduPayload object can be used to set the payload in many different ways.
2 Statistics
# measure packet counts & latency on the whole stream group, and first stream going to hRx1Port
set hStats [AgtInvoke AgtStatisticsList Add AGT_STATISTICS]
AgtInvoke AgtStatistics SelectStreamGroups $hStats $hStreamGroup
AgtInvoke AgtStatistics SelectStreams $hStats $hStreamGroup 0 $hRx1Port
AgtInvoke AgtStatistics SelectStatistics $hStats [list \
AGT_STREAM_PACKETS_TRANSMITTED AGT_STREAM_PACKETS_RECEIVED AGT_STREAM_AVERAGE_LATENCY]
# Get statistics on all streams in the stream group. (GetStreamGroupStatistics can also be used)
set GroupResults [AgtInvoke AgtStatistics GetStatistics $hStats]
puts "Stream group results: $GroupResults"
# get statistics on the first stream going to hRx1Port
set Stream1Results [AgtInvoke AgtStatistics GetStreamStatistics $hStats $hStreamGroup \
0 $hRx1Port]
puts "Stream 1 results: $Stream1Results"
- 17 -
2.3 New capabilities
• Measure statistics on up to 32,768 streams per test port.
• Measure new statistics e.g. Packet payload integrity errors.
3 Capture
AgtCaptureFilter
IpPerformance test session methods Equivalent RouterTester900 test session methods
ClearAllFilters / ListStatusFilter These methods are unchanged.
AddStatusFilter / RemoveStatusFilter
AddPatternFilter / RemovePatternFilter These methods are now called
ListPatternFilters AddFrameMatcherFilters / RemoveFrameMatcherFilters
ListFrameMatcherFilters
The methods require handles to an AgtFrameMatcher object.
GetFreePatternFilters Use AgtFrameMatcher method GetFreePatterns.
GetPatternFilterCounts Not supported in RouterTester900 test sessions.
AgtCaptureControl
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetPortGroup / ListPortGroup These methods are unchanged.
SetCaptureMode / GetCaptureMode
StartCapture / StopCapture / ArmCaptureStart
GetCaptureState / GetCaptureTimes / GetCaptureCount
SetCaptureBufferSize / GetCaptureBufferSize
SetCaptureCenteringDepth / GetCaptureCenteringDepth
ClearAllTriggers Now AgtCaptureTrigger ClearAllTriggers
AddSimpleTriggers / RemoveSimpleTriggers Now AgtFrameMatcher AddFrameFlags, RemoveFrameFlags,
ListSimpleTriggers ListFrameFlags methods. Use AgtCaptureTrigger method
AddFrameMatcherTriggers to add an AgtFrameMatcher object.
AddPatternTrigger / RemovePatternTrigger Now AgtCaptureTrigger AddFrameMatcherTriggers,
ListPatternTriggers RemoveFrameMatcherTriggers, ListFrameMatcherTriggers. The methods
require handles to an AgtFrameMatcher object.
- 18 -
GetFreePatternTriggers Use AgtFrameMatcher method GetFreePatterns
SetRateThresholdTrigger / GetRateThresholdTrigger Method name obsoleted in RouterTester900 test sessions.
ClearRateThresholdTrigger To configure rate/count threshold, refer to the following new methods
SetCountThresholdTrigger / GetCountThresholdTrigger added for the AgtThreshold object :
ClearCountThresholdTrigger SetRateThreshold / GetRateThreshold / ClearRateThreshold /
SetCountThreshold / GetCountThreshold / ClearCountThreshold
SetLatencyUpperThreshold / GetLatencyUpperThreshold Now AgtThreshold with SetLatencyThreshold / GetLatencyThreshold. The
SetLatencyLowerThreshold / GetLatencyLowerThreshold methods take an extra argument to specify upper or lower thresholds.
AgtPattern
IpPerformance test session methods Equivalent RouterTester900 test session methods
ApplyPatternStatistic / RemovePatternStatistic Use AgtFrameMatcher to define a frame matcher with a pattern matcher,
GetPatternStatistic then measure statistics on the AgtFrameMatcher object.
All other methods All other methods remain the same.
# trigger stop when packet field matches value (IPv4 dest addr in subnet 192.18.0.0/16)
set hPattern [AgtInvoke AgtPatternList Add AGT_PATTERN]
AgtInvoke AgtPattern SetPatternField $hPattern ipv4 dest_address 32 {192 18 0 0} {255 255 0 0}
AgtInvoke AgtCaptureControl AddPatternTrigger $hRxPort $hPattern AGT_TRIGGER_ACTION_STOP_CAPTURE
AgtInvoke AgtCaptureControl ArmCaptureStart
# trigger stop when packet field matches value (IPv4 dest addr in subnet 192.18.0.0/16)
set hPattern [AgtInvoke AgtPatternList Add AGT_PATTERN]
AgtInvoke AgtPattern SetPatternField $hPattern ipv4 destination_address 32 {192 18 0 0} {255 255
0 0}
set hFrameMatch2 [AgtInvoke AgtFrameMatcherList AddFrameMatcher $hRxPort]
AgtInvoke AgtFrameMatcher AddPatterns $hFrameMatch2 $hPattern
AgtInvoke AgtCaptureTrigger AddFrameMatcherTriggers $hRxPort $hFrameMatch2 \
AGT_TRIGGER_ACTION_STOP_CAPTURE
AgtInvoke AgtCaptureControl SetPortGroup $hRxPort
AgtInvoke AgtCaptureControl ArmCaptureStart
AgtAnalysisSet
IpPerformance test session methods Equivalent RouterTester900 test session methods
- 19 -
Not available GetNearestCluster (use to locate nearest cluster to the
specified adjusted time (seconds and nanoseconds)).
ENUM EAgtClusterStat Added:
AGT_CAL_CLUSTER_STAT_BANDWIDTH (removed) AGT_CAL_CLUSTER_STAT_PACKET_BANDWIDTH
AGT_CAL_CLUSTER_STAT_FRAME_BANDWIDTH
ENUM EAgtPacketStat AGT_CAL_PACKET_STAT_PACKET_LENGTH (redefined)
AGT_CAL_PACKET_STAT_FRAME_LENGTH (added)
AgtAnalysisFilter
IpPerformance test session methods Equivalent RouterTester900 test session methods
ENUM EAgtAnalysisFilterValueCriteria Redefined:
• AGT_ANALYSIS_FILTER_MIN_PACKET_LENGTH
• AGT_ ANALYSIS_FILTER_MAX_PACKET_LENGTH
Added:
• AGT_ANALYSIS_FILTER_MAX_FRAME_LENGTH
• AGT_ANALYSIS_FILTER_MAX_FRAME_LENGTH
ENUM EAgtAnalysisFilterStatusCriteria Added:
Removed: • AGT_ANALYSIS_FILTER_TEST_PAYLOAD
• AGT_ANALYSIS_FILTER_NO_TEST_PAYLOAD • AGT_ANALYSIS_FILTER_IPV4_PACKET
• AGT_ANALYSIS_FILTER_STREAM_ID_NOT_SELECTED • AGT_ANALYSIS_FILTER_IPV6_PACKET
• AGT_ANALYSIS_FILTER_NEW_HIGH_LATENCY • AGT_ANALYSIS_FILTER_MPLS_PACKET
• AGT_ANALYSIS_FILTER_NEW_LOW_LATENCY • AGT_ANALYSIS_FILTER_VLAN_FRAME
• AGT_ANALYSIS_FILTER_ABOVE_UPPER_LATENCY_THRESHOLD • AGT_ANALYSIS_FILTER_LAYER3_EMULATION_PACKET
• AGT_ANALYSIS_FILTER_BELOW_LOWER_LATENCY_THRESHOLD • AGT_ANALYSIS_FILTER_IPV4_HEADER_CHECKSUM_ERROF
• AGT_ANALYSIS_FILTER_SEVERE_SEQUENCE_ERROR • AGT_ANALYSIS_FILTER_LAYER2_ERROR
• AGT_ANALYSIS_FILTER_TCP_UDP_CHECKSUM_ERROR • AGT_ANALYSIS_FILTER_PPIC_ERROR
• AGT_ANALYSIS_FILTER_EXTERNAL_EVENT_OCCURED • AGT_ANALYSIS_FILTER_SEQUENCE_SKIPPED_ERROR
• AGT_ANALYSIS_FILTER_CAUSED_TRIGGER • AGT_ANALYSIS_FILTER_SEQUENCE_ORDER_ERROR
• AGT_ANALYSIS_FILTER_LATENCY_ABOVE_BELOW_THRESHOLD
Renamed from … To …
• AGT_ANALYSIS_FILTER_LAYER2_IP_PACKET • AGT_ANALYSIS_FILTER_IPV4_PACKET
• AGT_ANALYSIS_FILTER_LAYER2_MPLS_PACKET • AGT_ANALYSIS_FILTER_MPLS_PACKET
• AGT_ANALYSIS_FILTER_ SEQUENCE_ERROR • AGT_ANALYSIS_FILTER_SEQUENCE_SKIPPED_ERROR and
AGT_ANALYSIS_FILTER_SEQUENCE_ORDER_ERROR
• AGT_ANALYSIS_FILTER_IP_HEADER_ERROR • AGT_ANALYSIS_FILTER_IPV4_HEADER_CHECKSUM_ERROR
4 Protocol emulations
- 20 -
4.1 RSVP emulation
RSVP emulation in 6.4 introduces the concept of LSP pools, a mechanism for creating and opening large numbers of LSPs
quickly and easily. The old RSVP API objects still exist to maintain backward compatibility, however it is recommended that
scripts are converted to use the LSP pools API to improve performance and robustness of tests. For information on the new
RSVP API objects, refer to the online help. The following objects have been enhanced:
AgtPppSessionPool
IpPerformance test session methods Equivalent RouterTester900 test session methods
The names of these methods have been changed to the following:
CancelSessionPool Cancel
SetSessionMode / GetSessionMode SetMode / GetMode
SetNumOfSessions / GetNumOfSessions SetNumberOfSessions / GetNumberOfSessions
- 21 -
SetPoolName / GetPoolName SetName / GetName
GetNumOfActivePppSessions GetNumberOfEstablishedSessions
SetPppAuthenticationProtocol / SetAuthenticationProtocol / GetAuthenticationProtocol
GetPppAuthenticationProtocol
SetPppStartingIpAddress / GetPppStartingIpAddress SetStartingSourceIpAddress / GetStartingSourceIpAddress
SetPppAssignedIpAddressModifier / SetSourceIpAddressModifier / GetSourceIpAddressModifier
GetPppAssignedIpAddressModifier
GetPppSessionStateDescription For scalability reasons, these methods have been changed to return
GetPppSessionState values for all of the PPP sessions in a session pool. Use the following
methods instead:
GetSessionStateDescriptions
GetSessionStates
SetPppAddressControlFieldCompressionFlag / These methods have been replaced. Use the following methods instead:
GetPppAddressControlFieldCompressionFlag EnableAddressControlFieldCompression
DisableAddressControlFieldCompression
GetAddressControlFieldCompressionFlag
SetPppMru / GetPppMru These methods have been replaced. Use the methods SetLcpOption and
SetPppRestartTimer / GetPppRestartTimer GetLcpOption along with the enumerated type EAgtPppSessionLcpOption.
SetPppMaxConfigure / GetPppMaxConfigure
SetPppMaxTerminate / GetPppMaxTerminate
SetPppMaxFailure / GetPppMaxFailure
SetPppLcpEchoRequestInterval /
GetPppLcpEchoRequestInterval
SetPppAuthenticationUserName / These methods have been replaced. Use the methods
GetPppAuthenticationUserName SetAuthenticationParameter and GetAuthenticationParameter along with
SetPppAuthenticationPassword / the enumerated type EAgtPppAuthenticationParameter.
GetPppAuthenticationPassword
SetPppBaseDomainName / GetPppBaseDomainName
SetPppUsernameFlag / GetPppUsernameFlag These methods have been replaced. Use the methods
SetPppPasswordFlag / GetPppPasswordFlag EnableUniqueAuthenticationParameter,
SetPppDomainNameFlag / GetPppDomainNameFlag DisableUniqueAuthenticationParameter, and
GetUniqueAuthenticationParameterFlag along with the enumerated type
EAgtPppAuthenticationParameter.
SetTesterIpAddress / GetTesterIpAddress These methods have been moved to the AgtPppSessionPoolL2tp object.
SetSutIpAddress / GetSutIpAddress Refer to the AgtPppSessionPoolL2tp table below.
GetPppSessionL2tpTunnelId
GetPppSessionL2tpSessionId
GetPppSessionL2tpTunnelDestPort
GetPppSessionDestMacAddress These methods have been moved to the AgtPppSessionPoolEthernet
GetPppSessionPppoESessionId object. Refer to the AgtPppSessionPoolEthernet table below.
IsEnabled This method has been removed. Use the GetEnableFlag method instead.
SetPppAuthenticatePeerFlag / These methods have been removed. Use the SetAuthenticationProtocol
GetPppAuthenticatePeerFlag and GetAuthenticationProtocol methods instead. Setting the
authentication protocol to None is equivalent to setting the authenticate
peer flag to 0.
GetLinkLayerType This method has been removed. Use the AgtTestTopology object to
determine the type of session.
- 22 -
SetPppEndPointIpAddress / GetPppEndPointIpAddress These methods have been removed. PPPoX traffic is configured using
GetPppSessionDestIpAddress Mesh Traffic. Refer to section 1.2.4.6 (PPPoX Session Pool Traffic).
SetTesterMacAddress / GetTesterMacAddress These methods have been removed.
SetSutMacAddress / GetSutMacAddress
GetPppSessionSourceMacAddress
GetPppSessionHandleList
GetPppActiveSessionsHandleList
GetPppFailedSessionsHandleList
GetPppSessionSourceIpAddress
GetPppSessionATMVC
SetPppIpAddressAssignmentFlag /
GetPppIpAddressAssignmentFlag
AgtPppSessionPoolLinkL2tp AgtPppSessionPoolL2tp
IpPerformance test session methods Equivalent RouterTester900 test session methods
The names of these methods have been changed to the following:
SetL2tpIdentity / GetL2tpIdentity SetIdentity / GetIdentity
SetL2tpNumOfCallsPerTunnel / SetNumberOfCallsPerTunnel / GetNumberOfCallsPerTunnel
GetL2tpNumOfCallsPerTunnel
SetL2tpHelloInterval / GetL2tpHelloInterval SetHelloInterval / GetHelloInterval
SetL2tpInitialAckTimeout / GetL2tpInitialAckTimeout SetInitialAckTimeout / GetInitialAckTimeout
SetL2tpMaxTxRetries / GetL2tpMaxTxRetries SetMaxTxRetries / GetMaxTxRetries
SetL2tpBearerCapabilities / GetL2tpBearerCapabilities SetBearerCapabilities / GetBearerCapabilities
SetL2tpCallingNumber / GetL2tpCallingNumber SetCallingNumber / GetCallingNumber
SetL2tpCalledNumber / GetL2tpCalledNumber SetCalledNumber / GetCalledNumber
SetL2tpBearerType / GetL2tpBearerType SetBearerType / GetBearerType
SetL2tpSharedSecret / GetL2tpSharedSecret SetSharedSecret / GetSharedSecret
SetL2tpRws / GetL2tpRws SetReceiveWindowSize / GetReceiveWindowSize
SetL2tpSrcUdpPort / GetL2tpSrcUdpPort SetSourceUdpPort / GetSourceUdpPort
SetL2tpTxConnectSpeed / GetL2tpTxConnectSpeed SetTxConnectSpeed / GetTxConnectSpeed
SetL2tpRxConnectSpeed / GetL2tpRxConnectSpeed SetRxConnectSpeed / GetRxConnectSpeed
SetL2tpAuthenticateSutFlag / These methods have been replaced. Use the following methods instead:
GetL2tpAuthenticateSutFlag EnableAuthenticateSut
DisableAuthenticateSut
GetAuthenticateSutFlag
GetPppSessionL2tpTunnelId These methods have been moved from the AgtPppSessionPool object,
GetPppSessionL2tpSessionId and for scalability reasons, they have been changed to return values for
GetPppSessionL2tpTunnelDestPort all of the L2TP sessions in a session pool. Use the following methods
instead:
GetTunnelIds
GetSessionIds
GetTunnelDestinationPorts
These methods have been moved from the AgtPppSessionPool object:
SetTesterIpAddress / GetTesterIpAddress
SetSutIpAddress / GetSutIpAddress
- 23 -
AgtPppSessionPoolLinkEthernet AgtPppSessionPoolEthernet
IpPerformance test session methods Equivalent RouterTester900 test session methods
The names of these methods have been changed to the following:
SetEthernetServiceName / GetEthernetServiceName SetServiceName / GetServiceName
SetEthNumOfSessionsPerSrcMacAddr / SetNumberOfSessionsPerSrcMacAddr /
GetEthNumOfSessionsPerSrcMacAddr GetNumberOfSessionsPerSrcMacAddr
SetEthernetStartingSrcMacAddress / SetStartingSourceMacAddress / GetStartingSourceMacAddress
GetEthernetStartingSrcMacAddress
SetEthernetSrcMacAddrModifier / SetSourceMacAddressIncrement / GetSourceMacAddressIncrement
GetEthernetSrcMacAddrModifier
SetEthernetInitialAckTimeout / SetInitialAckTimeout / GetInitialAckTimeout
GetEthernetInitialAckTimeout
SetMaxTxRetries / GetMaxTxRetries
SetEthernetMaxTxRetries / GetEthernetMaxTxRetries
GetPppSessionDestMacAddress These methods have been moved from the AgtPppSessionPool object,
GetPppSessionPppoESessionId and for scalability reasons, they have been changed to return values for
all of the PPPoE sessions in a session pool. Use the following methods
instead:
GetDestinationMacAddresses
GetSessionIds
AgtPppSessionPoolLinkAtm AgtPppSessionPoolAtm
IpPerformance test session methods Equivalent RouterTester900 test session methods
The names of these methods have been changed to the following:
SetAtmVpiVci / GetAtmVpiVci SetStartingVpiVci / GetStartingVpiVci
SetAtmEncapsulationType / GetAtmEncapsulationType SetAtmEncapsulation / GetAtmEncapsulation
SetAtmVciModifier / GetAtmVciModifier These methods have been replaced. Both VPI and VCI are now editable,
so use the following methods instead:
SetVpiVciIncrement / GetVpiVciIncrement
AgtPppStatistics
IpPerformance test session methods Equivalent RouterTester900 test session methods
The names of these methods have been changed to the following:
ListSelectedSessions ListSelectedPools
SelectSessions / DeselectSession SelectPools / DeselectPool
GetSessionAccumulatedValues GetAccumulatedValues
5 Test cards
- 24 -
• AgtAtmPvcPool: allows many PVCs to be configured at one time. This provides a more scalable way to manage
large numbers of PVCs than the AgtAtmPvc object in IpPerformance.
• AgtAtmOamEmulation: configures OAM F4/F5 loopback emulation.
The following IpPerformance ATM objects are unchanged in RouterTester900 test sessions:
• AgtAtmStatus
The following IpPerformance test session ATM objects are not supported in RouterTester900 test sessions:
• AgtAtmError: error generation is supported in RouterTester900 test sessions using the SetL2Error / GetL2Error
methods on AgtStreamGroup.
• AgtAtmPdu: configuration of PDU fields for traffic generation is supported on RouterTester900 test sessions using
AgtPduHeader.
• AgtAtmPvcStatistics: on RouterTester900 test sessions, per-PVC statistics are supported by
AgtFieldStatisticsControl.
• AgtAtmStatistics: on RouterTester900 test sessions, use the ATM statistics with the AgtStatistics object.
AgtAtmAddresses
IpPerformance test session methods Equivalent RouterTester900 test session methods
New RouterTester900 test session methods:
AddPvcPool
ListPvcPools
RemovePvcPool
SetVpiVciRangeForMplsNull
AgtAtmInterface
IpPerformance test session methods Equivalent RouterTester900 test session methods
GetAtmSonetRate Use the GetRate method on AgtSonetInterface.
IsRoutingEngineRunning Use the GetState method on AgtRoutingEngine.
New RouterTester900 test session methods:
SetFillerCellType / GetFillerCellType
AgtAtmPvc
IpPerformance test session methods Equivalent RouterTester900 test session methods
GetVpiVci / SetVpiVci These methods are unchanged, although for scalability reasons when
GetEncapsulation / SetEncapsulation using many PVCs it is preferable to use the AgtAtmPvcPool interface and
GetIpAddresses / SetIpAddresses its corresponding methods.
GetIpv6Addresses / SetIpv6Addresses
EnableTraffic / DisableTraffic These methods return silently without taking any action.
Use the EnableTrafficDestinations and DisableTrafficDestinations methods
on AgtAtmPvcPool.
IsTrafficEnabled Always returns true.
Use the IsTrafficDestinationEnabled method on AgtAtmPvcPool.
EnableIpv6 / DisableIpv6 These methods return silently without taking any action. In
RouterTester900 test sessions, IPv6 is always enabled provided that the
encapsulation of the PVC supports IPv6.
- 25 -
IsIpv6Enabled Always returns true. In RouterTester900 test sessions, IPv6 is always
enabled provided that the encapsulation of the PVC supports IPv6.
The following Frame Relay objects are new in RouterTester900 test sessions:
• AgtFrameRelayPvcPool: allows many PVCs to be configured at one time. This provides a more scalable way to
manage large numbers of PVCs than the AgtFrameRelayPvc object in IpPerformance test sessions.
The following IpPerformance test session Frame Relay objects are unchanged in RouterTester900 test sessions:
• AgtLmiStatistics
The following IpPerformance test session Frame Relay objects are not supported in RouterTester900 test sessions:
• AgtFrameRelayError: error generation is supported on RouterTester900 test sessions using the SetL2Error /
GetL2Error methods on AgtStreamGroup.
• AgtFrameRelayPdu: configuration of PDU fields for traffic generation is supported on RouterTester900 test session
using AgtPduHeader.
• AgtFrameRelayStatistics: on RouterTester900 test sessions, use the HDLC statistics with the AgtStatistics object.
• AgtFrameRelayStatus: use AgtHdlcStatus on RouterTester900 test sessions.
AgtFrameRelayAddresses
IpPerformance test session methods Equivalent RouterTester900 test session methods
RemovePvcs These methods are unchanged, although for scalability reasons when
ListPvcs / GetPvcCount using many PVCs it is preferable to use the RemovePvcPools and
ListPvcPools methods.
AddPvcs The AddPvcs method has been retained, but RouterTester900 test
sessions require the encapsulation type to be AGT_FRAME_RELAY_IETF.
Note: In RouterTester900 test sessions it is preferable to use the
AddPvcPool method instead of AddPvcs because AddPvcPool is more
scalable when many PVCs are being used.
New RouterTester900 test session methods:
AddPvcPool
ListPvcPools
RemovePvcPool
AgtFrameRelayInterface
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetHeaderLength / GetHeaderLength The header length of generated traffic should be configured through
AgtPduHeader. Header lengths of received traffic may be either 2 or 4
octets; no configuration is necessary.
New RouterTester900 test session methods:
SetMinimumInterFrameGap / GetMinimumInterFrameGap
GetSupportedMinimumInterFrameGaps
- 26 -
SetMtuSize / GetMtuSize
AgtFrameRelayPvc
IpPerformance test session methods Equivalent RouterTester900 test session methods
SetHeaderFields / GetHeaderFields These methods are available but with the following caveats:
• it is preferable to use SetDlcis on AgtFrameRelayPvcPool to
configure the DLCI
• the FECN, BECN, C/R, and DE arguments have no effect. These
fields should be configured through AgtPduHeader
SetEncapsulation / GetEncapsulation The methods are available, but RouterTester900 test sessions require the
encapsulation type to be AGT_FRAME_RELAY_IETF.
SetIpv4Addresses / GetIpv4Addresses Use the analogous methods on AgtFrameRelayPvcPool.
SetIpv6Addresses/ GetIpv6Addresses
EnablePvcTraffic / DisablePvcTraffic Use the EnableTrafficDestinations and DisableTrafficDestinations methods
on AgtFrameRelayPvcPool.
IsPvcTrafficEnabled Use the IsTrafficDestinationEnabled method on AgtFrameRelayPvcPool.
GetPvcParameters Use the “Get” methods on AgtFrameRelayPvcPool.
AgtLmiEmulation
IpPerformance test session methods Equivalent RouterTester900 test session methods
EnableRxLmiPacket / DisableRxLmiPacket Use the SetVersion and SetEmulationMode methods to configure the
IsRxLmiPacketEnabled personality of the LMI emulation.
TxLmiPacket
GetLastRxLmiPacket
6 Other
QBOL scripts: The following IpPerformance test session objects are not currently supported in RouterTester900 test sessions,
equivalent functionality will NOT be supported at a later time. AgtAtmRobot, AgtEthernetRobot, AgtPosRobot,
AgtSerialRobot, AgtControlModule.
AgtHostManager GetVersion: This method has been obsoleted by the command AgtGetVersion. The script must now
establish a connection with the application prior to the call to AgtGetVersion. See the online help for details.
- 27 -
Index
Object Action Section AgtMulticastTraffic Removed 1.2.4.3, 1.2
AgtAllStatistics Removed 2 AgtOspfSession Changed 4.2
AgtAnalysisXxx Unchanged 3.2 AgtOspfNeighbor Changed 4.2
AgtAtmAddresses Changed 5.1 AgtPattern Changed 3.1
AgtAtmError Removed 5.1, 1.1.4 AgtPatternStatistics Removed 2
AgtAtmInterface Changed 5.1 AgtPortSelector Changed 6
AgtAtmPdu Removed 5.1 AgtPduList Removed 1.4.3
AgtAtmPvc Changed 5.1 AgtPppPdu Removed 4.3
AgtAtmPvcStatistics Removed 5.1 AgtPppSessionPoolLinkL2tp Removed 4.3
AgtAtmRobot Removed 6 AgtPppSessionPoolLinkEthernet Removed 4.3
AgtAtmStatistics Removed 2, 5.1 AgtPppSessionPoolLinkAtm Removed 4.3
AgtAtmStatus Unchanged 5.1 AgtProfileList Changed 1.3
AgtBgp4MplsVpnTraffic Removed 1.2.4.5, 1.2 AgtPosRobot Removed 6
AgtBurstProfile Changed 1.3.3 AgtRsvpTunnelEgressList Changed 4.1
AgtCaptureControl Changed 3.1 AgtRsvpTunnelEgress Changed 4.1
AgtCaptureFilter Changed 3.1 AgtRsvpTunnelIngressList Changed 4.1
AgtControlModule Deferred 6 AgtRsvpTunnelIngress Changed 4.1
AgtEthernetError Removed 1.1.4 AgtSerialRobot Removed 6
AgtEthernetRobot Removed 6 AgtSessionManager Changed 6
AgtExpectedStatistics Removed 2 AgtStaticRouteList Removed 1.2.3
AgtFlowSet Removed 1.1.3 AgtStaticRoutePool Removed 1.2.3
AgtFrameRelayAddresses Changed 5.2 AgtStatisticsList Changed 2.2
AgtFrameRelayError Removed 5.2, 1.1.4 AgtStatisticsLog Changed 2
AgtFrameRelayInterface Changed 5.2 AgtStreamList Removed 1.2.2
AgtFrameRelayPdu Removed 5.2 AgtStreamStatistics Removed 2
AgtFrameRelayPvc Changed 5.2 AgtTcpPdu Removed 1.4.3
AgtFrameRelayStatistics Removed 2, 5.2 AgtTrafficEthernetAddressPool Removed 1.1.3
AgtFrameRelayStatus Removed 5.2 AgtTrafficGenerator Removed 1.1.2.1
AgtGeneratorList Removed 1.1.1 AgtTrafficGeneratorStream Removed 1.1.2.2
AgtGmplsRsvpTunnelIngress Changed 4.1 AgtTrafficLabelPool Removed 1.1.3
AgtHdlcError Removed 1.1.4 AgtTrafficList Removed 1.2.1
AgtHostManager GetVersion Removed 6 AgtTrafficMesh Removed 1.2.1
AgtIpPdu Removed 1.4.3 AgtTrafficPort Removed 1.1.1, 1.2.1
AgtIpv6Interface Removed 1.4.3 AgtTrafficStream Removed 1.2.2
AgtIpv6Pdu Removed 1.4.3 AgtTunnelTraffic Removed 1.2.4.4, 1.2
AgtLmiEmulation Changed 5.2 AgtUdpPdu Removed 1.4.3
AgtLmiStatistics Unchanged 5.2 AgtUnicastTraffic Removed 1.2.4.2, 1.2
AgtModuleManager Changed 6 AgtVlanPdu Removed 1.4.2
AgtMplsExpectedLabel Removed 2 AgtVlanStreamStatistics Removed 2
AgtMplsInterface Removed 1.4.2
AgtMplsLabelPool Removed 1.4.2
AgtMplsPortList Removed 1.4.2
AgtMplsRoutePools Removed 1.4.2
AgtMplsStreamStatistics Removed 2
- 28 -
Agilent Support Centers
Should you require technical assistance, please contact the support center in your region.
Americas Japan
USA (Englewood, CO) Tokyo
Phone: 1-800-829-4444 Phone: 0120-421-345
[email protected] [email protected]
Asia-Pacific Europe
Email Benelux
North-East Asia Netherlands: 31 020 547 2111
- [email protected] Belgium: 32 02 404 93 40
South Asia-Pacific [email protected]
- [email protected] DACH
Australia Germany: 0180 524 6333
Phone: 1-800-629-485 Austria: 43 01 251257006
China Switzerland: 41 01 7359300/9200
Phone: 800-810-0189 [email protected]
Hong Kong Denmark
Phone: 800-930-871 Phone: 45-70 13 15 15
[email protected]
India
Phone: 1-600-112-929 Finland
Phone: 358-010-855 21 00
Korea
[email protected]
Phone: (82-2) 2004-5004
Toll Free: 080-769-0800 France
International: 33 01 64 53 56 23
Malaysia
France: 08 25 01 07 00
Phone: 1-800-888-848
[email protected]
New Zealand
Italy
Phone: 0800-738-378
Phone: 39-02-92 60 84 84
Philippines [email protected]
Phone: (63-2) 842-6802
Norway
Toll Free: 1-800-1651-0170
Phone: 47-23 25 37 00
Singapore [email protected]
Phone: 1-800-375-8100
Spain
Taiwan Phone: 34-91 631 33 00
Phone: 0800-047-866 [email protected]
Thailand Sweden
Phone: (66-2) 268-1345 Phone: 46-08-50 64 86 86
Toll Free: 1-800-226-008 [email protected]
UK & Ireland
UK: 44 07004 666 666
Ireland: 1 890 92 42 06
[email protected]
You can also get information through the World Wide Web:
www.agilent.com/comms/N2X
Click Technical Support to get the latest news, product information, and brochures.