RFC 2889 Functions

sth::test_rfc2889_config

Purpose

The sth::test_rfc2889_config command creates, modifies, and deletes address caching capacity test, address learning rate test, forwarding test, or maximum forwarding test. The RFC 2889 tests are used for benchmarking methodology for LAN Switching Devices, which is the standard for initial performance testing of Layer 2 switches.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc2889_config
   [-test {addr_caching_capacity|addr_learn_rate|forwarding_test|
        max_forward_test}  M]
   [-mode {create|modify|delete}  M]
   [-handle {rfc2889_config_handle}  M]
                      Mandatory when -mode modify|delete
   [-src_hdl {host_handle or port_handle}]
   [-dst_hdl {host_handle or port_handle}]
   [-monitor_port <port_handle>]
   [-enable_bidirectional_traffic  {1|0}]
   [-traffic_pattern {pair|mesh|backbone}]
   [-enable_stream_only_gen {1|0}]
   [-endpoint_map {one_to_one|one_to_many}]
   [-device_count <integer>]
   [-mac_addr {aa:bb:cc:dd:ee:ff}]
   [-port_mac_step {aa:bb:cc:dd:ee:ff}]
   [-device_mac_step {aa:bb:cc:dd:ee:ff}]
   [-vlan <integer>]
   [-port_vlan_step <integer>]
   [-device_vlan_step <integer>]
   [-vlan_priority <1-7>]
   [-caching_frame_size_end {64-16383}]
   [-caching_display_traffic_group_load_unit {bits_per_second|
        kilobits_per_second|megabits_per_second|percent_line_rate}]
   [-caching_aging_time {1-3600}]
   [-caching_custom_frame_size_list <NUMERIC>]
   [-caching_random_max_frame_size [64-16383]]
   [-caching_delay_after_transmission {1-3600}]
   [-caching_frame_size_iteration_mode {custom|random|step}]
   [-caching_enable_jitter_measurement {true|false}]
   [-min_num_addrs {1-16777216}]
   [-caching_latency_type {fifo|lifo|lilo}]
   [-caching_traffic_start_delay {0.005-3600}]
   [-caching_random_min_frame_size {64-16383}]
   [-enable_include_test_port_addr {true|false}]
   [-initial_num_addrs {1-16777215}]
   [-caching_num_of_trials {1-60}]
   [-learning_rate {1-4294967295}]
   [-caching_display_load_unit {bits_per_second|frames_per_second|
        inter_burst_gap|kilobits_per_second|megabits_per_second|
        percent_line_rate}]
   [-caching_stagger_start_delay {0-65535}]
   [-caching_resolution {1-16777216}]
   [-max_num_addrs {1-16777216}]
   [-caching_external_cmd <string>]
   [-caching_ext_proccess_before_traffic {true|false}]
   [-caching_abort_on_traffic_fail {true|false}]
   [-caching_frame_size_start {64-16383}]
   [-caching_frame_size_step {1-16383}]
   [-learning_abort_on_traffic_fail {true|false}]
   [-learning_ext_proccess_before_traffic {true|false}]
   [-learning_external_cmd <string>]
   [-initial_learning_rate {1-4294967295}]
   [-mac_addr_count {1-16777216}]
   [-max_learning_rate {1-4294967295}]
   [-min_learning_rate {1-4294967295}]
   [-learning_frame_size_end {64-16383}]
   [-learning_display_traffic_group_load_unit {bits_per_second|
        kilobits_per_second|megabits_per_second|percent_line_rate}]
   [-learning_aging_time {1-3600}]
   [-learning_custom_frame_size_list <NUMERIC>]
   [-learning_random_max_frame_size {64-16383}]
   [-learning_delay_after_transmission {1-3600}]
   [-learning_frame_size_iteration_mode {custom|random|step}]
   [-learning_enable_jitter_measurement {true|false}]
   [-learning_num_of_trials {1-60}]
   [-learning_latency_type {fifo|lifo|lilo}]
   [-learning_traffic_start_delay {0.005-3600}]
   [-learning_random_min_frame_size {64-16383}]
   [-learning_display_load_unit {bits_per_second|frames_per_second|
        inter_burst_gap|kilobits_per_second|megabits_per_second|
        percent_line_rate}]
   [-learning_stagger_start_delay {0-65535}]
   [-learning_resolution {1-16777216}]
   [-learning_frame_size_start {64-16383}]
   [-learning_frame_size_step {1-16383}]
   [-fwd_rate_step {0.001-100.0}]
   [-fwd_burst_size_step {1-4294967295}]
   [-fwd_frame_size_end {64-16383}]
   [-fwd_search_mode {binary|combo|step}]
   [-fwd_stagger_start_delay {0-65535}]
   [-fwd_l2_delay_before_learning {0-3600}]
   [-fwd_rate_initial {0.001-100.0}]
   [-fwd_acceptable_frame_loss {0.0-100.0}]
   [-fwd_enable_learning {true|false}]
   [-fwd_custom_frame_size_list <NUMERIC>]
   [-fwd_random_max_frame_size {64-16383}]
   [-fwd_delay_after_transmission {1-3600}]
   [-fwd_rate_upper_limit {0.001-100.0}]
   [-fwd_frame_size_iteration_mode {custom|random|step}]
   [-fwd_custom_burst_size_list {1-4294967295}]
   [-fwd_enable_jitter_measurement {true|false}]
   [-fwd_latency_type {fifo|lifo|lilo}]
   [-fwd_traffic_start_delay {0.005-3600}]
   [-fwd_rate_lower_limit {0.001-100.0}]
   [-fwd_learning_freq_mode {learn_every_frame_size|
        learn_every_iteration|learn_every_trial|learn_once}]
   [-fwd_ignore_min_max_limits {true|false}]
   [-fwd_random_min_frame_size {64-16383}]
   [-fwd_duration_mode {bursts|seconds}]
   [-fwd_num_of_trials {1-60}]
   [-fwd_burst_size_end {1-4294967295}]
   [-fwd_l2_learning_frame_rate {1-4294967295}]
   [-fwd_traffic_verification_freq_mode {verify_every_frame_size|
        verify_every_iteration|verify_every_trial}]
   [-fwd_display_load_unit {bits_per_second|frames_per_second|
        inter_burst_gap|kilobits_per_second|megabits_per_second|
        percent_line_rate}]
   [-fwd_burst_size_iteration_mode {custom|step}]
   [-fwd_l2_learning_repeat_count {1-100}]
   [-fwd_resolution {0.001-100.0}]
   [-fwd_duration_bursts {1-16777215}]
   [-fwd_verification_tx_frame_count {1-32767}]
   [-fwd_backoff {0.001-99.999}]
   [-fwd_duration_seconds {1-5184000}]
   [-fwd_burst_size_start {1-4294967295}]
   [-fwd_enable_traffic_verification {true|false}]
   [-fwd_frame_size_start {64-16383}]
   [-fwd_traffic_verification_tx_frame_rate {1-14880952}]
   [-fwd_frame_size_step {1-16383}]
   [-fwd_abort_on_traffic_fail {true|false}]
   [-fwd_ext_proccess_before_traffic {true|false}]
   [-fwd_external_cmd <string>]
   [-max_fwd_abort_on_traffic_fail {true|false}]
   [-max_fwd_ext_proccess_before_traffic {true|false}]
   [-max_fwd_external_cmd <string>]
   [-max_fwd_rate_step {0.001-100.0}]
   [-max_fwd_burst_size_step {1-4294967295}]
   [-max_fwd_frame_size_end {64-16383}]
   [-max_fwd_stagger_start_delay {0-65535}]
   [-max_fwd_l2_delay_before_learning {0-3600}]
   [-max_fwd_enable_learning {true|false}]
   [-max_fwd_custom_frame_size_list <NUMERIC>]
   [-max_fwd_random_max_frame_size {64-16383}]
   [-max_fwd_delay_after_transmission {1-3600}]
   [-max_fwd_frame_size_iteration_mode {custom|random|step}]
   [-max_fwd_custom_burst_size_list {1-4294967295}]
   [-max_fwd_enable_jitter_measurement {true|false}]
   [-max_fwd_latency_type {fifo|lifo|lilo}]
   [-max_fwd_traffic_start_delay {0.005-3600}]
   [-max_fwd_learning_freq_mode {learn_every_frame_size|
        learn_every_iteration|learn_every_trial|learn_once}]
   [-max_fwd_random_min_frame_size {64-16383}]
   [-max_fwd_duration_mode {bursts|seconds}]
   [-max_fwd_num_of_trials {1-60}]
   [-max_fwd_burst_size_end {1-4294967295}]
   [-max_fwd_burst_size_end {1-4294967295}]
   [-max_fwd_l2_learning_frame_rate {1-4294967295}]
   [-max_fwd_traffic_verification_freq_mode {verify_every_frame_size|
        verify_every_iteration|verify_every_trial}]
   [-max_fwd_display_load_unit {bits_per_second|frames_per_second
        |inter_burst_gap|kilobits_per_second|megabits_per_second|
        percent_line_rate}]
   [-max_fwd_burst_size_iteration_mode {custom|step}]
   [-max_fwd_l2_learning_repeat_count {1-100}]
   [-max_fwd_resolution {0.001-100.0}]
   [-max_fwd_duration_bursts {1-16777215}]
   [-max_fwd_verification_tx_frame_count {1-32767}]
   [-max_fwd_duration_seconds {1-5184000}]
   [-max_fwd_burst_size_start {1-4294967295}]
   [-max_fwd_enable_traffic_verification {true|false}]
   [-max_fwd_frame_size_start {64-16383}]
   [-max_fwd_traffic_verification_tx_frame_rate {1-14880952}]
   [-max_fwd_frame_size_step {1-16383}]
   [-max_fwd_load_step {0.001-100000000000.0}]
   [-max_fwd_custom_load_list {0.001-100000000000.0}]
   [-max_fwd_load_end <ANY>]
   [-max_fwd_load_type {custom|step}]
   [-max_fwd_load_units {bits_per_second|frames_per_second|
        inter_burst_gap|kilobits_per_second|megabits_per_second|
        percent_line_rate}]
   [-max_fwd_load_start <ANY>]

