Convergence Functions

emulation convergence config

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:

Spirent Extension (for Spirent HLTAPI only)

This is a Spirent Extension created to configure, modify, or delete a control plane convergence configuration

Synopsis:

Note: M indicates the argument is `Mandatory`.
             emulation convergence config
                 handle= < convergence_config_handle>
                 mode= {create | modify | delete}
                 convergence_proto= {bfd | ospfv2 | ospfv3 | isis | bgp}
                 load_test= {true | false}
                 stream_convergence_threshold= <0-4294967295>
                 selected_stream_block= <ALPHANUM>
                 primary_router= <ALPHANUM>
                 backup_router= <ALPHANUM>

Arguments:

handle
                The convergence handle returned from the current function. This
                argument is `Mandatory` for modify and delete modes.

mode
                Specifies the action to perform. Possible values are create,
                modify, and delete. This argument is `Mandatory`. The modes are
                described below::


                 create      Creates a new control plane convergence

                 modify      Modifies the parameters on the control plane convergence
                             specified by handle

                 delete      Deletes the specified control plane convergence handles
                             or convergence path handles

convergence_proto
                Specifies the protocol type for the convergence test. This
                argument is `Mandatory`. Possible values are bfd, ospfv2, ospfv3,
                isis, and bgp.

load_test
                Enables or disables singleport (primary) load test. A singleport
                load test calculates the traffic convergence time to reach 100%
                starting from 0%. Possible values are true (enable) and false
                (disable). The default value is false. You must set it to true
                when the test type is load test.

stream_convergence_threshold
                Specifies the stream convergence threshold. Possible values range
                from 0 to 4294967295. The default value is 10.

selected_stream_block
                Specifies a list of streamblock handles relevant to the
                convergence path configuration

primary_router
                Specifies a list of the primary router handles or primary route
                protocol handles

backup_router
                Specifies a list of backup router handles or backup route
                protocol handles

Arguments Unsupported by Save as HLTAPI:

This function is not currently 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):

Handle          The convergence handle. Returned when the status is 1 and
                mode is create
handles         A list of convergence path handles
status          Success (1) or failure (0) of the operation
log             An error message (if the operation failed)
Description:

The emulation convergence config function creates, modifies, or deletes a control plane convergence. (See the mode argument description for information about the actions.)

When you create a convergence, the function returns a handle for it. Use this handle as the input for the modify and delete modes. The function also returns a list of convergence path handles. You can use handle or handles for the input of the delete mode.

If a creation, configuration, or deletion fails, Spirent HLTAPI returns an error message.

Examples:

The following example creates a control plane convergence:

emulation convergence config
   mode=                     create
   convergence_proto=         bgp
   selected_stream_block=    "$streamblock0 $streamblock1"
   primary_router=            "router0 router1"
   backup_router=            $router2"

Sample Output:

{handle convergenceconfig1} {handles {convergencepathconfig1 convergencepathconfig2}}
{status 1}

The following example modifies the specified convergence:

emulation convergence config
     handle=                     convergenceconfig0
     mode=                       modify
     convergence_proto=          bgp
     selected_stream_block=      $stream_id0
     primary_router=             $bgp_router0
     backup_router=              $bgp_router1

Sample Output:

{handles convergencepathconfig3} {status 1}

End of Procedure Header

emulation convergence control

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
This is a Spirent Extension created to control the behavior of the convergence test

Synopsis:

Note: M indicates the argument is `Mandatory`.

    `Spirent Extension (for Spirent HLTAPI only).`

    emulation convergence control
        handle= < convergence_config_handle_list>
        mode= {setup|collector|reset}
        timeout= <10-600>
        test_type= {convergence|load|reversion}
        mismatch_warning= {true|false}

Arguments:

handle
                Specifies a list of control plane convergence handles on which to
                set up the collector, or reset a control plane convergence test.
                This argument is `Mandatory`.

mode
                Specifies the action to be taken. This argument is `Mandatory`.
                Possible values are::


                 setup       Sets up a control plane convergence test

                 collector   Collects results for a control plane convergence test

                 reset       Resets the protocolbased convergence system

