RFC 3918 Functions

sth::test_rfc3918_config

Purpose

The sth::test_rfc3918_config command creates, modifies and deletes mixed class throughput test, scaled group forwarding matrix test, aggregated multicast throughput test, multicast forwarding latency test, multicast forwarding latency test, multicast group capacity test or join leave latency test.

The RFC 3918 tests are used to describe the performance characteristics of a multicast IP forwarding devices.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc3918_config
    [-mode {create|modify|delete}  M]
    [-multicast_streamblock <streamblock_handle>]
    [-handle <test_handle>]
    [-accept_frame_loss <integer>]
    [-back_off <integer>]
    [-custom_mc_imix_list <string>]
    [-dst_port_base <0-65535>]
    [-dst_port_count <0-65535>]
    [-dst_port_step <1-65535>]
    [-display_load_unit {bits_per_second|frames_per_second|inter_burst_gap|
                   kilobits_per_second|megabits_per_second|percent_line_rate}]
    [-enable_same_frame_size {0|1}]
    [-enable_seq_threshold {0|1}]
    [-enable_latency_threshold {0|1}]
    [-fixed_mc_frame_size 4 <7-16383>]
    [-frame_size_mode {custom|random|step}]
    [-frame_size <Integer list: 47-16383>]
    [-frame_size_start <47-16382>]
    [-frame_size_end <48-16383>]
    [-frame_size_step <1-16383>]
    [-frame_size_min <47-16382>]
    [-frame_size_max <47-16383>]
    [-group_search_mode {binary|step|combo}]
    [-group_lower_limit <integer>]
    [-group_upper_limit <integer>]
    [-group_count_mode {custom|random|step}]
    [-group_count <integer>]
    [-group_count_start <integer>]
    [-group_count_end <integer>]
    [-group_count_step <integer>]
    [-group_count_min <integer>]
    [-group_count_max <integer>]
    [-group_step <integer>]
    [-group_back_off <integer>]
    [-group_resolution <integer>]
    [-iteration_count <1-60>]
    [-initial_rate <integer>]
    [-ignore_limit {0|1}]
    [-initial_group <integer>]
    [-join_group_delay <0-2147483647>]
    [-join_leave_interval {0-3600}]
    [-latency_bucket_mode {linear|exponential}]
    [-leave_group_delay <0-2147483647>]
    [-load_type {custom|random|step}]
    [-load_unit {bits_per_second|frames_per_second|inter_burst_gap|
                 kilobits_per_second|megabits_per_second|percent_line_rate}]
    [-load_list <list_value>]
    [-load_start <integer>]
    [-load_end <integer>]
    [-load_step <integer>]
    [-load_min <integer>]
    [-load_max <integer>]
    [-learning_frequency {learn_every_topology_change|
         learn_every_frame_size|learn_every_iteration}]
    [-l2_learning_rate <1-4294967295>]
    [-l3_learning_rate <1-4294967295>]
    [-l3_learning_retry_count {1-100}]
    [-l2_learning_repeat_count {1-100}]
    [-enable_cyclic_resolution {0|1}]
    [-l2_learning_frame_mode { same_as_stream|fixed }]
    [-l2_learning_frame_size <64-16383>]
    [-l4_header_type {none|tcp|udp}]
    [-latency_type {lilo|lifo|fifo}]
    [-max_latency_threshold <integer>]
    [-min_latency {0.03-1073741823 }]
    [-max_latency {0.35-2147483647}]
    [-mc_msg_tx_rate <0-4294967295>]
    [-mc_group_distribute {even|traffic_weighted}]
    [-mc_traffic_percent_mode {custom|random|step|fixed}]
    [-mc_traffic_percent_start <integer>]
    [-mc_traffic_percent_end <integer>]
    [-mc_traffic_percent_step <integer>]
    [-mc_traffic_percent_min <integer>]
    [-mc_traffic_percent_max <integer>]
    [-mc_client_ver {igmp_v1|igmp_v2|igmp_v3|mld_v1|mld_v2}]
    [-mc_group_base_ipv4_addr <a.b.c.d>]
    [-mc_group_base_ipv4_step  <a.b.c.d>]
    [-mc_group_base_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-mc_group_base_ipv6_step  <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>]
    [-mc_group_increment  <1-4294967295>]
    [-out_of_seq_threshold <integer>]
    [-rate_lower_limit <integer>]
    [-rate_upper_limit <integer>]
    [-rate_step <integer>]
    [-resolution <integer>]
    [-result_delay <0-2147483647>]
    [-src_port_base <0-65535>]
    [-src_port_count <0-65535>]
    [-src_port_step <1-65535>]
    [-start_test_delay <0-3600>]
    [-search_mode {binary|step|combo}]
    [-test_type {mixed_tput|matrix|agg_tput|fwd_latency|join_latency|capacity}]
    [-test_duration_mode {seconds|bursts}]
    [-test_duration <1-5184000>]
    [-tos <0-7>]
    [-ipv6_flow_label <0-1048575>]
    [-traffic_join_interval {0-3600}]
    [-traffic_verification_freq_mode {none|verify_every_topology_change|
                         verify_every_frame_size|verify_every_iteration}]
    [-traffic_verification_abort_on_fail {true|false}]
    [-traffic_verification_tx_frame_count <1-32767>]
    [-traffic_verification_tx_frame_rate <1-14880952>]
    [-ttl <0-255>]
    [-unicast_frame_size_mode {custom|random|step}]
    [-unicast_frame_size <integer>]
    [-unicast_frame_size_start <integer>]
    [-unicast_frame_size_end <integer>]
    [-unicast_frame_size_step <integer>]
    [-unicast_frame_size_min <integer>]
    [-unicast_frame_size_max <integer>]
    [-unicast_streamblock <streamblock_handle>]
    [-use_random_ports {true|false}]
    [-vlan_priority <0-7>]

Arguments

-mode

Specify the action to be performed on the test port. This argument is Mandatory . Possible values are create, modify, and delete. The values are described below:

create - Creates mixed class throughput test, scaled
         group forwarding matrix test, aggregated
         multicast throughput test, multicast forwarding
         latency test, multicast forwarding latency test,
         multicast group capacity test or join leave latency
         test.

modify - Modifies the configuration for the created test.

delete - Deletes the created test.
-test_type

Indicates the type of test to be done. This argument is Mandatory for create mode and modify mode. Possible values are:

mixed_tput
Indicates the test is a Mixed Class Throughput test. This test is to determine the throughput of a DUT/SUT when both unicast class frames and multicast class frames are offered simultaneously to a fixed number of interfaces.
agg_tput
Indicates the test is an Aggregated Multicast Throughput test. This test is to determine the maximum rate at which of the offered frames to be forwarded through N destination interfaces of the same multicast groups are dropped.
matrix
Indicates the test is a Scaled Group Forwarding Matrix test. This test is to determine Forwarding Rate as a function of tested multicast groups for a fixed number of tested DUT/SUT ports.
fwd_latency
Indicates the test is a Multicast Forwarding Latency test. This test is to produce a set of multicast latency measurements from a single, multicast ingress interface of a DUT/SUT through multiple, egress multicast interfaces of that same DUT/SUT.
join_latency
Indicates the test is a Multicast Join/Leave latency test. This test is to determine the time duration it takes a DUT/SUT to start forwarding multicast frames from the time a successful IGMP group membership report has been issued to the DUT/SUT.
capacity
Indicates the test is a Multicast Group Capacity test. This test is to determine the maximum number of multicast groups a DUT/SUT can support while maintaining the ability to forward multicast frames to all multicast groups registered to that DUT/SUT.
-handle