Arguments

-test

Specifies the test to be performed. This argument is Mandatory . Possible values are addr_caching_capacity, addr_learn_rate, forwarding_test, and max_forward_test.

-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 above mentioned test or tests

modify - Modifies the configuration for the created test,
         -handle is required

delete - Deletes the created test, -handle is required
-handle

Specifies the handle or handles list of rfc2889 configuration in the created test, for example:

rfc2889addrcachingcapacityconfig,
rfc2889forwardingconfig,
rfc2889addrlearningrateconfig,
rfc2889maxrorwardingrateconfig
-src_hdl

Defines the source port or host for streamblock creation

-dst_hdl

Defines the destination port or host for streamblock creation

-monitor_port

Defines the port that monitors traffic for all test/learning port pairs used in the test.

-traffic_pattern

Indicates the traffic pattern to be used for the test. Possible values are pair, mesh, and backbone. The patterns are described below:

pair - Traffic is transmitted between one or more port pairs.

mesh - Every port transmits traffic to every other port and
      receives traffic from all other ports simultaneously.

backbone - Traffic is transmitted in a partially meshed pattern,
       either unidirectional or bidirectional.
-enable_stream_only_gen

Disables or enables the stream only generation option when creating traffic. When it is set to 1, Spirent TestCenter will generate a separate stream for each flow instead of generating the same stream for all flows. Possible values are 0 and 1. The default is 1.

