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 capacityDetail 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