Specifies the test to be modified or deleted. This argument is Mandatory for modify mode and delete mode.

-multicast_streamblock

Specifies the multicast streamblock handle used to do the test. This argument is Mandatory for create mode.

-unicast_streamblock

Specifies the unicast streamblock handle used to do the test. Use this argument only when the -test_type argument is mixed_tput.

-accept_frame_loss

Indicates the maximum percentage of frames that may be lost during a trial without causing the trial to fail. Frame loss is the aggregate loss from all traffic flows, averaged across all ports included in the test. Possible values range from 0.0-100.0. The default is 0.0. You can use this argument when you specify -test_type agg_tput.

-back_off

Specifies the rate at which the load decreases after the DUT fails at the current load. This option is applicable when -search_mode is set to binary or combo and -test_type is set to agg_tput or mixed_tput. The default value is 50.

-custom_mc_imix_list

Spirent Extension (for Spirent HLTAPI only).

Specifies a list of custom multicast Internet Mix (iMIX) distribution profiles

Values:

name                The name of the iMIX profile as specified in the
                    ``sth::imix_config`` function

default             A simple mix of the three most common frame
                    sizes found on the Internet

spirent            A simple mix of the four most common frame sizes
                   found on the Internet

4-point             The default distribution supplemented by a
                      random set of frame sizes

tcpv4               A mix of the most common TCPv4 frame sizes
                    found on the internet

ipsec               A mix of frame sizes that approximates IPsec
                    traffic

jmix_upstream       A mix of frame sizes that approximate JMIX
                    upstream traffic

jmix_downstream     A mix of frame sizes that approximate JMIX
                    downstream traffic

Default: 0

-display_load_unit

Spirent Extension (for Spirent HLTAPI only).

Specifies the display load unit in results

Values:

bits_per_second
frames_per_second,
inter_burst_gap
kilobits_per_second
megabits_per_second
percent_line_rate

Default: percent_line_rate

-dst_port_base

Spirent Extension (for Spirent HLTAPI only).

Specifies the starting destination port number

Values: 0-65535

Default: 7

-dst_port_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of destination ports to create

Values: 0-65535

Default: 0

-dst_port_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value by which to create the next destination port number

Values: 1-65535

-enable_jitter_measure

Determines whether to run the test in Jitter mode or not. Possible values are 0 and 1. When it is set to 1, Spirent HLTAPI will measure the Jitter data. The default is 0.

-enable_cyclic_resolution

Enables or disables the Layer 3 cyclic address resolution. Possible values are 0 (disable) and 1 (enable). Spirent TestCenter sends as many Address Resolution Protocol (ARP) /Neighbor Discovery (ND) requests as the number of source IP addresses. The intended use for this option is to seed the DUT’s ARP cache with the source IP and MAC addresses. If this option is disabled, only one ARP/ND request is sent. The default is 1.

-enable_same_frame_size

Determines whether multicast and unicast streams should use the same frame size in Mixed Class Throughput test. Use this argument only when the -test_type argument is set to mixed_tput. If this option is enabled, the -unicast_frame_size option and related option is no longer needed. The default is 1.

-enable_seq_threshold

Specifies whether to enable out of sequence threshold. The default is 0. You can specify this option when -test_type is set to agg_tput or mixed_tput.

-enable_latency_threshold

Specifies whether to enable max latency threshold. The default is 0. You can specify this option when -test_type is set to agg_tput or mixed_tput.

-fixed_mc_frame_size

Spirent Extension (for Spirent HLTAPI only).

Specifies the fixed frame size for multicast traffic

Dependency: -frame_size_mode fixed

Values: 47-16383

Default: 128

-frame_size_mode

Specifies how multicast frame sizes are set and varied through successive test trials. Possible values are custom, random, and step. The default value is custom. The modes are described below:

custom - Specifies a list of frame sizes specified by the
       -frame_size argument.

random - Generates random frame sizes within the
       range between the minimum size
       (-frame_size_min) and the maximum size
       (-frame_size_max).

step - Increases the frame size for each trial from that of
       the previous trial. You should use
       -frame_size_start, -frame_size_end, and
       -frame_size_step together to generate
       the frame size list for the test when the
       -frame_size_mode argument is set to step.

Note

The frame size includes the Cyclic Redundancy Check (CRC).

-frame_size

Defines the list of multicast frame sizes (in bytes) for the test when you specify -frame_size_mode custom. Each value in the list must be between 47 and 16383. The default size list is {128, 256, 512, 1024, 1280, 1518}

-frame_size_start

Indicates the multicast frame size (in bytes) for the first test trial. Possible values range from 47 to 16382. The default value is 128. You can specify this argument when -frame_size_mode is set to step.

-frame_size_end

Specifies the maximum multicast frame size (in bytes) for the test. Possible values range from 48 to 16383. The default value is 1518. You can specify this argument when -frame_size_mode is set to step.

-frame_size_step

Specifies the multicast frame size increment (in bytes). Possible values range from 1 to 16383. The default value is 128. You can specify this argument when -frame_size_mode is set to step.

-frame_size_min

Indicates the minimum multicast frame size (in bytes) when you use random mode for -frame_size_mode. Possible values range from 47 to 16382. The default is 128.

-frame_size_max

Indicates the maximum multicast frame size (in bytes) when you use random mode for -frame_size_mode. Possible values range from 47 to 16383. The default is 1518.

-group_count_mode

Specifies the method for varying multicast group counts. Possible values are custom, random, and step. The default value is custom. The modes are described below:

custom - Specifies a list of group counts specified by
      the -group_count argument.

random - Generates random group counts within the
      range between the minimum value
      (-group_count_min) and the maximum value
      (-group_count_max).

step - Increases the group count by the step value
      (-group_count_step). You should use
      -group_count_start, -group_count_end, and
      -group_count_step together to generate the frame
      size list for the test when the -group_count_mode
      is set to step.
-group_count

Defines the number of groups for the test when you specify -group_count_mode custom. The default count list is {10 20 100}

-group_count_start

Indicates the minimum number of groups for the test. The default value is 10. You can specify this argument when -group_count_mode is set to step.

-group_count_end

Specifies the maximum group numbers for the test. The default value is 100. You can specify this argument when -group_count_mode is set to step.

-group_count_step

Specifies the frame size increment. The default value is 10. You can specify this argument when -group_count_mode is set to step.

-group_count_min

Indicates the minimum number of groups when you use random mode for -group_count_mode. The default is 1.

-group_count_max

Indicates the maximum group count when you use random mode for -group_count_mode. The default is 1000.

-group_search_mode

Specifies the search algorithm used to find out the group capacity. Possible values are binary, step, and combo. The default value is binary. This option is only used in group capacity test. You can specify this argument when -test_type is set to capacity. The modes are described below:

binary - The test searches for the value using a
    binary search algorithm.

step - The value increases with each iteration by the
    percentage specified by the -rate_step option.