-endpoint_map

Specifies one of the following traffic mapping methods to be used within each host block. Possible values are one_to_one and one_to_many. The methods are described below:

one_to_one - Every endpoint within the source endpoint
    block transmits traffic to the corresponding destination
    endpoint within the destination endpoint block.

one_to_many - Every endpoint within the source endpoint
    block transmits traffic to every destination endpoint
    within the destination endpoint block.
-enable_bidirectional_traffic

Specifies to enable or disable the bidirectional traffic. Possible values are 0 (disables bidirectional traffic and enables unidirectional traffic) and 1 (enables bidirectional traffic). The default value is 1. This argument is not valid for -mode modify

-device_count

Defines the number of devices you can create on each port. The default value is 1. This argument is only valid when the -src_hdl and -dst_hdl is set to port handles.

-mac_addr

The starting MAC address to use when emulating devices. You can use this argument when the -src_hdl and -dst_hdl is set to port handles. The value should be in MAC address format.

-port_mac_step

Defines the step size to be used for incrementing MAC addresses across ports. You can use this argument when the -src_hdl and -dst_hdl is set to port handles.

-device_mac_step

Defines the step value to be used for incrementing MAC address across devices on one port. You can use this argument when the -src_hdl and -dst_hdl is set to port handles. The value should be in MAC address format.

-vlan

Specifies the VLAN ID for the first device. You can use this option when the -src_hdl and -dst_hdl is set to port handles.

-port_vlan_step

Defines the step value to be used for incrementing VLAN IDs across the ports. You can use this argument when the -src_hdl and -dst_hdl is set to port handles.

-device_vlan_step

Specifies the step value to be used for incrementing VLAN IDs across the devices on one port. You can use this argument when the -src_hdl and -dst_hdl is set to port handles.

-vlan_priority

Specifies the VLAN priority for created devices. Possible values range from 1 to 7. You can use this argument when the -src_hdl and -dst_hdl is set to port handles.

-learning_frame_size_end

Maximum frame size when using step mode for incrementing the frame size. This attribute is ignored if -learning_frame_size_iteration_mode is set to random or custom. The default value is 256.

-learning_display_traffic_group_load_unit

Display units for traffic group load in results. The possible values are bits_per_second, kilobits_per_second, megabits_per_second, or percent_line_rate. The default value is percent_line_rate.

-learning_aging_time

Aging timer value in the DUT/SUT. It removes MAC addresses from the cache when this timer expires. The default value is 15.

-learning_custom_frame_size_list

List of custom frame sizes to iterate. The default value is 0.

-learning_random_max_frame_size

When using random mode for setting frame sizes, the maximum frame size. This attribute is ignored if -learning_frame_size_iteration_mode is set to step or custom. The default value is 256.

-learning_delay_after_transmission

Delay after transmission in seconds.The default value is 15.

-learning_frame_size_iteration_mode

Mode for adjusting the frame size from iteration to iteration. The possible values are custom, random, or step. The default value is custom.

-learning_enable_jitter_measurement

Allows measuring minimum, maximum, and average jitter values. This is done by running the test in Jitter analyzer result view mode. The possible values are true or false. The default value is false.

-min_num_addrs

Minimum number of addresses to be sent to the DUT/SUT. The default value is 1.

-learning_latency_type

Latency type for different devices. The possible values are fifo, lifo, or lilo. The default value is lilo.

-learning_traffic_start_delay

When to begin the traffic start delay. The default value is 2.

