Utility Functions

sth::duplicate

Purpose

Scale the configuration with Copies objects. If there is only a single source object, and the source object and destination object are of the same type, the destination object will be copied over by the source object; otherwise, the source objects will be copied under the destination object.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::duplicate
     [-src_list <list of handles>  M]
     [-repeat_count  <numeric>]
     [-dst_list <list of handles>]

Arguments

-src_list

Spirent Extension (for Spirent HLTAPI only).

Specifies the list of source objects to copy from.

-repeat_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number to repeat copies to make. The default is 1.

-dst_list

Spirent Extension (for Spirent HLTAPI only).

Specifies the target object to copy to. If the value is not specified, the target object will be the parent of the first object in -srclist.

Arguments Unsupported by Save as HLTAPI

All arguments are not supported by Save as HLTAPI

Return Values

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status         Success (1) or failure (0) of the operation.
log            An error message (if the operation failed).
handles        The duplicated objects.

Description

The sth::duplicate function simulates the configuration operation in Spirent TestCenter GUI like context menu items:

Duplicate… Copy/Paste EmulatedDevice… Copy/Paste StreamBlock…

When -dst_list is not specified, it works as Duplicate… When -dst_list is specified with port, it works as Copy/Paste EmulatedDevice… or Copy/Paste StreamBlock…

Examples

Sample Input:

::sth::duplicate -src_list $host -repeat_count 2

Here is an example of the output for the above sample input function:

{handles {emulateddevice2 emulateddevice3}} {status 1}

End of Procedure Header

sth::fill_custom

Purpose

Scale the configuration with specified copy|increment|decrement|random calculation template on the handles’ specified field values.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::fill_custom
     [-handles <list of handles>  M]
     [-field_type {ipv4addr|ipv6addr|attached_vtep_addr}  M]
     [-field_name <string>]
     [-initial <value>  M]
     [-type <increment|copy>]
     [-repetition <integer>]
     [-step <specific value for the field_type>]
     [-restriction <specific value for the field_type>]

Arguments

-handles

Spirent Extension (for Spirent HLTAPI only).

Specifies the list of handles to perform the Fill custom operation on their fields.

-field_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of the field to perform the Fill custom operation Current possible values are:

name                  The handle's name

ipv4addr              Ipv4 address type

ipv6addr              Ipv6 address type

attached_vtep_addr    Attached VTEP IP address of VXLAN VM

The default is name. More type values such as macaddr will be supported in future releases.

-field_name

Spirent Extension (for Spirent HLTAPI only).

Specifies the name of the field to perform the Fill custom operation. -field_name value is different for different value of -field_type. For some field_type value, the value of -field_name can be skipped For example:

field_type             field_name
  name                   name
                         (can be skipped, name will be taken by default)

  ipv4addr               ipv4if.address, ipv4if.gateway
                         or other Ipv4 address (cannot be skipped)

  ipv6addr               ipv6if.address or ipv6if.gateway
                         or other Ipv6 address (cannot be skipped)

  attached_vtep_addr     attached_vtep_addr (can be skipped)
-initial

Spirent Extension (for Spirent HLTAPI only).

Specifies the handle whose field value is used as initial value for fillcustom operation.

-type

Spirent Extension (for Spirent HLTAPI only).

Specifies the type of fillcustom operation. Current possible values are:

copy              the field values of handles will be same
                  as the value of -initial handle.

increment         the field values of handles will be filled with
                  incremented calculation value based on the value
                  of -initial handle as initial, and the value of
                  -repetition and -step.

In future release, decrement or random will be supported.

-repetition

Spirent Extension (for Spirent HLTAPI only).

Specifies the repetition value between two consecutive field values. This argument is required when -type is increment.

-step

Spirent Extension (for Spirent HLTAPI only).

Specifies the value by which the IP address must be stepped. This argument is required when -type is increment.

-restriction

Spirent Extension (for Spirent HLTAPI only).

This argument is reserved for future use.

Arguments Unsupported by Save as HLTAPI

None

Return Values

Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):

status         Success (1) or failure (0) of the operation.
log            An error message (if the operation failed).

Description

The sth::fill_custom function enables you to simulate the configuration operations in Spirent TestCenter GUI like context menu items:

Copy down… Fill increment… Fill custom…

When -type is copy, it works as Copy down… When -type is increment, -step is x.x.x.1 or others, it works as Fill increment…

Examples

Sample Input:

The attached VTEP IP address of VXLAN VM targeted by $devices will be same as that of $host::
    ::sth::fill_custom -handles $devices -field_type attached_vtep_addr -initial $host -type copy

The names of devices will be filled with the similar name as $host but in different index like Host 2::
    ::sth::fill_custom -handles $devices -field_type name -initial $host -repetition 1 -step 1 -type increment

The ipv4if address or gateway of devices will be filled with the IP address calculated on the IP address of $host::
    ::sth::fill_custom -handles $devices -field_type ipv4addr -field_name ipv4if.address -initial $host -repetition 1 -step 0.0.0.1 -type increment
    ::sth::fill_custom -handles $devices -field_type ipv4addr -field_name ipv4if.gateway -initial $host -repetition 1 -step 0.0.1.0 -type increment

Sample Output:

#On success
{status 1}

#On failure
{status 0} {log {<errorMsg>}}

End of Procedure Header