combo - The test begins with step mode and then
    switches to binary mode when an iteration fails.
-group_lower_limit

Specifies the lower limit for group search when using the binary mode. This attribute will be ignored if -group_search_mode is set to step. The default value is 10. You can specify this argument when -test_type is set to capacity and -search_mode is set to binary.

-group_upper_limit

Specifies the upper limit for group search when using the binary mode. This attribute will be ignored if -group_search_mode is set to step. The default value is 100. You can specify this argument when -test_type is set to capacity and -search_mode is set to binary.

-group_step

Specifies the amount that the load increases from iteration to iteration. This attribute will be ignored if the -search_mode option is set to binary. The default value is 10. You can specify this argument when -test_type is set to capacity and -search_mode is set to step or combo.

-group_back_off

Specifies the rate at which the group decreases after the DUT fails at the current group count. This option is applicable when -search_mode is binary or combo and -test_type is set to capacity. The default value is 50.

-group_resolution

Defines the finest adjustment possible in group count from iteration to iteration. If the required adjustment to the current group count for the next iteration is less than the value, the search stops. This option is applicable when -group_search_mode is binary or combo and -test_type is set to capacity. The default is 1.

-iteration_count

Specifies the number of times the test repeats with its initial configuration. Each trial is based on the same parameter values. Within a trial, certain parameter values vary with each iteration, according to the test methodology and setup. At the start of the next trial, these parameters revert to their initial values. Possible values range from 1 to 60. The default value is 1.

-ignore_limit

Specifies whether the search stops at the value specified by -rate_lower_limit or -rate_upper_limit, or it continues beyond those limits if an acceptable load has not been found yet. Possible values are 0 and 1. The default is 0. You can specify this option when -test_type is set to agg_tput or mixed_tput and -search_mode is set to binary or combo.

-initial_group

Indicates the starting group count for group search. The default is 10. You can specify this argument when -test_type is set to capacity.

-initial_rate

Indicates the starting load rate for each port. The default is 10. You can specify this argument when -test_type is set to agg_tput or mixed_tput .

-join_group_delay

Defines the time duration (in seconds) between Join messages. The default value is 15.

-join_leave_interval

specifies time (in seconds) to wait after sending join messages before sending Leave messages. The default is 10. You can specify this option when -test_type is set to join_latency.

-leave_group_delay

Defines the time duration (in seconds) between Leave messages

-learning_frequency

Specifies the frequency for sending learning frames. Possible values are:

learn_every_topology_change - Sends learning frames
    after every topology change.

learn_every_frame_size - Sends learning frames upon
    each iteration in frame size.

learn_every_iteration - Sends learning frames before
    each iteration begins.

The default value is learn_every_topology_change.

-l2_learning_rate

Specifies the rate, measured in frames per second, at which L2 learning frames are sent to the SUT. Possible values range from 1 to 4294967295. The default value is 1000.

-l3_learning_rate

Specifies the rate, measured in frames per second, at which L3 learning frames are sent to the SUT. Possible values range from 1 to 4294967295. The default value is 1000.

-l3_learning_retry_count

Specifies the number of Layer 3 learning retries if transmission, learning verification, or link errors occur. Possible values range from 1 to 100. The default is 5.

-l2_learning_repeat_count

Specifies the number of Layer 2 learning retries if transmission, learning verification, or link errors occur. Possible values range from 1 to 100. The default is 5.

-l2_learning_frame_mode

Specifies how to determine L2 learning frame size Possible values are:

same_as_stream - Indicates that the learning frame is
     the same size as the test frame for each iteration.

fixed - Indicates that the learning frame is a fixed size
     regardless of the test frame size.

The default value is same_as_stream.

-l2_learning_frame_size

Specifies L2 learning frame size if the -l2_learning_frame_mode argument is set to fixed. Possible values range from 64 to 16383. The default value is 128.

-l4_header_type

Spirent Extension (for Spirent HLTAPI only).

Specifies the transport layer protocol

Values: none, tcp, udp

Default: udp

-load_type

Specifies the way of varying the load size during the test. Possible values are custom, random, and step. The default value is custom. The types are described below: :

custom
The load sizes to use for the test is a list of the load sizes that are specified by the -load_list argument.
random
The load sizes to use for the test is the random sizes between the minimum size specified by the -load_min argument and the maximum size specified by the -load_max argument.
step
The load sizes increase by the step value (-load_step) with each test iteration, beginning with the start value ( -load_start) and increasing to the end value (-load_end).
-load_unit

Specifies the load unit to use. Possible values are bits_per_second, frames_per_second, inter_burst_gap, kilobits_per_second, megabits_per_second, and percent_line_rate. The default value is percent_line_rate. The units are described below:

bits_per_second          Number of bits per second
frames_per_second        Number of frames per second
inter_burst_gap          Interval between two frames
kilobits_per_second      Number of kilobits per second
megabits_per_second      Number of megabits per second
percent_line_rate        Percentage of the line rate

Note

This option is not allowed in the throughput test.

-load_list

Defines the list of load sizes. You can specify this option when -load_type is set to custom.

-load_start

Indicates the load size for the first trial. The default is 10. You can use this argument when you specify -load_type step. You should use -load_start, -load_end, and -load_step together to generate the load value list when you specify -load_type step.

-load_end

Specifies the maximum load value for a trial. The default is 50. You can specify this argument when you specify -load_type step. Please refer to -load_type for more information.

-load_step

Indicates the difference between two load sizes. The default is 10. You can specify this argument when you specify -load_type step. Please refer to -load_type for more information.

-load_min

Specifies the minimum load value for a trial. You can use this argument when you specify -load_type random. Please refer to -load_type for more information. The default is 10.

-load_max

Specifies the maximum load value for a trial. You can use this argument when you specify -load_type random. Please refer to -load_type for more information. The default is 50.

-latency_type

Specifies the latency calculation methods. Possible values are:

lilo
Last-In Last-Out latency. Calculates the latency as the time interval from when the end of the frame is transmitted from the source test port to when the end of the frame is received at the destination test port.
lifo
Last-In First-Out latency. Calculates the latency as the time interval from when the last bit of the input frame reaches the test destination port to when the first bit of the output frame reaches the test destination port.
fifo
First-In First-Out latency. Calculates the latency as the time interval from when the first bit of the input frame reaches the test destination port to when the first bit of the output frame reaches at the test destination port.

The default is lilo.

-latency_bucket_mode

Determines latency buckets based on a linear or exponential scale. Possible values are exponential or linear. The default is exponential. You can specify this option when -test_type is set to fwd_latency.

-max_latency_threshold

Specifies the maximum latency (in microseconds) of all the average latencies determined on each receive port in the test. If the threshold is reached, then the test trial fails. The default value is 30. You can specify this option when -test_type is set to throughput.

-mc_msg_tx_rate

Specifies the rate at which to transmit multicast packets, in packets per second per port. Possible values range from 0 to 4294967295. The default value is 1000.

-mc_group_distribute

Specifies the method used to distribute multicast groups to the multicast group objects. Possible values are:

even - Even distribution between all associated
     multicast groups. All objects are assigned an
     equal number of groups.

traffic_weighted - Weighted distribution based on traffic
     rate to associated multicast groups. Each object is
     assigned a number of groups proportional to the
     traffic rate of the object. If an object has twice the
     traffic rate, it will be assigned twice as many
     groups.