-learning_random_min_frame_size

Minimum frame size for random mode. The default value is 128.

-enable_include_test_port_addr

Flag to allow user to choose the test port address in a maximum caching capacity calculation. The possible values are true or false. The default value is false.

-initial_num_addrs

Number of addresses to be sent to the DUT/SUT in the first iteration. The default value is 20480.

-learning_num_of_trials

Number of times the test repeats with its initial configuration. The default value is 1.

-learning_rate

Number of learning frames per second. The default value is 1000.

-learning_display_load_unit

Display units for load in results. The 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.

-learning_stagger_start_delay

Delay between starting successive ports, in milliseconds. The default value is 0.

-learning_resolution

Finest adjustment possible, in number of addresses, from iteration to iteration. The default value is 2.

-max_num_addrs

Maximum number of addresses to be sent to the DUT/SUT. The default value is 65536.

-caching_external_cmd

Command to run a user specified external process. The default value is “”

-caching_ext_proccess_before_traffic

Allows user to run an external process before generating and transmitting traffic. Possible Values:

Value      Description
true       Run an user specified external process
false      No external process is run

Default: false

-caching_abort_on_traffic_fail

Test behavior when traffic verification fails during RFC 2889 address caching capacity test. Possible Values:

Value      Description
true        Abort the test and set the sequencer status mode to FAIL if traffic verification is not successful
false       Do nothing. Test continues without interruption

Default: true

-learning_abort_on_traffic_fail

Test behavior when traffic verification fails during RFC 2889 address learning rate test. Possible Values:

Value      Description
true       Abort the test and set the sequencer status mode to FAIL
            if traffic verification is not successful
false      Do nothing. Test continues without interruption

Default: true

-learning_ext_proccess_before_traffic

Allows user to run an external process before generating and transmitting traffic during RFC 2889 address learning rate test. Possible Values:

Value      Description
true       Run a user specified external process
false      No external process is run

Default: false

-learning_external_cmd

Command to run a user specified external process during RFC 2889 address learning rate test. The default value is “”.

-learning_frame_size_start
Starting frame size when using Step mode for incrementing the frame size. This attribute is ignored if
-learning_frame_size_iteration_mode is set to random or custom.
The default value is 128.
-learning_frame_size_step

Step value for incrementing the frame size for step mode from -learning_frame_size_start to learning_frame_size_end. This attribute is ignored if -learning_frame_size_iteration_mode is set to random or custom. The default value is 128.

-caching_frame_size_end

Maximum frame size when using step mode for incrementing the frame size. This attribute is ignored if caching_frame_size_iteration_mode is set to random or custom. The default value is 256.

-caching_display_traffic_group_load_unit

Display units for traffic group load in results. The possible values are bits_per_second, kilobits_per_second, megabits_per_second, or percent_line_rate The default value is percent_line_rate.

-caching_aging_time

Aging timer value in the DUT/SUT. It removes MAC addresses from the cache when this timer expires. The default value is 15.

-caching_custom_frame_size_list

List of custom frame sizes to iterate. The default value is 0.

-caching_random_max_frame_size

When using random mode for setting frame sizes, the maximum frame size. This attribute is ignored if caching_frame_size_iteration_mode is set to step or custom. The default value is 256.

-caching_delay_after_transmission

Delay after transmission in seconds. The default value is 15

-caching_frame_size_iteration_mode

Mode for adjusting the frame size from iteration to iteration. The possible values are custom, random, and step. The default value is custom.

-caching_enable_jitter_measurement

Allow measuring minimum, maximum and average jitter values. This is done by running the test in Jitter analyzer result view mode. The possible values are true or false. The default value is false.

-caching_latency_type

Latency type for different devices. The possible values are fifo, lifo, or lilo. The default value is lilo.

-caching_traffic_start_delay

When to begin the traffic start delay. The default value is 2.

-caching_random_min_frame_size

Minimum frame size for random mode. The default value is 128.

-caching_display_load_unit

Display units for load in results. The possible values are bits_per_second, frames_per_second, inter_burst_gap, kilobits_per_second, megabits_per_second, or percent_line_rate. The default value is percent_line_rate.

-caching_stagger_start_delay

Delay between starting successive ports, in milliseconds. The default value is 0.

-caching_resolution

Finest adjustment possible, in number of addresses, from iteration to iteration. The default value is 2.

-caching_frame_size_start

Starting frame size when using step mode for incrementing the frame size. This attribute is ignored if -caching_frame_size_iteration_mode is set to random or custom. The default value is 128.

-caching_frame_size_step

Step value for incrementing the frame size for step mode from -caching_frame_size_start to -caching_frame_size_step. This attribute is ignored if -caching_frame_size_iteration_mode is set to random or custom. The default value is 128.

-caching_num_of_trials

Number of times the test repeats with its initial configuration. The default value is 1.

-initial_learning_rate

Learning rate (number of learning frames per second) at the start of the test. The default value is 1488.

-mac_addr_count

Number of MAC addresses to be sent from each transmitting test port. The default value is 1.

-max_learning_rate