timeout
                Specifies the maximum number of seconds to wait for streams.
                Possible values range from 10 to 600. The default value is 10.

test_type
                Specifies the test type. Possible values are::


                 convergence     A twoport test (primary and secondary) that
                                 measures the time to switch from the primary port
                                 to the secondary port
                 load            A singleport (primary) test that calculates
                                 the traffic convergence time to reach 100%
                                 starting from 0%
                 reversion       A twoport test (primary and secondary) that
                                 measures the time to switch from the secondary
                                 port to the primary port

mismatch_warning
                Specifies whether to compare the running state with the
                configured state. Possible values are true and false. When the
                value is true, Spirent HLTAPI will compare the states, and give a
                warning if the running state does not match the configured state.
                The default value is true.
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 emulation convergence control function controls the convergence test. You can set up the convergence test, collect results of the test, or reset the convergence system. Use the mode argument to specify the action to perform.

You must specify a convergence handle.

Examples:

The following example sets up a convergence test:

emulation convergence control
    handle=         convergenceconfig1
    mode=           setup
    test_type=      convergence

End of Procedure Header

emulation convergence info

Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>

Purpose:
Returns information from the convergence test

Synopsis:

Note: M indicates the argument is `Mandatory`.

     emulation convergence info
        handle= <convergence_config_handle> M
        mode= {stats} M

Arguments:

handle
                Specifies the control plane convergence handle from which you want
                information. This argument is `Mandatory`.

mode
                Specifies the kind of information you want to see. This argument
                is `Mandatory`. The following option is available::

                 stats   Returns convergence summary results statistics
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

The following keys are returned when you specify mode stats:

avg_convergence_time                        Average singlestream convergence time
avg_reversion_convergence_time              Average singlestream reversion
                                            convergence time
converged_streams                           Number of converged streams
convergence_time                            Overall convergence time
expected_streams                            Number of expected streams
first_event_timestamp                       First event timestamp
first_event_timestamp_reversion             First event timestamp in reversion
packet_timestamp_first_stream               First packet timestamp on first stream
traffic_timestamp_first_stream_reversion    Traffic timestamp on first stream in
                                            reversion
packet_timestamp_last_stream                First packet timestamp on last stream
traffic_timestamp_last_stream_reversion     Traffic timestamp on last stream in
                                            reversion
last_event_timestamp                        Last event timestamp
last_event_timestamp_reversion              Last event timestamp in reversion
max_convergence_time                        Maximum singlestream convergence time
max_reversion_convergence_time              Maximum singlestream reversion
                                            convergence time
min_convergence_time                        Minimum singlestream convergence time
min_reversion_convergence_time              Minimum singlestream reversion
                                            convergence time
non_converged_streams                       Number of nonconverged streams
primary_streams                             Number of primary streams
reversion_convergence_time                  Overall reversion convergence time
streams_exceeding_threshold                 Number of streams exceeding threshold count
unexpected_converged_streams                Number of unexpected converged streams
Description:

The emulation convergence info function retrieves statistics for the specified convergence test.

This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message.

Examples:

The following example returns information from the specified convergence handle:

emulation convergence info
    handle= convergenceconfig1
    mode= stats\

Sample Output:

{min_convergence_time 2318.32000732422} {expected_streams 5}
{traffic_timestamp_first_stream_reversion 0} {primary_streams 5}
{max_convergence_time 7044.94998168945} {avg_convergence_time 4678.8719909668}
{converged_streams 5} {min_reversion_convergence_time 0} {first_event_timestamp
219094272915.13} {convergence_time 7044.94998168945}
{packet_timestamp_first_stream 219094275233.45} {streams_exceeding_threshold 5}
{max_reversion_convergence_time 0} {avg_reversion_convergence_time 0}
{last_event_timestamp 219094272915.13} {first_event_timestamp_reversion 0}
{reversion_convergence_time 0} {packet_timestamp_last_stream 219094279960.08}
{last_event_timestamp_reversion 0} {non_converged_streams 0}
{traffic_timestamp_last_stream_reversion 0} {unexpected_converged_streams 0}
{status 1}