-mc_traffic_percent_mode

Specifies the method for varying percentage of multicast traffic used during the Mixed Class Throughput test as a percentage of expected egress load. Possible values are custom, random, and step. The default value is custom. The modes are described below:

custom - Specifies a list of multicast traffic percentage
       specified by the -mc_traffic_percent argument.

random - Generates random multicast traffic percentage
       within the range between the minimum value
       (-mc_traffic_percent_min) and the maximum
       value (-mc_traffic_percent_max).

step - Increases the multicast traffic percentage by the
       step value (-group_count_step).  You should use
       -mc_traffic_percent_start,
       -mc_traffic_percent_end, and
       -mc_traffic_percent_step together to generate the
       frame size list for the test when the
       -mc_traffic_percent_mode option is set to step.

fix -  Sends a fix percentage of multicast traffic for the
       duration of the test as specified
-mc_traffic_percent

Specify a list of multicast traffic percentage for the test when you specify -mc_traffic_percent custom. The default count list is {10 50 90}

-mc_traffic_percent_start

Indicates the minimum group numbers for the test. The default value is 10. You can specify this argument when -mc_traffic_percent_mode is set to step.

-mc_traffic_percent_end

Specifies the maximum group numbers for the test. The default value is 90. You can specify this argument when -mc_traffic_percent_mode is set to step.

-mc_traffic_percent_step

Specifies the frame size increment. The default value is 10. You can specify this argument when -mc_traffic_percent_mode is set to step.

-mc_traffic_percent_min

Indicates the minimum number of groups when you use random mode for -mc_traffic_percent_mode. The default is 1.

-mc_traffic_percent_max

Indicates the maximum number of groups when you use random mode for -mc_traffic_percent_mode. The default is 100.

-mc_client_ver

Spirent Extension (for Spirent HLTAPI only).

Specifies the version of IGMP or MLD to use for multicast traffic

Values: igmp_v1, igmp_v2, igmp_v3, mld_v1, mld_v2

Default: igmp_v2

-mc_group_base_ipv4_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv4 multicast address of the first multicast group block

Default: 225.0.0.1

-mc_group_base_ipv4_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value by which to create subsequent IPv4 multicast group blocks

Values: IPV4

Default: 0.1.0.0

-mc_group_base_ipv6_addr

Spirent Extension (for Spirent HLTAPI only).

Specifies the IPv6 multicast address of the first multicast group block

Values: IPV6

Default: ff1e::1

-mc_group_base_ipv6_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value by which to create subsequent IPv6 multicast group blocks

Values: IPV6

Default: 0.0.0.1::

-mc_group_increment

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value by which to create subsequent groups within a block. The value must be in power of 2.

Values: 1-4294967295

Default: 1

-min_latency

Specifies latency value, measured in microseconds, for the first bucket. The default is 4. You can specify this option when -test_type is set to fwd_latency.

-max_latency

specifies latency value, measured in microseconds, for the last bucket. The default is 16384. You can specify this option when -test_type is set to fwd_latency.

-out_of_seq_threshold

Specifies the number of out-of-order frames on each receive port that, if exceeded, causes the test iteration to fail. The default is 0. You can specify this option when -test_type is set to throughput.

-result_delay

Specifies the Interval (in seconds) between the test stop and result collection. Possible values range from 0 to 2147483647. The default value is 15.

-rate_lower_limit

Specifies the lower limit load rate for each port when using the binary search. This attribute will be ignored if -search_mode is set to step. The default value is 1. You can specify this argument when -test_type is set to agg_tput or mixed_tput and -search_mode is set to binary.

-rate_upper_limit

Specifies the maximum load rate for each port. The default value is 100. You can specify this argument when -test_type is set to agg_tput or mixed_tput and -search_mode is set to binary.

-rate_step

Specifies the amount that the load increases from iteration to iteration. This attribute will be ignored if the -search_mode option is set to binary. The default value is 10. You can specify this argument when -test_type is set to agg_tput or mixed_tput and -search_mode is set to step.

-resolution

Defines the finest adjustment possible in load from iteration to iteration. If the required adjustment to the current load for the next iteration is less than the value, the search stops. This option is applicable only when -search_mode is set to binary or combo and -test_type is set to agg_tput or mixed_tput. The default is 1.

-start_test_delay

Specifies the delay (in seconds) between when the test is started and the test ports are checked for their physical link status. Extending this delay may be required when testing a system that cannot forward immediately after physical link is established, for example when running Spanning Tree Protocol. Possible values range from 0 to 3600. The default value is 2.

-search_mode

Specifies the search algorithm used to find out the group capacity. Possible values are binary, step, and combo. The default value is binary. This options is only used in Mixed class throughput test and aggregate multicast throughput test. You can specify this argument when -test_type is set to agg_tput or mixed_tput. The modes are described below:

binary - The test searches for the value using a
        binary search algorithm.

step - The value increases with each iteration by the
       percentage specified by the -rate_step option.

combo - The test begins with step mode and then
        switches to binary mode when an iteration fails.
-src_port_base

Spirent Extension (for Spirent HLTAPI only).

Specifies the starting source port number

Values: 0-65535

Default: 7

-src_port_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of source ports to create

Values: 0-65535

Default: 0

-src_port_step

Spirent Extension (for Spirent HLTAPI only).

Specifies the increment value by which to create the next source port number

Values: 1-65535

Default: 1

-traffic_join_interval

Specifies the time (in seconds) to wait after sending traffic before sending join messages. The default is 10. You can specify this option when -test_type is set to join_latency.

-traffic_verification_freq_mode

Spirent Extension (for Spirent HLTAPI only).

Specifies when to perform traffic verification during the test

Values:

none
verify_every_topology_change
verify_every_frame_size
verify_every_iteration

Default: none

-traffic_verification_abort_on_fail

Spirent Extension (for Spirent HLTAPI only).

Specifies the test behavior when traffic verification fails

Values:

true    Stop the test when a fail result is detected

false   Continue the test when a fail result is detected

Default: true

-traffic_verification_tx_frame_count

Spirent Extension (for Spirent HLTAPI only).

Specifies the number of frames to send from each port for traffic verification

Values: 1-32767

Default: 100

-traffic_verification_tx_frame_rate

Spirent Extension (for Spirent HLTAPI only).

Specifies the traffic rate (in frames per second) to use for traffic verification

Values: 1-14880952

Default: 1000

-test_duration_mode

Specifies the duration mode for each transmitted stream. This option determines whether the test duration is measured in seconds or by the number of frames. The default is seconds. Possible values are described below:

seconds - Each trial lasts for the number of seconds
          specified by the -test_duration argument.

bursts - Each trial lasts for the number of bursts
         specified by the -test_duration argument.
-tos

Spirent Extension (for Spirent HLTAPI only).

Specifies the ToS value

Dependency: -mc_client_ver igmp_v1/igmp_v2/igmp_v3

Values: 0-7

Default: 0

-ipv6_flow_label

Spirent Extension (for Spirent HLTAPI only).

IPv6 Flow Label.

Values: 0-1048575

Default: 0

-test_duration