Maximum permissible learning rate for the test. If this rate is reached, the test stops. The default value is 14880.

-min_learning_rate

Minimum permissible learning rate for the test. If this rate is reached, the test stops. The default value is 1488.

-fwd_rate_step

Percent by which Spirent TestCenter will increase the current transmission rate, as a percentage of the total wire rate. The transmission rate increases until the maximum rate is reached, even if there is frame loss. The default value is 10.

-fwd_burst_size_step

Step value for the burst size when starting from the initial burst size to the final burst size over different iterations.The default value is 1.

-fwd_frame_size_end

Maximum frame size when using step mode for incrementing the frame size. This attribute is ignored if -fwd_frame_size_iteration_mode is set to random or custom. The default value is 256.

-fwd_search_mode

Mode used to find the throughput rate. The possible values are binary, step, or combo.The default value is binary.

-fwd_stagger_start_delay

Delay between starting successive ports, in milliseconds. The default value is 0.

-fwd_l2_delay_before_learning

Time in seconds prior to the commencement of learning. The default value is 2

-fwd_rate_initial

Transmission rate for the first iteration of the test. This is a percentage of the full wire rate. The default value is 10.

-fwd_acceptable_frame_loss

Maximum frame loss you want Spirent TestCenter to allow before stopping the test. This value represents the aggregate loss from all flows averaged across each all ports in the test. The default value is 0.

-fwd_enable_learning

Whether to enable learning mode. The possible values are true or false. The default value is true.

-fwd_custom_frame_size_list

User-defined list of frame sizes. The default value is 0.

-fwd_random_max_frame_size

When using random mode for -fwd_frame_size_iteration_mode, the maximum frame size. This attribute is ignored if -fwd_frame_size_iteration_mode is set to step or custom. The default value is 256.

-fwd_delay_after_transmission

Delay after transmission in seconds. The default value is 15.

-fwd_rate_upper_limit

Maximum rate at which Spirent TestCenter will send traffic during the test, as a percentage of the total wire rate. The default value is 100.

-fwd_frame_size_iteration_mode

Mode for adjusting the frame size from iteration to iteration. The possible values are custom, random, or step. The default value is custom.

-fwd_custom_burst_size_list

User-defined list of burst sizes used when -fwd_burst_size_iteration_mode mode is set to custom. The default value is 0.

-fwd_enable_jitter_measurement

Allow measuring minimum, maximum, and average jitter values. This is done by running the test in Jitter analyzer result view mode. The possible values are true or false. The default value is false.

-fwd_latency_type

Latency type for different devices. The possible values are fifo, lifo, or lilo. The default value is lilo.

-fwd_traffic_start_delay

When to begin the traffic start delay. The default value is 2.

-fwd_rate_lower_limit

Lowest transmission rate at which the application will send traffic during any test iteration, as a percentage of the total wire rate. The default value is 1.

-fwd_learning_freq_mode

Learning frequency. The possible values are learn_every_frame_size, learn_every_iteration, learn_every_trial, or learn_once. The default value is learn_once.

-fwd_ignore_min_max_limits

Enable the application to automatically define a minimum rate /maximum rate range that successfully yields throughput. The possible values are true or false. The default value is false.

-fwd_random_min_frame_size

When using random mode for -fwd_frame_size_iteration_mode, the minimum frame size. This attribute is ignored if -fwd_frame_size_iteration_mode is set to step or custom. The default value is 128.

-fwd_duration_mode

Duration mode for each transmitted stream. Whether to measure test duration in seconds or number of frames. The possible values are bursts or seconds. The default value is seconds.

-fwd_num_of_trials

Number of times the test repeats with its initial configuration. The default value is 1.

-fwd_burst_size_end

Final burst size when the burst size mode is set to step. The default value is 1.

-fwd_l2_learning_frame_rate

Layer 2 learning rate in frames per second for the test. The default value is 1000.

-fwd_traffic_verification_freq_mode

Specifies when to perform traffic verification during the test. The possible values are verify_every_frame_size, verify_every_iteration, or verify_every_trial. The default value is verify_every_iteration.

-fwd_display_load_unit

Display units for load in results. The possible values are bits_per_second,frames_per_second, inter_burst_gap, kilobits_per_second, megabits_per_second, or percent_line_rate. The default value is percent_line_rate.

-fwd_burst_size_iteration_mode

Mode for adjusting the burst size over all iterations. The possible values are custom or step. The default value is step.

-fwd_l2_learning_repeat_count

One less than the number of frames to be sent per address being used for learning. The default value is 5

-fwd_resolution

Finest adjustment possible, in number of frames, for the duration of transmitted frames from iteration to iteration. The default value is 1.

-fwd_duration_bursts

Transmission length in number of frames. The default value is 1000.

-fwd_verification_tx_frame_count

Number of frames to use for traffic verification during RFC 2889 Forwarding test. The default value is 100.

-fwd_backoff

Percentage by which the transmission rate will be lowered if the test fails at the current rate. The default value is 50.

-fwd_duration_seconds

Transmission time in seconds. The default value is 30.