Indicates the transmission length in number of frames, when you specify -test_duration_mode bursts, or indicates the transmission time in seconds, if you specify -test_duration_mode seconds. Possible values range from 1 to 5184000. The default value is 60 when you specify -test_duration_mode seconds and 1000 when you specify -test_duration_mode bursts.

-ttl

Spirent Extension (for Spirent HLTAPI only).

Specifies the TTL value

Values: 0-255

Default: 10

-unicast_frame_size_mode

Specifies how unicast frame sizes are set and varied through successive test trials. Possible values are custom, random, and step. The default value is custom. Use this argument only when -test_type is set to mixed_tput. The modes are described below:

custom - Specifies a list of frame sizes specified by the
       -frame_size argument.

random - Generates random frame sizes within the
      range between the minimum size
      (-frame_size_min) and the maximum size
      (-frame_size_max).

step - Increases the frame size for each trial from that of
      the previous trial. You should use
      -frame_size_start, -frame_size_end, and
      -frame_size_step together to generate the frame
      size list for the test when the -frame_size_mode
      is set to step.

Note

The frame size includes the Cyclic Redundancy Check (CRC).

-unicast_frame_size

Defines the unicast frame size list for the test when you specify -unicast_frame_size_mode to custom. Use this argument only when the -test_type argument is set to mixed_tput. The default size list is {128, 256, 512, 1024, 1280, 1518}

-unicast_frame_size_start

Indicates the unicast frame size for the first test trial. The default value is 128. You can specify this argument when -unicast_frame_size_mode is set to step. Uuse this argument only when the -test_type option is set to mixed_tput.

-unicast_frame_size_end

Specifies the maximum unicast frame size for the test. The default value is 1518. You can specify this argument when -unicast_frame_size_mode is set to step. Use this argument only when the -test_type option is set to mixed_tput.

-unicast_frame_size_step

Specifies the unicast frame size increment. The default value is 128. You can specify this argument when -unicast_frame_size_mode is set to step. Use this argument only when the -test_type option is set to mixed_tput.

-unicast_frame_size_min

Indicates the minimum unicast frame size when you use random mode for -unicast_frame_size_mode. The default is 128. Use this argument only when the -test_type option is set to mixed_tput.

-unicast_frame_size_max

Indicates the maximum unicast frame size when you use random mode for -unicast_frame_size_mode. The default is 1518. Use this argument only when the -test_type option is mixed_tput.

-use_random_ports

Spirent Extension (for Spirent HLTAPI only).

Determines whether to randomly select source and destination ports for the test

Values: true, false

Default: true

-vlan_priority

Spirent Extension (for Spirent HLTAPI only).

Specifies the VLAN priority

Values: 0-7

Default: 0

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):

handle    Identifies the created test instance.
status    Success (1) or failure (0) of the operation.
log       An error message (if the operation failed).

Description

The sth::test_rfc3918_config function creates, modifies or deletes an RFC 3918 test that can be mixed class throughput test, scaled group forwarding matrix test, aggregated multicast throughput test, multicast forwarding latency test, multicast forwarding latency test, multicast group capacity test or join leave latency test. Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)

Once the RFC 3918 test has been configured, a handle is created, which can be used to modify the created test. (See the -mode argument description for more information).

You must specify the -mode (create, modify, or delete) argument.

For more information about the protocol, see RFC 3918.

Examples

#### HLTAPI for Tcl ####

The following example creates a mixed class throughput test:

sth::test_rfc3918_config  -mode create\
    -test_type mixed_tput\
    -multicast_streamblock  $multiStreamHnd\
    -unicast_streamblock $uniStreamHnd \
    -join_group_delay 15 \
    -leave_group_delay 15 \
    -mc_msg_tx_rate 2000 \
    -latency_type FIFO \
    -test_duration_mode seconds \
    -test_duration 20 \
    -frame_size_mode custom \
    -frame_size 256 \
    -learning_frequency learn_every_iteration \
    -l2_learning_rate 100 \
    -l3_learning_rate 200 \
    -group_count_mode custom \
    -group_count {10 20} \
    -enable_same_frame_size 0 \
    -unicast_frame_size_mode custom \
    -unicast_frame_size 128 \
    -mc_traffic_percent_mode custom \
    -mc_traffic_percent 30]

The following example creates an aggregated multicast throughput test:

sth::test_rfc3918_config  -mode create\
     -test_type agg_tput\
     -multicast_streamblock  $multiStreamHnd\
     -join_group_delay 15 \
     -leave_group_delay 15 \
     -mc_msg_tx_rate 2000 \
     -latency_type FIFO \
     -test_duration_mode seconds \
     -test_duration 20 \
     -result_delay  10 \
     -start_test_delay 5 \
     -frame_size_mode custom \
     -frame_size 256 \
     -learning_frequency learn_every_iteration \
     -l2_learning_rate 100 \
     -l3_learning_rate 200 \
     -group_count_mode custom \
     -group_count {10 20}]

The following example modifies a created test:

sth::test_rfc3918_config  -mode modify \
     -handle $testHnd \
     -test_type agg_tput\
     -join_group_delay 25 \
     -leave_group_delay 35 \
     -mc_msg_tx_rate 4000 \
     -iteration_count 1 \
     -test_duration_mode seconds \
     -test_duration 10 \
     -start_test_delay 5 \
     -group_count_mode custom \
     -group_count {10}]
Sample output for examples shown above::
{status 1}

#### HLTAPI for Python ####

The following example creates a mixed class throughput test:

rfc_cfg0 = sth.test_rfc3918_config (
             mode                = 'create',
             test_type           = 'mixed_tput',
             multicast_streamblock= mc_str,
             unicast_streamblock = uc_str,
             enable_same_frame_size= '1',
             resolution          = '1',
             mc_group_distribute = 'traffic_weighted',
             rate_upper_limit    = '100',
             mc_traffic_percent  = '10',
             enable_latency_threshold= '0',
             group_count_mode    = 'custom',
             ignore_limit        = '0',
             mc_traffic_percent_mode= 'custom',
             back_off            = '50',
             group_count         = ['10','20'],
             accept_frame_loss   = '0',
             rate_lower_limit    = '10',
             search_mode         = 'binary',
             enable_seq_threshold= '0',
             initial_rate        = '100',
             frame_size_mode     = 'custom',
             l2_learning_frame_mode= 'fixed',
             mc_msg_tx_rate      = '1000',
             frame_size          = ['128','256'],
             l2_learning_repeat_count= '5',
             learning_frequency  = 'learn_every_topology_change',
             result_delay        = '15',
             enable_cyclic_resolution= '1',
             test_duration_mode  = 'seconds',
             l3_learning_rate    = '1000',
             join_group_delay    = '10',
             iteration_count     = '1',
             test_duration       = '15',
             leave_group_delay   = '5',
             l2_learning_rate    = '1000',
             latency_type        = 'FIFO',
             l2_learning_frame_size= '128',
             start_test_delay    = '2',
             l3_learning_retry_count= '5');

Sample Output:

{'status': '1', 'handle': 'rfc3918mixedclassthroughputtestcaseconfig1'}

The following example creates an aggregated multicast throughput test:

rfc_cfg0 = sth.test_rfc3918_config (
             mode                = 'create',
             test_type           = 'agg_tput',
             multicast_streamblock= mc_str,
             resolution          = '1',
             mc_group_distribute = 'even',
             rate_upper_limit    = '100',
             enable_latency_threshold= '0',
             group_count_mode    = 'custom',
             ignore_limit        = '0',
             back_off            = '50',
             group_count         = '10',
             accept_frame_loss   = '0',
             rate_lower_limit    = '10',
             search_mode         = 'binary',
             enable_seq_threshold= '0',
             initial_rate        = '100',
             frame_size_mode     = 'custom',
             l2_learning_frame_mode= 'same_as_stream',
             mc_msg_tx_rate      = '1000',
             frame_size          = '128',
             l2_learning_repeat_count= '5',
             learning_frequency  = 'learn_every_topology_change',
             result_delay        = '15',
             enable_cyclic_resolution= '1',
             test_duration_mode  = 'seconds',
             l3_learning_rate    = '1000',
             join_group_delay    = '5',
             iteration_count     = '1',
             test_duration       = '10',
             leave_group_delay   = '5',
             l2_learning_rate    = '1000',
             latency_type        = 'FIFO',
             start_test_delay    = '2',
             l3_learning_retry_count= '5');
Sample Output::
{‘status’: ‘1’, ‘handle’: ‘rfc3918aggregatedmulticastthroughputtestcaseconfig1’}

#### HLTAPI for Perl ####

The following example creates an aggregated multicast throughput test:

my %rfc_cfg0 = sth::test_rfc3918_config (
             mode                => 'create',
             test_type           => 'agg_tput',
             multicast_streamblock=> "$mc_str",
             resolution          => '1',
             mc_group_distribute => 'even',
             rate_upper_limit    => '100',
             enable_latency_threshold=> '0',
             group_count_mode    => 'custom',
             ignore_limit        => '0',
             back_off            => '50',
             group_count         => '10',
             accept_frame_loss   => '0',
             rate_lower_limit    => '10',
             search_mode         => 'binary',
             enable_seq_threshold=> '0',
             initial_rate        => '100',
             frame_size_mode     => 'custom',
             l2_learning_frame_mode=> 'same_as_stream',
             mc_msg_tx_rate      => '1000',
             frame_size          => '128',
             l2_learning_repeat_count=> '5',
             learning_frequency  => 'learn_every_topology_change',
             result_delay        => '15',
             enable_cyclic_resolution=> '1',
             test_duration_mode  => 'seconds',
             l3_learning_rate    => '1000',
             join_group_delay    => '5',
             iteration_count     => '1',
             test_duration       => '10',
             leave_group_delay   => '5',
             l2_learning_rate    => '1000',
             latency_type        => 'FIFO',
             start_test_delay    => '2',
             l3_learning_retry_count=> '5');

Sample Output:

$VAR1 = 'handle';
$VAR2 = 'rfc3918aggregatedmulticastthroughputtestcaseconfig1';
$VAR3 = 'status';
$VAR4 = '1';

The following example creates a mixed class throughput test:

my %rfc_cfg0 = sth::test_rfc3918_config (
         mode                => 'create',
         test_type           => 'mixed_tput',
         multicast_streamblock=> "$mc_str",
         unicast_streamblock => "$uc_str",
         enable_same_frame_size=> '1',
         resolution          => '1',
         mc_group_distribute => 'traffic_weighted',
         rate_upper_limit    => '100',
         mc_traffic_percent  => '10',
         enable_latency_threshold=> '0',
         group_count_mode    => 'custom',
         ignore_limit        => '0',
         mc_traffic_percent_mode=> 'custom',
         back_off            => '50',
         group_count         => '10 20 ',
         accept_frame_loss   => '0',
         rate_lower_limit    => '10',
         search_mode         => 'binary',
         enable_seq_threshold=> '0',
         initial_rate        => '100',
         frame_size_mode     => 'custom',
         l2_learning_frame_mode=> 'fixed',
         mc_msg_tx_rate      => '1000',
         frame_size          => '128 256 ',
         l2_learning_repeat_count=> '5',
         learning_frequency  => 'learn_every_topology_change',
         result_delay        => '15',
         enable_cyclic_resolution=> '1',
         test_duration_mode  => 'seconds',
         l3_learning_rate    => '1000',
         join_group_delay    => '10',
         iteration_count     => '1',
         test_duration       => '15',
         leave_group_delay   => '5',
         l2_learning_rate    => '1000',
         latency_type        => 'FIFO',
         l2_learning_frame_size=> '128',
         start_test_delay    => '2',
         l3_learning_retry_count=> '5');

Sample Output:

$VAR1 = ‘handle’; $VAR2 = ‘rfc3918mixedclassthroughputtestcaseconfig1’; $VAR3 = ‘status’; $VAR4 = ‘1’;

End of Procedure Header

sth::test_rfc3918_control

Purpose

Controls the RFC 3918 tests.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc3918_control
   [-action {run | stop}  M]
   [-cleanup {0|1}]
   [-wait {0|1}]

Arguments

-action

Specifies the action to perform for the test. Possible values are:

run - Starts the test. You can start one test in each type.
stop - Stops the test.
-cleanup

Determines whether the current test instance should be deleted after the test is completed. Possible values are 0 and 1. The default value is 1. When it is set to 1, the current test instance will be deleted after the test is completed.

-wait

Determines whether this command returns only when the test is completed. Possible values are 0 and 1. The default is 1. When it is set to 1, the command will return only when the test is completed.

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 or $FAILURE log Error message if command returns {status 0}

Description

The sth::test_rfc3918_control function controls the starting and stopping of the test.

Examples

#### HLTAPI for Tcl ####

The following example starts all current configured tests at the same time and does not do the cleanup action when the tests stop:

set ret [sth::test_rfc3918_control -action run -wait 1 -cleanup 0]

Sample output for the example shown above:

{status 1}

#### HLTAPI for Python ####

The following example starts all current configured tests:

ctrl_ret1 = sth.test_rfc3918_control (
             action              = 'run',
             wait                = '1');

Sample Output:

{'status': '1',}

#### HLTAPI for Perl ####

The following example starts all current configured tests:

my %ctrl_ret1 = sth::test_rfc3918_control (
             action              => 'run',
             wait                => '1');
Sample output::
$VAR1 = ‘status’; $VAR2 = ‘1’;

End of Procedure Header

sth::test_rfc3918_info

Purpose

Retrieves statistics for the configured test.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc3918_info
    [-test_type {mixed_tput|matrix|agg_tput|fwd_latency|join_latency|capacity}  M]
    [-clear_result {0|1}]

Arguments

-test_type

Specifies the type of the test, whose information will be returned. This argument is Mandatory . Possible values are mixed_tput matrix, agg_tput, fwd_latency, join_latency and capacity. Please refer to the description of the -test_type option.

-clear_result

Determines whether the result should be cleared after the data is retrieved. Possible values are 0 and 1. When it is set to 1, the result will be cleared after the data is retrieved. The default is 0.

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 or $FAILURE

log  Error message if command returns {status 0}

statistics list     Specifies the list of RFC 3918 statistics

Mixed Class Throughput Test Statistics

Summary results:

rfc3918mixed_tput.summary.total_iteration_count
     The number of all the iterations.
rfc3918mixed_tput.summary.test_duration_mode
     Test duration mode.