-fwd_abort_on_traffic_fail

Test behavior when traffic verification fails. Possible Values:

Value      Description
true       Abort the test and set the sequencer status mode to FAIL
        if traffic verification is not successful
false      Do nothing. Test continues without interruption

Default: true

-fwd_ext_proccess_before_traffic

Allows user to run an external process before generating and transmitting traffic. Possible Values:

Value      Description
true       Runs the user specified external process.
false      No external process is run.

Default: false

-fwd_external_cmd

Command to run a user specified external process. The default value is “” (empty string)

-fwd_burst_size_start

Initial burst size when burst size mode is set to step. The default value is 1.

-fwd_enable_traffic_verification

Boolean to control whether to add verification commands to the test sequence. The possible values are true or false. The default value is false.

-fwd_frame_size_start

Starting frame size when using step mode for incrementing the frame size. This attribute is ignored if -fwd_frame_size_iteration_mode is set to random or custom or imix.The default value is 128.

-fwd_traffic_verification_tx_frame_rate

Traffic rate in frames per second to use for traffic verification. The default value is 1000.

-fwd_frame_size_step

Step value for incrementing the frame size for step mode from -fwd_frame_size_start to -fwd_frame_size_end. This attribute is ignored if fwd_frame_size_iteration_mode is set to random or custom.The default value is 128.

-max_fwd_abort_on_traffic_fail

Test behavior when traffic verification fails during RFC 2889 Maximum Forwarding Test. Possible Values:

Value      Description
true       Abort the test and set the sequencer status mode to FAIL
        if traffic verification is not successful
false      Do nothing. Test continues without interruption

Default: true

-max_fwd_ext_proccess_before_traffic

Allows user to run an external process before generating and transmitting traffic during RFC 2889 Maximum Forwarding Test. Possible Values:

Value      Description
true       Run the user specified external process
false      No external process is run

Default: false

-max_fwd_external_cmd

Command to run the user specified process during RFC 2889 Maximum Forwarding Test. The default value is “”.

-max_fwd_rate_step

Percent by which Spirent TestCenter will increase the current transmission rate, as a percentage of the total wire rate. The transmission rate increases until the maximum rate is reached, even if there is frame loss.The default value is 10.

-max_fwd_burst_size_step

Step value for the burst size when going from the initial burst size to final burst size over different iterations. The default value is 1.

-max_fwd_frame_size_end

Maximum frame size when using step mode for incrementing the frame size. This attribute is ignored if -max_fwd_frame_size_iteration_mode is set to random or custom. The default value is 256.

-max_fwd_stagger_start_delay

Delay between starting successive ports, in milliseconds. The default value is 0.

-max_fwd_l2_delay_before_learning

Time in seconds prior to the commencement of learning. The default value is 2.

-max_fwd_enable_learning

Whether to enable learning mode. The values are true or false. The default value is true.

-max_fwd_custom_frame_size_list

User defined list of frame sizes. The default value is 0.

-max_fwd_random_max_frame_size

When using random mode for -max_fwd_frame_size_iteration_mode, the maximum frame size. This attribute is ignored if -max_fwd_frame_size_iteration_mode is set to step or custom. The default value is 256.

-max_fwd_delay_after_transmission

Delay after transmission in seconds. The default value is 15.

-max_fwd_frame_size_iteration_mode

Mode for adjusting the frame size from iteration to iteration. The possible values are custom random or step. The default value is custom.

-max_fwd_custom_burst_size_list

User-defined list of burst sizes used when -max_fwd_burst_size_iteration_modemode is set to custom. The default value is 0.

-max_fwd_enable_jitter_measurement

Allow measuring min, maximum and average jitter values. This is done by running the test in Jitter analyzer result view mode. The possible values are true or false. The default value is false.

-max_fwd_latency_type

Latency type for different devices. The possible values are fifo, lifo, or lilo. The default value is lilo.

-max_fwd_traffic_start_delay

When to begin the traffic start delay. The default value is 2.

-max_fwd_learning_freq_mode

Learning frequency. The possible values are learn_every_frame_size, learn_every_iteration, learn_every_trial, or learn_once. The default value is learn_once.

-max_fwd_random_min_frame_size

When using random mode for -max_fwd_frame_size_iteration_mode, the minimum frame size. This attribute is ignored if -max_fwd_frame_size_iteration_mode is set to step or custom. The default value is 128.

-max_fwd_duration_mode

Duration mode for each transmitted stream. Whether to measure test duration in seconds or number of frames. The possible values are bursts or seconds. The default value is seconds.

-max_fwd_num_of_trials

Number of times the test repeats with its initial configuration. The default value is 1.

-max_fwd_burst_size_end

Final burst size when the burst size mode is set to step. The default value is 1.

-max_fwd_l2_learning_frame_rate

Layer 2 learning rate in frames per second for the test. The default value is 1000.

-max_fwd_traffic_verification_freq_mode

Specifies when to perform traffic verification during the test. The possible values are verify_every_frame_size, verify_every_iteration, or verify_every_trial. The default value is verify_every_iteration.

-max_fwd_display_load_unit

Display units for load in results. The possible values are bits_per_second, frames_per_second, inter_burst_gap, kilobits_per_second, megabits_per_second, or percent_line_rate. The default value is percent_line_rate.

-max_fwd_burst_size_iteration_mode

Mode for adjusting the burst size over all iterations. The possible values are custom or step.The default value is step.

-max_fwd_l2_learning_repeat_count

One less than the number of frames to be sent per address being used for learning. The default value is 5.

-max_fwd_resolution

Finest adjustment possible, in number of frames, for the duration of transmitted frames from iteration to iteration. The default value is 1.

-max_fwd_duration_bursts

Transmission length in number of frames. The default value is 1000.

-max_fwd_verification_tx_frame_count

Number of frames to use for traffic verification during RFC 2889 Maximum Forwarding Test. The default value is 100.

-max_fwd_duration_seconds

Transmission time in seconds. The default value is 30.

-max_fwd_burst_size_start

Initial burst size when -max_fwd_burst_size_iteration_mode mode is set to step. The default value is 1.

-max_fwd_enable_traffic_verification

Boolean to control whether to add verification commands to the test sequence. The possible values are true or false. The default value is false.

-max_fwd_frame_size_start

Starting frame size when using step mode for incrementing the frame size. This attribute is ignored if -max_fwd_frame_size_iteration_mode is set to random, custom, or imix. The default value is 128.

-max_fwd_traffic_verification_tx_frame_rate

Traffic rate in frames per second to use for traffic verification. The default value is 1000.

-max_fwd_frame_size_step

Step value for incrementing the frame size for step mode from -max_fwd_frame_size_start to- max_fwd_frame_size_end. This attribute is ignored if -max_fwd_frame_size_iteration_mode is set to random or custom. The default value is 128.

-max_fwd_load_step

Step value for incrementing the load for step mode from -max_fwd_load_start to -max_fwd_load_end. This attribute is ignored if -max_fwd_load_type is set to random or custom. The default value is 10.

-max_fwd_custom_load_list

List of user defined load values. The default value is 0.

-max_fwd_load_end

When using step mode for load on the ports, the maximum load for each port. This attribute is ignored if -max_fwd_load_type is set to random or custom. The default value is 50.

-max_fwd_load_type

Mode for adjusting the load from iteration to iteration. The possible values are custom or step. The default value is step.

-max_fwd_load_units

Unit of measurement for the load parameter, applied to all ports and streams in the test. The possible values are bits_per_second, frames_per_second, inter_burst_gap, kilobits_per_second megabits_per_second, or percent_line_rate. The default value is percent_line_rate.

-max_fwd_load_start

When using step mode for load on the ports, the starting load for each port. This attribute is ignored if -max_fwd_load_type is set to random or custom. The default value is 10.

Return Values

The function returns a keyed list using the following keys (with corresponding data):

devices_handle      list of devices created or devices being used in the
                    test
stream_id           list of streamblocks created for the test
test_config         list of tests created
status              Success (1) or failure (0) of the operation
log                 An error message (if the operation failed)

Examples

To create an RFC 2889 test:

set rfc_config [::sth::test_rfc2889_config \
             -test addr_learn_rate addr_caching_capacity\
             -mode create \
             -src_hdl  $port1 \
             -dst_hdl  $port2 \
             -caching_custom_frame_size_list 64 128 \
             -learning_custom_frame_size_list 64 128 \
             -initial_num_addrs 1498 \
             -min_num_addrs 1498 \
             -max_num_addrs 1500 \
             -initial_learning_rate 1498 \
             -max_learning_rate 1500 \
             -min_learning_rate 1498 \
             -caching_aging_time 4 \
             -learning_aging_time 3 \
             -mac_addr  00:10:94:10:00:01\
             -port_mac_step 00:00:00:00:00:01 \
             -device_mac_step   00:00:00:00:00:01 \
             -vlan    100 \
             -port_vlan_step  0 \
             -device_vlan_step 0 \
             -vlan_priority  2 \
            ]

Sample Output:

{device_handles {emulateddevice1 emulateddevice2 emulateddevice3
emulateddevice4}} {stream_id {streamblock1 streamblock2 streamblock3
streamblock4}} {test_config {rfc2889addrlearningrateconfig2
rfc2889addrcachingcapacityconfig2}} {status 1}

To modify an RFC 2889 test_config:

set rfc_config [::sth::test_rfc2889_config \
             -handle rfc2889addrlearningrateconfig2\
             -mode modify \
             -learning_aging_time 10 \
             ]

Sample Output:

{status 1}

To delete an RFC 2889 test_config:

set rfc_config [::sth::test_rfc2889_config \
             -handle rfc2889addrcachingcapacityconfig2\
             -mode delete \
             ]

Sample Output:

{status 1}

End of Procedure Header

sth::test_rfc2889_control

Purpose

Controls the RFC 2889 tests.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc2889_control
     [-wait {0|1}]
     [-action {run | stop}  M]
     [-display_status {true|false}]
     [-display_status_interval <integer>]