rfc3918mixed_tput.summary.test_duration
     Test duration.

You can use the multicast stream ratio, multicast frame size and unicast frame size as indexes to query the following results:

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>. unicast_frame_size. <value>.mixed_iload
     The intended load of mixed class traffic.

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>.unicast_frame_size.<value>.mixed_tput
    The throughput of mixed class traffic (frames per second).

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>.unicast_frame_size.<value>.mc_iload
     The intended load of multicast class traffic.

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>.unicast_frame_size. # <value>.mc_tput
     The throughput of multicast class traffic (frames per second).

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>.unicast_frame_size.<value>.unicast_iload
     The intended load of unicast class traffic.

rfc3918mixed_tput.summary.mc_ratio.<value>.mc_frame_size.
<value>.unicast_frame_size.<value>.unicast_tput
     The throughput of unicast class traffic (frames per second).

Detail results:

The detail statistics. You can use the iteration
count group count, multicast stream ratio, multicast frame size and
unicast frame size as indexes when you query the results. For
example. "rfc3918mixed_tput. detail. iteration. 2. gp_count. 10.
mc_frame_size. 64. unicast_frame_size.64. mc_iload" indicates the
multicast stream intended load for the second iteration of a Mixed
Class Throughput test when the multicast frame size is 64 bytes
and unicast frame size is 64 bytes

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.mc_egress_port
     Multicast egress port count.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.mixed_tput
     The throughput of mixed class traffic (frames per second).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.mc_iload
     The intended load of multicast class traffic.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.mc_tput
     The throughput of multicast class traffic (frames per second).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.unicast_iload
     The intended load of unicast class traffic.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.unicast_tput
     The throughput of unicast class traffic (frames per second).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.tx_frames
     The Number of sent frames.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.rx_frames
     The number of received frames.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.latency_min
     The minimum latency (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.latency_avg
     The average latency (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>.latency_max
     The maximum latency (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>. jitter_min
     The minimum jitter value (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>. jitter_avg
     The average jitter value (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>. jitter_max
     The maximum jitter value (microseconds).

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>. frame_lost
     The number of lost frames.

rfc3918mixed_tput.detail.iteration.<value>.gp_count.<value>.
mc_ratio.<value>.mc_frame_size.<value>.unicast_frame_size.
<value>. frame_loss
     The percentage ratio of lost frames to the total frames.

Aggregated Multicast Throughput Statistics

Summary results:

rfc3918agg_tput.summary.total_iteration_count
     The number of all the iterations.
rfc3918agg_tput.summary.test_duration_mode
     Test duration mode.
rfc3918agg_tput.summary.test_duration
     Test duration.

You can use the group count, multicast frame size and intented load as indexes to query the following results:

rfc3918agg_tput.summary.gp_count.<value>.frame_size.<value>. iload.<value>.tput

Throughput (frames per second).

rfc3918agg_tput.summary.gp_count.<value>.frame_size. <value>.iload.<value>.frame_loss

The percentage ratio of lost frames to the total frames.

Detail results:

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.mc_egress_port
     Multicast egress port count.

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. tput
     Throughput (frames per second).

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.tx_frames
     The number of sent frames.

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.rx_frames
     The number of received frames.

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.latency_min
     The minimum latency (microseconds)

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.latency_avg
     The average latency (microseconds).

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.latency_max
     The maximum latency (microseconds).

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. jitter_min
     The minimum jitter value (microseconds)

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.jitter_avg
     The average jitter value (microseconds)

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.jitter_max
     The maximum jitter value (microseconds)

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. frame_lost
     The number of lost frames.

rfc3918agg_tput.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. frame_loss
     The percentage ratio of lost frames to the total frames.

Scaled Group Forwarding Matrix Statistics

Summary results:

rfc3918matrix.summary.total_iteration_count
     The number of all the iterations.
rfc3918matrix.summary.test_duration_mode
     Test duration mode.
rfc3918matrix.summary.test_duration
     Test duration.
rfc3918matrix.summary. latency_type
     Latency type.

rfc3918matrix.summary.gp_count.<value>.frame_size.<value>.
iload.<value>. total_tx_frames
     The total number of sent frames.

rfc3918matrix.summary.gp_count.<value>.frame_size.<value>.
iload.<value>. total_rx_frames
     The total number of received frames.

rfc3918matrix.summary.gp_count.<value>.frame_size.<value>.
iload.<value>. total_frame_lost
     The number of lost frames.

rfc3918matrix.summary.gp_count.<value>.frame_size.<value>.
iload.<value>.fwd_rate
     Forwarding rate.

Detail results:

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. rx_gp_count
     Received group count.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. oload
     Offer load.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. tx_frames
     The number of sent frames.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. expected_rx_frames
     The number of expected received frames.
rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. rx_frames
     The number of received frames.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. frame_lost
     The number of lost frames.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. frame_loss
     The percentage ratio of lost frames to the total frames.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. fwd_rate
     Forwarding rate.

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. latency_min
     The minimum latency (microseconds).

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. latency_avg
     The average latency (microseconds).

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. latency_max
     The maximum latency (microseconds).

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. jitter_min
     The minimum jitter value (microseconds)

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. jitter_avg
     The average jitter value (microseconds)

rfc3918matrix.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. jitter_max
     The maximum jitter value (microseconds)

Multicast Forwarding Latency Statistics:

Summary results::

     rfc3918fwd_latency.summary.total_iteration_count
          The total iteration number.

     rfc3918fwd_latency.summary.test_duration_mode
          Test duration mode.

     rfc3918fwd_latency.summary.test_duration
          Test duration.

     rfc3918fwd_latency.summary.latency_type
          Latency type.

     rfc3918fwd_latency.summary.gp_count.<value>.frame_size.
     <value>.iload. <value>. oload
          Offered load

     rfc3918fwd_latency.summary.gp_count.<value>.frame_size.
     <value>.iload.<value>. latency_min
          Minimum latency (microseconds).

     rfc3918fwd_latency.summary.gp_count.<value>.frame_size.
     <value>.iload.<value>. latency_avg
          Average latency (microseconds).

     rfc3918fwd_latency.summary.gp_count.<value>.frame_size.
     <value>.iload.<value>.latency_max
          Maximum latency (microseconds).

Detail results::

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. mc_egress_port
          Multicast egress port count

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. rx_gp_count
          Received group count.

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. oload
          Offered load

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. latency_min
          Minimum latency (microseconds).

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>.latency_avg
          Average latency (microseconds).

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. latency_max
          Maximum latency (microseconds).

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. tx_frames
          The number of sent frames.

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. expected_rx_frames
          The expected number of received frames.

     rfc3918fwd_latency.detail.iteration.<value>.gp_count.
     <value>.frame_size.<value>.iload.<value>. rx_frames
          The number of received frames.

Join Leave Latency Statistics

Summary results:

rfc3918join_latency.summary.total_iteration_count
     The total number of iteration.

rfc3918join_latency.summary.test_duration_mode
     Duration mode.

rfc3918join_latency.summary.test_duration
     Test duration.

rfc3918join_latency.summary.latency_type
     Latency type.

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>. oload
     Offered load

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>.join_latency_min
     The minimum join latency (microseconds).

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>. join_latency_max
     The maximum join latency (microseconds).

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>. join_latency_avg
     The average join latency (microseconds).

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>.leave_latency_min
     The minimum leave latency (microseconds).

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>. leave_latency_max
     The maximum leave latency (microseconds).

rfc3918join_latency.summary.gp_count.<value>.frame_size.
<value>.iload.<value>. leave_latency_avg
     The average leave latency (microseconds).

Detail results:

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. mc_egress_port
     Multicast egress port count.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. rx_gp_count
     Received group count.

rfc3918join_latency.detail.iteration.<value>.gp_count.<value>.
frame_size.<value>.iload.<value>. oload
     Offered load.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.join_latency_min
     The minimum join latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.Join_latency_avg
     The average join latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.join_latency_max
     The maximum join latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.leave_latency_min
     The minimum leave latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.leave_latency_avg
     The Average leave latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.leave_latency_max
     The Maximum leave latency (microseconds).

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. tx_frames
     The number of sent frames.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. expected_rx_frames
     The expected number of received frames.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>. rx_frames
     The number of received frames.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.frame_lost
     The number of lost frames.

rfc3918join_latency.detail.iteration.<value>.gp_count.
<value>.frame_size.<value>.iload.<value>.frame_loss
     The percentage ratio of lost frames to the total frames.

Multicast Group Capacity Statistics

Summary results:

rfc3918capacity.summary.total_iteration_count
     The total number of iteration.

rfc3918capacity.summary.test_duration_mode
     Test duration mode.

rfc3918capacity.summary.test_duration
     Test duration.

rfc3918capacity.summary.frame_size.<value>.iload.<value>. oload
     Offered load

rfc3918capacity.summary.frame_size.<value>.iload.<value>. group_capacity
     Group capacity

Detail results:

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. mc_rx_gp_count
     Multicast Received port count

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. mc_egress_ports
     Multicast egress port count

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. no_rx_gp
     Total number of groups with zero received frames on all
     egress ports.

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. tput
     Throughput (frames per second).

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. tx_frames
     The number of sent frames.

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>.rx_frames
     The number of received frames.

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. latency_min
     Minimum latency (microseconds).

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>.latency_avg
     Average latency (microseconds).

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. latency_max
     Maximum latency (microseconds).

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. jitter_min
     Minimum jitter value (microseconds)

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. jitter_avg
     Average jitter value (microseconds)

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. jitter_max
     Maximum jitter value (microseconds)

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. frame_lost
     The number of lost frames.

rfc3918capacity.summary.iteration.<value>frame_size.
<value>.iload.<value>. frame_loss
     The percentage ratio of lost frames to the total frames.

Description

The sth::test_rfc3918_info function provides information about the configured tests.

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). Function return values are formatted as a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list. (See Return Values for a description of each key.)

Examples

#### HLTAPI for Tcl ####

Sample Input:

puts "get the b2b test result"
set ret [sth::test_rfc3918_info -test_type agg_tput -clear_result 1]

Sample Output:

{rfc3918join_latency {{summary {{total_iteration_count 1} {gp_count
{{10 {{frame_size {{128 {{iload {{10 {{oload 10.0}
{join_latency_min 0.0} {join_latency_max 0} {join_latency_avg 0.0}
{leave_latency_max 0} ...... {frame_loss 100.0}}}}}}}}}}}}}}}}}}}}}
{status 1}

#### HLTAPI for Python ####

Sample Input:

results_ret1 = sth.test_rfc3918_info (
             test_type           = 'mixed_tput',
             clear_result        = '1');

Sample Output:

{'status': '1', 'rfc3918mixed_tput': {'detail': {'iteration': {'1':
{'gp_count': {'0': {'mc_ratio': {':9': {'mc_frame_size': {'256':
{'unicast_frame_size': {'tx_frames': '67934783', 'latency_avg': '0.124',
'mc_tput': '10.0', 'mc_egress_port': '1', 'mixed_iload': '100.0', 'jitter_max':
'0.02', 'unicast_iload': '90.0', 'latency_max': '0.14', 'latency_min': '0.11',
'mixed_tput': '100.0', 'jitter_avg': '0.006', 'frame_loss': '0.0',
'frame_lost': '0', 'jitter_min': '0.0', 'mc_iload': '10.0', 'rx_frames':
'67934783', 'unicast_tput': '90.0'}}, '28': {'unicast_frame_size':
{'tx_frames': '126689190', 'latency_avg': '0.124', 'mc_tput': '10.0',
'mc_egress_port': '1', 'mixed_iload': '100.0', 'jitter_max': '0.03',
'unicast_iload': '90.0', 'latency_max': '0.14', 'latency_min': '0.11',
'mixed_tput': '100.0', 'jitter_avg': '0.006', 'frame_loss': '0.0',
'frame_lost': '0', 'jitter_min': '0.0', 'mc_iload': '10.0', 'rx_frames':
'126689190', 'unicast_tput': '90.0'}}}}}}, '20': {'mc_ratio': {':9':
{'mc_frame_size': {'256': {'unicast_frame_size': {'tx_frames': '67934783',
'latency_avg': '0.124', 'mc_tput': '10.0', 'mc_egress_port': '1',
'mixed_iload': '100.0', 'jitter_max': '0.02', 'unicast_iload': '90.0',
'latency_max': '0.14', 'latency_min': '0.11', 'mixed_tput': '100.0',
'jitter_avg': '0.006', 'frame_loss': '0.0', 'frame_lost': '0', 'jitter_min':
'0.0', 'mc_iload': '10.0', 'rx_frames': '67934783', 'unicast_tput': '90.0'}},
'28': {'unicast_frame_size': {'tx_frames': '126689190', 'latency_avg': '0.124',
'mc_tput': '10.0', 'mc_egress_port': '1', 'mixed_iload': '100.0', 'jitter_max':
'unicast_iload': '90.0', 'latency_max': '0.14', 'latency_min': '0.11',
'mixed_tput': '100.0', 'jitter_avg': '0.006', 'frame_loss': '0.0',
'frame_lost': '0', 'jitter_min': '0.0', 'mc_iload': '10.0', 'rx_frames':
'126689190', 'unicast_tput': '90.0'}}}}}}}}}}, 'summary': {'mc_ratio': {'1:9':
{'mc_frame_size': {'128': {'unicast_frame_size': {'mc_tput': '10.0',
'mixed_tput': '100.0', 'mixed_iload': '100.0', 'unicast_iload': '90.0',
'unicast_tput': '90.0', 'mc_iload': '10.0'}}, '256': {'unicast_frame_size':
{'mc_tput': '10.0', 'mixed_tput': '100.0', 'mixed_iload': '100.0',
'unicast_iload': '90.0', 'unicast_tput': '90.0', 'mc_iload': '10.0'}}}}},
'test_duration_mode': 'SECONDS', 'total_iteration_count': '1',
'test_duration': '15'}}}

#### HLTAPI for Perl ####

Sample Input:

my %results_ret1 = sth::test_rfc3918_info (
             test_type           => 'mixed_tput',
             clear_result        => '1');

Sample Output:

VAR1 = 'rfc3918mixed_tput';
$VAR2 = {
          'detail' => {
                        'iteration' => {
                                         '1' => {
         }                                ...
$VAR3 = 'status';
$VAR4 = '1';

End of Procedure Header