Arguments

-action

Specifies the action to perform for the test. Possible values are run and stop. The modes are described below:

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

Determines whether this command will return 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.

-display_status

Determines whether to get the test status in the specified time interval (display_status_interval). When it is set to true the test status will be displayed in the specified time interval.

-display_status_interval

Specifies the time interval in seconds to get the test status. The default value is 30 seconds.

Return Values

The function returns a keyed list using the following keys (with corresponding data):

status $SUCCESS or $FAILURE log Error message if command returns {status 0}

Description

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

Examples

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

set rfc_control [sth::test_rfc2889_control -action run -wait 1]

Sample output for the example shown above:

{status 1}

The following example starts all current configured tests at the same time and display the test status every 60 seconds:

set rfc_control [sth::test_rfc2889_control \
                    -action run \
                    -wait 1 \
                    -display_status true \
                    -display_status_interval 60 ]

Sample output for the example shown above:

{status 1}

Sample displayed test status in the console log:

Sequencer Status: RUNNING ElapsedTime: 529063 Trial 1 of 1, Frame Size: 64, Learning Rate: 20 fps, Number of Addresses: 20.

End of Procedure Header

sth::test_rfc2889_info

Purpose

Retrieves statistics for the configured test.

Synopsis

Note

M indicates that the argument is Mandatory .

sth::test_rfc2889_info
    [-test_type <addr_caching_capacity |addr_learn_rate |forwarding_test |
         max_forward_test>  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 addr_caching_capacity, addr_learn_rate, forwarding_test, and max_forward_test.

-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

The function returns a keyed list using the following keys (with corresponding data):

status             SUCCESS or $FAILURE log Error message if command returns {status 0}

Address Caching Capacity and Address Learning Rate Results:

 passed
      Pass or fail

 caching_capacity_per_iteration
      Caching Capacity Per Iteration

 configured_frames_size
      User configured frame size to be transmitted

 frame_length_distribution
      Name of the iMIX distribution when frame size type is iMIX

 burst_size
      Configured burst size use for the test

 intended_load
      Number of frames per second that the application attempts to transmit
      to a DUT/SUT for forwarding to a specified output interface or interfaces

 intended_pct_load
      Intended load rate in percentage

 intended_fps_load
      Intended load in frames per second

 intended_ibg_load
      Intended load rate in inter burst gaps

 intended_bps_load
      Intended load rate in bits per second

 intended_kbps_load
      Intended load rate in kilobits per second

 intended_mbps_load
      Intended load rate in megabits per second

 offered_load
      Load (in percent or frames per second) offered by the DUT

 offered_pct_load
      Offered load rate in percentage

 offered_fps_load
      Offered load in frames per second

 offered_ibg_load
      Offered load in inter burst gaps

 offered_bps_load
      Offered load rate in bits per second

 offered_kbps_load
      Offered load rate in kilobit per second

 offered_mbps_load
      Offered load rate in megabits per second

 load_size_type
      Specifies how the traffic load was configured. Possible values are fixed or random

 tx_frame_count
      Total number of frames being transmitted

 tx_frame_rate
      Intended frame rate (ILoad) for the test

 expected_frame_count
      Number of frames expected to be transmitted

 rx_frame_count
      Number of frames received

 other_frame_count
      Total number of non-test traffic frames received during the test

 frame_loss
      Number of frames lost

 percent_loss
      Frame loss percentage

 flooded_frame_count
      Total number of test frames flooded to the incorrect egress port during the test

 duplicate_frame_count
      Minimum number of duplicate frames received during a test run

 pause_frame_count
      Total number of pause frames received by the test ports during the test

 pfc_frame_count
      Number of PFC frames received

 fcs_error_frame_count
      Total number of frame check sequence errors received during the test

 checksum_error_count
      Total number of IP/UDP/TCP checksum errors received during the test
      load_size Traffic load.

 learning_rate
      Number of learning frames per second. [only for addr_learn_rate test]

[Only for Forwarding and Max Forwarding]
 result
      Iteration result indicating if the traffic at the given rate satisfied the
      pass condition for throughput. [only for forwarding and max forwarding]

 min_latency
      Minimum measured latency value in the set of all measured latency
      values in microseconds.

 avg_latency
      Average latency value calculated from all measured latency values
      in microseconds.

 max_latency
      Maximum measured latency value in the set of all measured latency
      values in microseconds.

 min_jitter
      Minimum measured jitter value in the set of all measured jitter
      values in microseconds.

 avg_jitter
      Average jitter value calculated from all measured jitter values in
      microseconds.

 max_jitter
      Maximum measured jitter value in the set of all measured jitter values
      in microseconds.

 forwarding_rate
      Number of frames per second that a device can be observed to
      successfully transmit to the correct destination interface in response
      to a specified offered load.

 out_of_seqcount
      Total number of test frames received in an order different from the
      order in which they were transmitted.

 tx_mbps_load
      Intended load (ILoad) in megabits per second

 throughput
      Throughput measured in frames per second. [only for forwarding_test]