RoCEv2 Configuration Functions¶
sth::emulation_rocev2_port_config¶
Purpose¶
Creates and configures RoCEv2 ECN and CNP for the specified port.
RoCEv2 is an internet layer protocol which means that RoCEv2 packets can be routed. Although the RoCEv2 protocol benefits from the characteristics of a converged Ethernet network, the protocol can also be used on a traditional or non-converged Ethernet network.
Currently (Spirent TestCenter 5.41), RoCEv2 is supported only on 25gig or 100gig ports. In order to configure RoCEv2, the module profile must be activated to STC-RoCEv2-ECN in Spirent Testcenter GUI (Tools->Firmware management-> select Activate Test module profile-> STC-RoCEv2-ECN and click on Activate).
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_rocev2_port_config [-mode {create|modify|delete}] [-port_handle <port_handle | port_handle list> M] [-handle <rocev2 device | rocev2 device list>] [-profile_handle <profile handle>] [-enable_ecn_cnp {true | false}] [-cnp_priority_mode {pcp|dscp}] [-cnp_priority <0-63>] [-enable_auto_rate_adjust {true | false}] [-disable_port_traffic {true | false}] [-reset_rate_adjuston_gen_stop {true | false}]
Arguments¶
-
-mode
¶
Specifies the action to perform on the specified test port. Possible values are create, modify, delete or inactive. The modes are described below: :
- create
- Creates one or more emulated RoCEv2 ports. The -port_handle is a Mandatory argument.
- modify
- Changes the configuration for the emulated RoCEv2 port ECN and CNP Configuration identified by the -handle argument.
- delete
- Deletes all RoCEv2 ECN and CNP Configuration associated with the specified port.
-
-port_handle
¶
Specifies a list of ports on which the actions will be performed. You must specify either -handle or -port_handle, but not both.
-
-handle
¶
Specifies a list of RoCEv2 port handles on which to perform the action. You must specify either -handle or -port_handle, but not both.
-
-profile_handle
¶
Specifies the DCQCN profile handle to configure the RoCEv2 port.
-
-enable_ecn_cnp
¶
Specifies to enable or disable RoCEv2. The default value is false.
-
-cnp_priority_mode
¶
Specifies the RoCEv2 CNP priority mode. The possible values are pcp and dscp. The default value is pcp.
-
-cnp_priority
¶
Specifies the RoCEv2 CNP priority value. The default value is 0.
-
-enable_auto_rate_adjust
¶
Specifies to enable or disable the DCQCN based automatic rate adjustment. The default value is true.
-
-disable_port_traffic
¶
Specifies to disable or enable the traffic generation on the port. The default value is false.
-
-enable_auto_rate_adjust
¶
Specifies whether to reset the rate adjustment variables when the generator stops.. The default value is true.
Return Values¶
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::emulation_rocev2_port_config
function adds, modifies or
deletes an emulated RoCEv2 test port configuration. Use the -port_handle
argument to specify the port to be added.
Use the -mode argument to specify the action to perform. (See the -mode argument description for information about the actions.)
Examples¶
#### HLTAPI for Tcl ####
To create RoCEv2 port and configure ECN and CNP configuration:
sth::emulation_rocev2_port_config\
-mode create\
-port_handle port1 port2\
-enable_ecn_cnp true\
-cnp_priority 1]
Sample Output:
{handles {rocev2portconfig1 rocev2portconfig2}} {status 1}
To modify RoCEv2 profile and other configurations:
sth::emulation_rocev2_port_config\
-mode modify\
-handle rocev2portconfig1\
-enable_ecn_cnp true\
-cnp_priority 1\
-profile_handle [lindex [keylget rocev2_profile
rocev2_default_profile_handles] 0]\
]
Sample Output:
{status 1}
#### HLTAPI for Python ####
To create RoCEv2 port and configure ECN and CNP:
ctrl_ret1 = sth.emulation_rocev2_port_config (
port_handle = port1,
mode = 'create',
enable_ecn_cnp = 'true',
cnp_priority = '1');
Sample Output::
{handles: {'rocev2portconfig1', 'rocev2portconfig2'}} {'status': '1'}
#### HLTAPI for Perl ####
To create RoCEv2 port and configure ECN and CNP:
my %ctrl_ret1 = sth::emulation_rocev2_port_config (
port_handle => "port1",
mode => 'create',
enable_ecn_cnp => 'true',
cnp_priority => '1');
Sample Output:
$VAR1 = 'handles';
$VAR2 = ['rocev2portconfig1', 'rocev2portconfig2'];
$VAR3 = 'status';
$VAR4 = '1';
End of Procedure Header
sth::emulation_rocev2_profile_config¶
Purpose¶
Creates or configures a RoCEv2 DCQCN profile.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_rocev2_profile_config [-mode {create|modify|delete}] [-port_handle <port_handle | port_handle list> M] [-is_default_profile {true|false}] [-profile_name <existing | new profile name>] [-cnp_interval <double>] [-time_reset_in_ms <double>] [-byte_reset_in_mb <NUMERIC>] [-phase_threshold <NUMERIC>] [-min_rate_in_mbps <double>] [-min_alpha <double>] [-alpha_update_period_in_ms <double>] [-additive_incr_rate_in_mbps <double>] [-hyper_incr_rate_in_mbps <double>] [-enable_user_defined_alpha {true|false}]
Arguments¶
-
-mode
¶
Specifies the action to perform on the specified test port. Possible values are create, modify, delete or inactive. The modes are described below: :
- create
- Creates a RoCEv2 DCQCN profile. The -port_handle is a Mandatory argument.
- modify
- Changes the configuration for the RoCEv2 profile identified by the -handle argument.
- delete
- Deletes all RoCEv2 DCQCN profiles.
-
-port_handle
¶
Specifies a list of ports on which the actions will be performed. You must specify either -handle or -port_handle, but not both.
-
-is_default_profile
¶
Specifies whether this profile is the default profile. The default value is true. To create and configure a new DCQCN profile, set this value to false.
-
-profile_name
¶
Specifies the DCQCN profile name. The default value is Default.
-
-cnp_interval
¶
Specifies the CNP generation interval. The default value is 0.05.
-
-time_reset_in_ms
¶
Specifies the interval of time in milliseconds since the last rate reduction was initiated. When this timer expires, a new rate increase event is initiated. The default value is 0.055.
-
-byte_reset_in_mb
¶
Specifies the number of frame megabytes sent since the last rate reduction was initiated. When this threshold is met, a new rate increase event is initiated. The default value is 2.
-
-phase_threshold
¶
Specifies the stage threshold of rate increase events for moving to the next rate increase phase of recovery (Additive Increase or Hyper Increase). The default value is 5.
-
-min_rate_in_mbps
¶
Specifies the minimum Mbps rate limit for the queue pair. The default value is 2.0.
-
-min_alpha
¶
Specifies the minimum that the alpha value can be reduced to by the alpha update process. The default value is 0.001.
-
-alpha_update_period_in_ms
¶
Specifies the alpha timer update period in milliseconds for the DCQCN based automatic rate adjustment. Usually the alpha update period should be longer than the CNP generation interval. The default value is 1.55.
-
-additive_incr_rate_in_mbps
¶
Specifies the Mbps rate step increment for the target rate in each stage of the additive increase phase. The default value is 5.0.
-
-hyper_incr_rate_in_mbps
¶
Specifies the Mbps rate step increment for the target rate in each stage of the hyper increase phase. The default value is 40.0.
-
-enable_user_defined_alpha
¶
Specifies to enable or disable the user defined alpha update period. The default value is false.
Return Values¶
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::emulation_rocev2_profile_config
function adds, configures or
deletes a DCQCN RoCEv2 profile. Use the -port_handle
argument to specify the port on which the profile will be added
or configured.
Examples¶
#### HLTAPI for Tcl ####
To get the existing RoCEv2 DCQCN profile list:
sth::emulation_rocev2_profile_config\
-mode create\
-is_default_profile true]
Sample Output:
{rocev2_default_profile_handles {rocev2dcqcnprofile1 rocev2dcqcnprofile2
rocev2dcqcnprofile3 rocev2dcqcnprofile4}} {rocev2_default_profile_names
{Default DCQCN {Mellanox CX NIC} {Large QP Size}}} {status 1}
To create the new RoCEv2 DCQCN profile:
sth::emulation_rocev2_profile_config\
-mode create\
-is_default_profile false\
-profile_name new_profile\
-cnp_interval 1\
-time_reset_in_ms 1\
-byte_reset_in_mb 1\
-phase_threshold 3\
-min_rate_in_mbps 1\
-min_alpha 1\
-alpha_update_period_in_ms 1\
-additive_incr_rate_in_mbps 1\
-hyper_incr_rate_in_mbps 1\
-enable_user_defined_alpha true]
Sample Output:
{rocev2_new_profile_handles rocev2dcqcnprofile1} {status 1}
#### HLTAPI for Python ####
To create the new RoCEv2 DCQCN profile:
ctrl_ret1 = sth.emulation_rocev2_profile_config (
mode = 'create',
is_default_profile = 'false',
profile_name = 'new_profile',
cnp_interval = '1',
time_reset_in_ms = '1',
byte_reset_in_mb = '1');
Sample Output::
{rocev2_new_profile_handles: {'rocev2dcqcnprofile1'} {'status': '1'}
#### HLTAPI for Perl ####
To create RoCEv2 ports and configure ECN and CNP:
my %ctrl_ret1 = sth::emulation_rocev2_profile_config (
mode => 'create',
is_default_profile => 'false',
profile_name => 'new_profile',
cnp_interval => '1',
time_reset_in_ms => '1',
byte_reset_in_mb => '1');
Sample Output:
$VAR1 = 'rocev2_new_profile_handles';
$VAR2 = 'rocev2dcqcnprofile1';
$VAR3 = 'status';
$VAR4 = '1';
End of Procedure Header
sth::emulation_rocev2_server_config¶
Purpose¶
Creates, modifies, or deletes an RoCEv2 server on a Spirent HLTAPI chassis.
Synopsis¶
Note
- M indicates that the argument is Mandatory .
- S indicates the argument is for
scaling
scenarios.
sth::emulation_rocev2_server_config [-mode {create|modify|delete} M] [-port_handle <port_handle>] [-handle < device_handle>] [-block_mode {one_host_per_block|one_device_per_block| one_network_per_block| multiple_networks_per_block| multiple_device_per_block} S] [-expand {true|false} S] [-count <integer>] [-encapsulation {ethernet_ii|ethernet_ii_vlan|ethernet_ii_qinq|ethernet_ii_mvlan}] [-enable_ping_response {1|0}] [-enable_gw_learning {true|false}] [-gateway_mac <aa:bb:cc:dd:ee:ff>] [-resolve_gateway_mac {true|false}] [-ipv6_gateway_mac <aa:bb:cc:dd:ee:ff>] [-ipv6_resolve_gateway_mac {true|false}] [-ip_version {ipv4|ipv6|ipv46|none}] [-intf_ip_addr <a.b.c.d>] [-intf_ip_addr_step <a.b.c.d>] [-ip_stack_count <0-65535>] [-ip_step_per_port <a.b.c.d>] [-ip_step_per_vlan <a.b.c.d>] [-stack_ip_repeat <0-65535>] [-stack_ip_recycle_count <0-65535>] [-gateway_ip_addr <a.b.c.d>] [-gateway_ip_addr_step <a.b.c.d>] [-use_ip_addr_range_gateway {true|false}] [-stack_gateway_ip_repeat <0-65535>] [-stack_gateway_ip_recycle_count <0-65535>] [-use_ipv6_addr_range_gateway {true|false}] [-stack_gateway_ipv6_repeat <0-65535>] [-stack_gateway_ipv6_recycle_count <0-65535>] [-gateway_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-gateway_ipv6_addr_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh> ] [-intf_prefix_len <1-32>] [-intf_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh> ] [-intf_ipv6_addr_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-intf_ipv6_prefix_len <1-128>] [-ipv6_step_per_port <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-ipv6_step_per_vlan <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-link_local_ipv6_addr <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-link_local_ipv6_addr_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-link_local_ipv6_prefix_len <0-128>] [-link_local_ipv6_step_per_port <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-link_local_ipv6_step_per_vlan <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-ipv6_stack_count <0-65535>] [-stack_ipv6_repeat <0-65535>] [-stack_ipv6_recycle_count <0-65535>] [-mac_addr <aa:bb:cc:dd:ee:ff>] [-mac_addr_step <aa:bb:cc:dd:ee:ff>] [-mac_addr_step_per_port <aa:bb:cc:dd:ee:ff>] [-mac_addr_step_per_vlan <aa:bb:cc:dd:ee:ff>] [-qinq_incr_mode {inner|outer|both}] [-router_id <a.b.c.d>] [-router_id_ipv6 <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-router_id_step <a.b.c.d>] [-router_id_ipv6_step <aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh>] [-ipv6_router_id_src {manual|use_ipv6_global_addr|use_ipv6_ll_add}] [-tos <0-255>] [-tos_type {tos|diffserv}] [-traffic_class <0-255>] [-use_default_phy_mac {true|false}] [-vlan_id <0-4095>] [-vlan_id_count <1-4096>] [-vlan_id_step <0-4095>] [-vlan_id_repeat_count <0-4294967295>] [-vlan_id_stack_count <NUMERIC>] [-vlan_id_repeatmode <REPEAT_ACROSS_PORT | NO_REPEAT | REPEAT_ACROSS_LOWER_IF>] [-vlan_user_pri <0-7>] [-vlan_outer_id <0-4095>] [-vlan_outer_id_count <1-4096>] [-vlan_outer_id_step <0-4095>] [-vlan_outer_id_repeat_count <0-4294967295>] [-vlan_outer_id_repeatmode <REPEAT_ACROSS_PORT | NO_REPEAT | REPEAT_ACROSS_LOWER_IF>] [-vlan_outer_user_pri <0-7>] [-vlan_tpid <0-65535>] [-vlan_cfi <0-1>] [-vlan_outer_tpid <0-65535>] [-vlan_outer_cfi <0-1>] [-vlan_id_list <0-4095>] [-vlan_id_step_list <0-4095>] [-vlan_id_count_list <0-4095>] [-vlan_user_pri_list <0-7>] [-vlan_id_repeat_count_list <0-4294967295>] [-vlan_tpid_list <0-65535>] [-vlan_cfi_list <0-65535>] [-name <string>] [-block_name_index <0-4294967295>] [-count_per_block <integer>] [-count_block_per_port <integer>] [-enable_rfc4814_addresses {true|false}] [-random_seed_value <numeric>] [-qp_start_id <0-16777215>] [-qp_count <1-8192>] [-qp_step_per_server <0-16777215>] [-server_block_size <1-64>] [-server_block_size_step <0-64>]
Arguments¶
-
-port_handle
¶
Specifies the port on which to create the emulated RoCEv2 server. This handle is returned by the
sth::connect
function. It is Mandatory for -mode create.
-
-handle
¶
Specifies the RoCEv2 server handle. This argument is Mandatory for -mode modify and delete. For -mode delete, you can also specify the value all, to delete all devices.
Note
-handle all is only valid for -mode delete.
-
-mode
¶
Specifies the action to perform on the test port. This argument is mandatory. Possible values are:
create - Creates the RoCEv2 server on the specified port. You must specify -port_handle. modify - Modifies the configured device identified by -handle. delete - Deletes the emulated RoCEv2 server identified by -handle.
-
-block_mode
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the device block mode. Emulated device objects may be used to represent a single device or a block of many devices for higher scalability. Emulated device blocks are not supported by all protocols (for example, routing protocols) and have less granularity of control at the protocol level and in traffic configuration. Possible values are described below:
one_device_per_block One emulated device block is created for each device one_network_per_block One emulated device block is created for each network multiple_networks_per_block One emulated device block may represent multiple networks. Note that there are limitations to what can be represented as a single emulated device block using this mode. multiple_device_per_block Multiple devices per block
This argument is available for -mode create.
-
-expand
¶
Spirent Extension (for Spirent HLTAPI only).
Determines whether to expand the specified device parameters into emulated device objects during
Scaling
test scenarios. This argument is used inScaling
test scenarios, and available for -mode create, and working together with -block_mode. Possible values are true and false.If it is set to true, a list of emulated devices will be created and their handles returned.
If it is set to false, param_handle will be returned, which can be passed to protocol configuration APIs, for example:
-mode activate in sth::emulation_isis_config.
-
-count
¶
Specifies the number of emulated RoCEv2 server devices to be created. The default value is 1.
-
-router_id
¶
Specifies the router ID of the RoCEv2 server device. The value must be in IPv4 format.
-
-router_id_ipv6
¶
Specifies the IPv6 router ID of the RoCEv2 server device. The value must be in IPv6 format.
-
-enable_ping_response
¶
Enables or disables the emulated device to respond to ping. Possible values are 0 (disable) and 1 (enable). The default is 0.
-
-enable_gw_learning
¶
Spirent Extension (for Spirent HLTAPI only).
Enables or disables IPv6 learning for the gateway IP and MAC addresses. Possible values are true (enable) and false (disable). The default value is false.
-
-gateway_mac
¶
Specifies the IPv4 gateway’s MAC address for the emulated RoCEv2 server. The default value is 00:00:01:00:00:01.
-
-resolve_gateway_mac
¶
Determines whether to resolve the IPv4 gateway’s MAC address. Possible values are true and false. The default value is true.
-
-ipv6_gateway_mac
¶
Specifies the IPv6 gateway’s MAC address for the emulated RoCEv2 device. The default value is 00:00:01:00:00:01.
-
-ipv6_resolve_gateway_mac
¶
Determines whether to resolve the IPv6 gateway’s MAC address. Possible values are true and false. The default value is true.
-
-ip_version
¶
Defines the IP version of the emulated RoCEv2 server device. Possible values are ipv4, ipv6, ipv46, and none. The default value is ipv4.
-
-intf_ip_addr
¶
Specifies the IPv4 address of the emulated RoCEv2 device. The default value is 192.85.1.3.
-
-intf_ip_addr_step
¶
Specifies the difference between IPv4 interface addresses of consecutive devices when multiple emulated devices are created. The value must be in IPv4 format. The default is 0.0.0.1.
-
-ip_stack_count
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the number of IPv4 objects to be created. Possible values range from 0 to 65535. The default value is 1.
-
-ip_step_per_port
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment IPv4 addresses for the device block per port
Dependency: -block_mode or -expand
Values: IPv4
-
-ip_step_per_vlan
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment IPv4 addresses for the device block per VLAN
Dependency: -block_mode or -expand
Values: IPv4
-
-stack_ip_repeat
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to repeat the same IPv4 address before incrementing it. Possible values range from 0 to 65535. The default value is 0.
-
-stack_ip_recycle_count
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to increment the IPv4 address before returning to the starting value. Possible values range from 0 to 65535. The default value is 0.
-
-gateway_ip_addr
¶
Specifies the IPv4 gateway address for the emulated device.
-
-gateway_ip_addr_step
¶
Specifies the difference between IPv4 gateway addresses of consecutive devices when multiple emulated devices are created. The default value is 0.0.0.1.
-
-use_ip_addr_range_gateway
¶
Specifies the same settings for gateway as the IPv4 address range parameters Possible values are true and false. The default value is false.
-
-stack_gateway_ip_repeat
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to repeat the same IPv4 gateway address before incrementing it. Possible values range from 0 to 65535. The default value is 0.
-
-stack_gateway_ip_recycle_count
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to increment the IPv4 gateway address before returning to the starting value. Possible values range from 0 to 65535. The default value is 0.
-
-use_ipv6_addr_range_gateway
¶
Specifies whether to use IPv6 address range settings for the gateway. Possible values are true and false. The default value is false.
-
-stack_gateway_ipv6_repeat
¶
Specifies the IPv6 gateway repeat count for the emulated device. Possible values range from 0 to 65535. The default value is 0.
-
-stack_gateway_ipv6_recycle_count
¶
Specifies the IPv6 gateway recycle count for the emulated device. Possible values range from 0 to 65535. The default value is 0.
-
-intf_prefix_len
¶
Specifies the prefix length for the IPv4 address of the emulated device. Possible values range from 1 to 32. The default is 24.
-
-intf_ipv6_addr
¶
Specifies the IPv6 address of the emulated device.
-
-intf_ipv6_addr_step
¶
Specifies the difference between interface IPv6 addresses of consecutive devices when multiple emulated devices are created.
-
-intf_ipv6_prefix_len
¶
Specifies the prefix length for the IPv6 address of the emulated device. Possible values range from 0 to 128. The default is 64.
-
-ipv6_step_per_port
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment IPv6 addresses for the device block per port
Dependency: -block_mode or -expand
Values: IPv6
-
-ipv6_step_per_vlan
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment IPv6 addresses for the device block per VLAN
Dependency: -block_mode or -expand
Values: IPv6
-
-gateway_ipv6_addr
¶
Specifies the IPv6 gateway address for the emulated device.
-
-gateway_ipv6_addr_step
¶
Specifies the difference between IPv6 gateway addresses of consecutive devices when multiple emulated devices are created.
-
-link_local_ipv6_addr
¶
Specifies the starting link local IPv6 address for emulated devices. The value must be in IPv6 format. The default is FE80::0.
-
-link_local_ipv6_addr_step
¶
Specifies the difference between link local IPv6 addresses of consecutive devices when multiple emulated devices are created. The value must be in IPv6 format. The default is ::1.
-
-link_local_ipv6_prefix_len
¶
Specifies the prefix length for the link local IPv6 address of the emulated device. Possible values range from 0 to 128. The default is 64.
-
-link_local_ipv6_step_per_port
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment link local IPv6 addresses for the device block per port
Dependency: -block_mode or -expand
Values: IPv6
-
-link_local_ipv6_step_per_vlan
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment link local IPv6 addresses for the device block per VLAN
Dependency: -block_mode or -expand
Values: IPv6
-
-ipv6_stack_count
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the number of IPv6 objects to be created. Possible values range from 0 to 65535. The default value is 1.
-
-stack_ipv6_repeat
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to repeat the same IPv6 address before incrementing it. Possible values range from 0 to 65535. The default value is 0.
-
-stack_ipv6_recycle_count
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies how many times to increment the IPv6 address before returning to the starting value. Possible values range from 0 to 65535. The default value is 0.
-
-mac_addr
¶
Specifies the MAC address of the emulated device.
-
-mac_addr_step
¶
Specifies the difference between MAC addresses of consecutive devices when multiple emulated devices are created.
-
-mac_addr_step_per_port
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment source MAC addresses for the device block per port
Dependency: -block_mode or -expand
Values: MAC
-
-mac_addr_step_per_vlan
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the step value by which to increment source MAC addresses for the device block per VLAN
Dependency: -block_mode or -expand
Values: MAC
- Example::
- sth::emulation_rocev2_config
-mode create -block_mode ONE_NETWORK_PER_BLOCK -ip_version ipv4 -encapsulation ethernet_ii_vlan -port_handle $port1 $port2 -vlan_user_pri 7 -vlan_id 10 -vlan_id_count 2 -vlan_id_step 1 -vlan_id_repeatmode REPEAT_ACROSS_LOWER_IF -vlan_outer_id 20 -vlan_outer_id_step 2 -vlan_outer_id_count 2 -vlan_outer_id_repeatmode NO_REPEAT -count 1 -expand true -mac_addr 00:10:94:00:00:02 -mac_addr_step 00:00:00:00:00:01 -intf_ip_addr 192.85.1.4 -intf_prefix_len 24 -gateway_ip_addr 192.85.1.1 -gateway_ip_addr_step 0.0.0.0 -intf_ip_addr_step 0.0.0.1 -mac_addr_step_per_vlan {00:00:00:00:01:01 00:00:00:00:01:00} -mac_addr_step_per_port 00:00:00:01:00:00 -ip_step_per_port 0.1.0.0 -ip_step_per_vlan {0.0.1.1 0.0.1.0} -name rocev2_server -qp_start_id 100 -qp_count 2 -qp_step_per_server 2 -server_block_size 4 -server_block_size_step 1
In argument -mac_addr_step_per_vlan, the first MAC address 00:00:00:00:01:01 increments the outer VLAN and the second MAC address increments the inner VLAN. -mac_addr_step_per_vlan {00:00:00:00:01:01 00:00:00:00:01:00}Similarly, in -ip_step_per_vlan, the first IP address increments the outer VLAN IP and the second address increments inner VLAN IP.
-
-qinq_incr_mode
¶
Determines which VLAN ID to increment first. Possible values are:
inner - Increments the inner VLAN ID before the outer VLAN ID outer - Increments the outer VLAN ID before the inner VLAN ID both - Increment both the inner and outer VLAN ID at the same time
The default value is inner.
-
-encapsulation
¶
Specifies the type of Layer 2 encapsulation for the emulated RoCEv2 device. Possible values are:
ethernet_ii - Ethernet II ethernet_ii_vlan - Ethernet II with a single VLAN tag ethernet_ii_qinq - Ethernet II with two VLAN tags ethernet_ii_mvlan - Ethernet II with more than two VLAN tags (Specifies VLAN from the 3rd tag on. The first two tags are specified with vlan_id, vlan_outer_id, and their related arguments.)
The default value is ethernet_ii.
-
-router_id_step
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the difference between consecutive router IDs when multiple routers are created. The value must be in IPv4 format. The default value is 0.0.0.1.
-
-router_id_ipv6_step
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the difference between consecutive IPv6 router IDs when multiple routers are created. The value must be in IPv6 format. The default value is 0000::1.
-
-ipv6_router_id_src
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the IPv6 router ID source.
Dependency: -block_mode or -expand
Possible values are:
manual - Set source manually use_ipv6_global_addr - Use IPv6 global address as source use_ipv6_ll_add - Use IPv6 link local address as source
The default value is manual.
-
-tos
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the ToS value of the IPv4 header. Possible values range from 0 to 255. The default value is 192.
-
-tos_type
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the ToS type of the IPv4 header. Possible values are tos and diffserv. The default value is tos.
-
-traffic_class
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the traffic class of the IPv6 header. Possible values range from 0 to 255. The default value is 0.
-
-use_default_phy_mac
¶
Spirent Extension (for Spirent HLTAPI only).
Determines whether to use the source MAC address from the physical interface. Possible values are true and false. The default value is false.
-
-vlan_id
¶
Specifies the starting VLAN ID for the ethernet_ii_vlan encapsulation or the ethernet_ii_qinq encapsulation. Possible values range from 0 to 4095. The default value is 100. This argument is available when -encapsulation is set to ethernet_ii_qinq or ethernet_ii_vlan.
-
-vlan_id_count
¶
Specifies the number of VLAN IDs to create. Possible values range from 1 to 4096. The default value is 1.
-
-vlan_id_step
¶
Specifies the step size by which the VLAN ID is incremented. Possible values range from 0 to 4095. The default value is 1.
-
-vlan_id_repeat_count
¶
Spirent Extension (for Spirent HLTAPI only).
Number of times to repeat the same VLAN ID before incrementing it for the inner VLAN. The value must be an integer. The default value is 0.
-
-vlan_id_stack_count
¶
Number of interfaces in this interface object. The value must be an integer. The default value is 1.
-
-vlan_id_repeatmode
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the repeat mode for the inner VLAN. The default value is REPEAT_ACROSS_PORT.
NO_REPEAT VLAN IDs are not repeated. REPEAT_ACROSS_PORT VLAN IDs are repeated from the starting VLAN ID on all ports. REPEAT_ACROSS_LOWER_IF VLAN IDs are repeated from the starting VLAN ID
when the next lower-level interface (or port) changes.
-
-vlan_user_pri
¶
Specifies the VLAN user priority assigned to the emulated RoCEv2 device. Possible values range from 0 to 7. The default value is 0.
-
-vlan_outer_id
¶
Specifies the starting outer VLAN ID for the QinQ encapsulation. Possible values range from 0 to 4095. The default value is 100. This argument is available when -encapsulation is set to ethernet_ii_qinq.
-
-vlan_outer_id_count
¶
Specifies the number of outer VLAN IDs assigned to the emulated RoCEv2 device. Possible values range from 1 to 4096. The default is 1.
-
-vlan_outer_id_step
¶
Specifies the step size by which the outer VLAN ID is incremented. Possible values range from 0 to 4095. The default value is 1.
-
-vlan_outer_id_repeat_count
¶
Spirent Extension (for Spirent HLTAPI only).
Number of times to repeat the same VLAN ID before incrementing it for the outer VLAN. The value must be an integer. The default value is 0.
-
-vlan_outer_id_repeatmode
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the repeat mode for the outer VLAN. The default value is REPEAT_ACROSS_PORT.
NO_REPEAT VLAN IDs are not repeated. REPEAT_ACROSS_PORT VLAN IDs are repeated from the starting VLAN ID on all ports. REPEAT_ACROSS_LOWER_IF VLAN IDs are repeated from the starting VLAN ID
when the next lower-level interface (or port) changes.
-
-vlan_outer_user_pri
¶
Specifies the VLAN priority to assign to the outer VLAN header. Possible values range from 0 to 7. The default value is 0.
-
-vlan_tpid
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the Ethernet type of VLAN for the device interface. Possible values range from 0 to 65535. The default value is 33024.
-
-vlan_outer_tpid
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies the Ethernet type of outer VLAN for the device interface. Possible values range from 0 to 65535. The default value is 33024.
-
-vlan_cfi
¶
Specifies the canonical format indicator (CFI) field in VLAN for the emulated device. Possible values are 0 (Ethernet) and 1 (Token Ring). The default is 1.
-
-vlan_outer_cfi
¶
Specifies the CFI field in the outer VLAN for the emulated device. Possible values are 0 (Ethernet) and 1 (Token Ring). The default is 1.
-
-vlan_id_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of VLAN IDs for the ethernet_ii_mvlan encapsulation. Possible values range from 0 to 4095. The default value is 100.
-
-vlan_id_step_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of VLAN step values for the ethernet_ii_mvlan encapsulation. Possible values range from 0 to 4095. The default value is 1.
-
-vlan_id_count_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of numbers of VLAN IDs for the ethernet_ii_mvlan encapsulation. Possible values range from 0 to 4095. The default value is 100.
-
-vlan_tpid_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of VLAN TPIDs for ethernet_ii_mvlan encapsulation. Possible values range from 0 to 65535. The default value is 33024.
-
-vlan_user_pri_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of VLAN priorities for the ethernet_ii_mvlan encapsulation. Possible values range from 0 to 7. The default value is 0.
-
-vlan_id_repeat_count_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of numbers of times to repeat the corresponding VLAN IDs before incrementing them. The value must be an integer. The default value is 0. This argument is available when -encapsulation is set to ethernet_ii_mvlan.
-
-vlan_cfi_list
¶
Spirent Extension (for Spirent HLTAPI only).
Specifies a list of CFI values for ethernet_ii_mvlan encapsulation. Possible values are 0 (Ethernet) and 1 (Token Ring). The default value is 1.
-
-name
¶
A text name for the emulated RoCEv2 device. If -block_mode is specified, -block_name_index will be appended to the name of emulated RoCEv2 device.
-
-block_name_index
¶
Specifies start value of index for the RoCEv2 device name.
Dependency: -block_mode
-
-count_block_per_port
¶
Specifies the block count per port.
Dependency: -expand and -block_mode
-
-count_per_block
¶
Specifies the RoCEv2 device count per block.
Dependency: -expand and -block_mode
-
-enable_rfc4814_addresses
¶
Specifies to enable or disable the generation of MAC addresses according to RFC 4814. Possible values are true and false. The default value is false.
Dependency: -expand and -block_mode
-
-random_seed_value
¶
Specifies the seed value for the random number generator used in generating RFC 4814 MAC addresses. The default value is true.
Dependency: -expand, -block_mode and -enable_rfc4814_addresses
-
-qp_start_id
¶
Specifies the start queue pair of the RoCEv2 server. The default value is 0.
-
-qp_count
¶
Specifies the queue pair count of the RoCEv2 server. The default value is 1.
-
-qp_step_per_server
¶
Specifies the queue pair step per RoCEv2 server. The default value is 0.
-
-server_block_size
¶
Specifies the hard disk block size in kilobits of the RoCEv2 server. The default value is 1.
-
-server_block_size
¶
Specifies the hard disk block size step in kilobits of the RoCEv2 server. The default value 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 (1) or $FAILURE (0)
log Error message if command returns {status 0}
handle The host handle
handle_list The host handle or
the emulated device handles list when expand is set true.
Description¶
The sth::emulation_rocev2_server_config
function creates, modifies and deletes one or
more emulated RoCEv2 server hosts on the specified port. Use the -mode argument to
specify the action to perform. (See the -mode argument description for
information about the actions.)
When you create an emulated RoCEv2 server, use the -port_handle argument to specify the Spirent HLTAPI port that the emulated RoCEv2 server will use. (The port handle value is contained in the keyed list returned by the connect function.) The create mode returns the handle of the host.
Use this function when you want to create a device without configuring a protocol. You can enable a protocol on the created device if you need it later. You can also use the created device as the source or destination handle when you create a bound stream.
Examples¶
The following example creates an emulated RoCEv2 server device:
set devcie_ret1 [::sth::emulation_rocev2_server_config\
-mode create\
-ip_version ipv4\
-encapsulation ethernet_ii\
-port_handle port1\
-count 1 \
-enable_ping_response 0 \
-router_id 192.0.0.1 \
-mac_addr 00:10:94:00:00:01 \
-mac_addr_step 00:00:00:00:00:01 \
-resolve_gateway_mac true \
-gateway_ip_addr_step 0.0.0.0 \
-intf_ip_addr 1.1.1.2 \
-intf_prefix_len 24 \
-gateway_ip_addr 1.1.1.1 \
-intf_ip_addr_step 0.0.0.1 \
-name rocev2_server\
-qp_start_id 100\
-qp_count 2\
-qp_step_per_server 2\
-server_block_size 4\
-server_block_size_step 1\
]
Sample Output:
{handle host1} {handle_list host1} {rocev2_server_handle rocev2serverconfig1}
{rocev2_server_handle_list rocev2serverconfig1} {status 1}
The following example deletes all RoCEv2 devices:
set returnedString [sth::emulation_rocev2_server_config \
-mode delete \
-handle all]
End of Procedure Header
sth::emulation_rocev2_wizard_config¶
Purpose¶
Creates and configures RoCEv2 wizard port and server options.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_rocev2_wizard_config [-mode <create|delete>] [-port_handle <port_handle> M] [-handle <rocev2 object handles> M] [-override_existing_config {true|false}] RoCEv2 Port parameters [-enable_pfc {true|false}] [-enable_ecn_cnp {true|false}] [-priority_queue {0|1|2|3|4|5|6|7}] [-cnp_priority_mode {l2_pcp|l3_dscp}] [-ip_ecn_value {ect_1|ect_0|ecn_ce}] [-l2_pcp_priority_value <0-7>] [-l3_dscp_priority_value <0-63>] [-enable_auto_rate_adjust {true|false}] [-dcqcn_profile_name <profile name>] RoCEv2 Server parameters [-server_device_count <1-8>] [-mac_addr <aa:bb:cc:dd:ee:ff>] [-mac_addr_step <aa:bb:cc:dd:ee:ff>] [-enable_vlan {true|false}] [-start_vlan_id <0-4095>] [-vlan_id_step <0-4095>] [-vlan_priority <0-7>] [-ip_dscp_value <0-63>] [-ipv4_addr <a.b.c.d>] [-ipv4_addr_step <a.b.c.d>] [-gateway_ipv4_addr <a.b.c.d>] [-gateway_ipv4_addr_step <a.b.c.d>] [-start_udp_src_port <integer>] [-udp_src_port_step <integer>] [-qp_block_count <1-65535>] [-qp_per_block_count <1-65535>] [-start_qp <0-16777215>] [-qp_step_per_server <0-16777215>] [-frame_size <90-16383>] [-server_block_size <1-64>] [-server_block_size_step <0-64>]
Arguments¶
-
-port_handle
¶
Specifies the port on which RoCEv2 emulated port and servers will be created. This argument is Mandatory .
-
-mode
¶
Specifies the action to perform.
Values:
create Creates and configures RoCEv2 servers on the port specified by -port_handle delete Deletes the RoCEv2 wizard handles on the port specified by -handle.
Default: create
-
-handle
¶
Specifies a list of RoCEv2 wizard return handles.
-
-override_existing_config
¶
Specifies whether to override the existing RoCEv2 configuration. Possible values are true or false.
-
-enable_pfc
¶
Specifies to enable/disable PFC on RoCEv2 server. Possible values are true or false. The default value is false.
-
-enable_ecn_cnp
¶
Specifies to enable or disable the RoCEv2 protocol. Possible values are true or false. The default value is true.
-
-cnp_priority_mode
¶
Specifies the RoCEv2 CNP priority mode. Possible values are l2_pcp and l3_dscp. The default value is l2_pcp.
-
-priority_queue
¶
Specifies the priority queues for PFC. Possible values are 0, 1, 2, 3, 4, 5, 6 or 7. The default value is 0.
-
-ip_ecn_value
¶
Specifies the early Congestion Notification value in the IP Header. Possible values are ect_1, ect_0 or ecn_ce. The default value is ect_1.
-
-l2_pcp_priority_value
¶
Specifies the L2 PCP Priority value for CNP. Possible values are 0-7. The default value is 0.
-
-l3_dscp_priority_value
¶
Specifies the L3 DSCP Priority value for CNP. Possible values are 0-63. The default value is 0.
-
-enable_auto_rate_adjust
¶
Specifies to enable or disable the DCQCN based automatic rate adjustment. Possible values are true or false. The default value is true.
-
-dcqcn_profile_name
¶
Specifies the DCQCN profile name. The default value is Default.
-
-server_device_count
¶
Specifies the number of servers required per port. Possible values are 1-8. The default value is 1.
-
-mac_addr
¶
Specifies the source MAC address of the RoCEv2 server. The default value is 00:10:94:00:00:01.
-
-mac_addr_step
¶
Specifies the source MAC address step of the RoCEv2 server. The default value is 00:00:00:00:00:01.
-
-enable_vlan
¶
Specifies to enable VLAN on the RoCEv2 server. Possible values are true or false. The default value is true.
-
-start_vlan_id
¶
Specifies the start VLAN ID for the RoCEv2 packets. Possible values are 0-4095. The default value is 1.
-
-valn_id_step
¶
Specifies the VLAN ID step for the RoCEv2 packets. Possible values are 0-4095. The default value is 0.
-
-vlan_priority
¶
Specifies the VLAN Priority to be set in the Ethernet header. Possible values are 0-7. The default value is 0.
-
-ip_dscp_value
¶
Specifies the DSCP value in the IP header. Possible values are 0-63. The default value is 0.
-
-ipv4_addr
¶
Specifies the IPv4 address of the RoCEv2 server. The default value is 192.168.100.2.
-
-ipv4_addr_step
¶
Specifies the IPv4 address step of the RoCEv2 server. The default value is 0.0.0.1.
-
-gateway_ipv4_addr
¶
Specifies the gateway IPv4 address of the RoCEv2 server. The default value is 192.168.100.1.
-
-gateway_ipv4_addr_step
¶
Specifies the gateway IPv4 address step of RoCEv2 server. The default value is 0.0.0.1.
-
-start_udp_src_port
¶
Specifies the start UDP source port number for the RoCEv2 packets. The default value is 1024.
-
-udp_src_port_step
¶
Specifies the UDP Source Port step across Queue Pairs. Possible values are 0-32767. The default value is 0.
-
-qp_block_count
¶
Specifies the number of queue pair blocks to be configured. Possible values are 1-65535. The default value is 1.
-
-qp_per_block_count
¶
Specifies the number of queue pairs per block to be configured. Possible values are 1-65535. The default value is 1.
-
-start_qp
¶
Specifies the start queue pair identifier. Possible values are 0-16777215. The default value is 100.
-
-qp_step_per_server
¶
Specifies the queue pair identifier step per server. Possible values are 1-65535. The default value is 1.
-
-frame_size
¶
Specifies the size of the frame. Possible values are 90-16383. The default value is 94.
-
-server_block_size
¶
Specifies the hard disk block size in kilobits of the RoCEv2 server. Possible values are 1-64. The default value is 4.
-
-server_block_size_step
¶
Specifies the hard disk block size step in kilobits of the RoCEv2 server. Possible values are 0-64. The default value is 2.
Return Values¶
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::emulation_rocev2_wizard_config
function adds or
deletes the RoCEv2 wizard port, DCQCN profile and server configuration.
Use the -port_handle argument to specify the port to be added.
For a complete RoCEv2 wizard configuration users must configure both sth::emulation_rocev2_wizard_config and sth::emulation_rocev2_wizard_traffic_config
Examples¶
#### HLTAPI for Tcl ####
To create an RoCEv2 wizard port, profile and server configuration:
sth::emulation_rocev2_wizard_config \
-mode create\
-port_handle port2\
-enable_pfc false\
-enable_ecn_cnp true\
-priority_queue 0\
-cnp_priority_mode "l2_pcp"\
-ip_ecn_value "ect_1"\
-l2_pcp_priority_value 0\
-l2_dscp_priority_value 0\
-enable_auto_rate_adjust true\
-dcqcn_profile_name Default\
-server_device_count 4\
-mac_addr 00:10:94:00:00:02\
-mac_addr_step 00:00:00:00:00:01\
-enable_vlan false\
-start_vlan_id 100\
-vlan_id_step 1\
-vlan_priority 1\
-ip_dscp_value 1\
-ipv4_addr 10.1.1.3\
-ipv4_addr_step 0.0.0.1\
-gateway_ipv4_addr 10.1.1.2\
-gateway_ipv4_addr_step 0.0.0.1\
-start_udp_src_port 1024\
-udp_src_port_step 1\
-qp_block_count 1\
-qp_per_block_count 1\
-start_qp 300\
-qp_step_per_server 1\
-frame_size 94\
-server_block_size 1\
-server_block_size_step 1\
-qp_udp_src_port 1024]
Sample Output:
{handle rocev2configgenparams1} {rocev2_port_handle rocev2genportparams1}
{status 1}
End of Procedure Header
sth::emulation_rocev2_wizard_traffic_config¶
Purpose¶
Creates and configures RoCEv2 wizard queue pair blocks and adds the traffic.
Synopsis¶
Note
M indicates that the argument is Mandatory .
sth::emulation_rocev2_wizard_traffic_config [-src_port_handle <source qp port handle> M] [-dst_port_handle <destination qp port handles> M]
Arguments¶
-
-src_port_handle
¶
Specifies the source RoCEv2 generated port on which the queue pair blocks will be created and adds them to the traffic. This argument is Mandatory .
-
-src_port_handle
¶
Specifies the destination RoCEv2 generated port on which the queue pair blocks will be created and adds them to the traffic. This argument is Mandatory .
Return Values¶
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation.
log An error message (if the operation failed).
Description¶
The sth::emulation_rocev2_wizard_traffic_config
function adds the
source and destination queue pair blocks to the traffic and
creates streamblocks.
Examples¶
#### HLTAPI for Tcl ####
To create RoCEv2 wizard traffic configuration:
- set device_ret0 [sth::emulation_rocev2_wizard_config
-mode create -port_handle port1 -enable_pfc false -enable_ecn_cnp true -priority_queue 0 -cnp_priority_mode “l2_pcp” -ip_ecn_value “ect_1” -l2_pcp_priority_value “0”-l2_dscp_priority_value 0-enable_auto_rate_adjust true-dcqcn_profile_name profile_5-server_device_count 4-mac_addr 00:10:94:00:00:01-mac_addr_step 00:00:00:00:00:01-enable_vlan false-start_vlan_id 100-vlan_id_step 1-vlan_priority 1-ip_dscp_value 1-ipv4_addr 10.1.1.2-ipv4_addr_step 0.0.0.1-gateway_ipv4_addr 10.1.1.3-gateway_ipv4_addr_step 0.0.0.1-start_udp_src_port 1024-udp_src_port_step 1-qp_block_count 1-qp_per_block_count 1-start_qp 100-qp_step_per_server 1-frame_size 94-server_block_size 1-server_block_size_step 1-qp_udp_src_port 1024
]
- set device_ret1 [sth::emulation_rocev2_wizard_config
-mode create -port_handle port2 -enable_pfc false -enable_ecn_cnp true -priority_queue 0 -cnp_priority_mode “l2_pcp” -ip_ecn_value “ect_1” -l2_pcp_priority_value 0-l2_dscp_priority_value 0-enable_auto_rate_adjust true-dcqcn_profile_name profile_5-server_device_count 4-mac_addr 00:10:94:00:00:02-mac_addr_step 00:00:00:00:00:01-enable_vlan false-start_vlan_id 100-vlan_id_step 1-vlan_priority 1-ip_dscp_value 1-ipv4_addr 10.1.1.3-ipv4_addr_step 0.0.0.1-gateway_ipv4_addr 10.1.1.2-gateway_ipv4_addr_step 0.0.0.1-start_udp_src_port 1024-udp_src_port_step 1-qp_block_count 1-qp_per_block_count 1-start_qp 300-qp_step_per_server 1-frame_size 94-server_block_size 1-server_block_size_step 1-qp_udp_src_port 1024
]
- sth::emulation_rocev2_wizard_traffic_config
-src_port_handle [keylget device_ret0 rocev2_port_handle] -dst_port_handle [keylget device_ret1 rocev2_port_handle]
]
Sample Output:
{port1 {{streamblock_handles {streamblock1 streamblock2 streamblock3 streamblock4}}
{rocev2_server_handles {rocev2serverconfig1 rocev2serverconfig2 rocev2serverconfig3
rocev2serverconfig4}}}} {port2 {{streamblock_handles {streamblock5 streamblock6
streamblock7 streamblock8}} {rocev2_server_handles {rocev2serverconfig5
rocev2serverconfig6 rocev2serverconfig7 rocev2serverconfig8}}}} {status 1}
The following example creates a Many-To-One configuration.
- set device_ret0 [sth::emulation_rocev2_wizard_config
-mode create -port_handle $port1 -enable_pfc false -enable_ecn_cnp true -priority_queue 0 -cnp_priority_mode “l2_pcp” -ip_ecn_value “ect_1” -l2_pcp_priority_value “0”-enable_auto_rate_adjust true-dcqcn_profile_name Default-server_device_count 4-mac_addr 00:10:94:00:00:01-mac_addr_step 00:00:00:00:00:01-enable_vlan false-start_vlan_id 100-vlan_id_step 1-vlan_priority 1-ip_dscp_value 1-ipv4_addr 10.1.1.2-ipv4_addr_step 0.0.0.1-gateway_ipv4_addr 10.1.1.3-gateway_ipv4_addr_step 0.0.0.1-start_udp_src_port 1024-udp_src_port_step 1-qp_block_count 1-qp_per_block_count 1-start_qp 100-qp_step_per_server 1-frame_size 94-server_block_size 1-server_block_size_step 1
]
- set device_ret1 [sth::emulation_rocev2_wizard_config
-mode create -port_handle $port2 -enable_pfc false -enable_ecn_cnp true -priority_queue 0 -cnp_priority_mode “l2_pcp” -ip_ecn_value “ect_1” -l2_pcp_priority_value 0-enable_auto_rate_adjust true-dcqcn_profile_name Default-server_device_count 4-mac_addr 00:10:94:00:00:02-mac_addr_step 00:00:00:00:00:01-enable_vlan false-start_vlan_id 100-vlan_id_step 1-vlan_priority 1-ip_dscp_value 1-ipv4_addr 10.1.1.3-ipv4_addr_step 0.0.0.1-gateway_ipv4_addr 10.1.1.2-gateway_ipv4_addr_step 0.0.0.1-start_udp_src_port 1024-udp_src_port_step 1-qp_block_count 2-qp_per_block_count 1-start_qp 300-qp_step_per_server 1-frame_size 94-server_block_size 1-server_block_size_step 1
]
- sth::emulation_rocev2_wizard_traffic_config
-src_port_handle [keylget device_ret0 rocev2_port_handle] -dst_port_handle [keylget device_ret1 rocev2_port_handle] ]
Sample Output:
{port1 {{streamblock_handles {streamblock1 streamblock2 streamblock3 streamblock4 streamblock5 streamblock6 streamblock7 streamblock8}} {rocev2_server_handles {rocev2serverconfig1 rocev2serverconfig2 rocev2serverconfig3 rocev2serverconfig4}}}} {port2 {{streamblock_handles {streamblock9 streamblock10 streamblock11 streamblock12 streamblock13 streamblock14 streamblock15 streamblock16}} {rocev2_server_handles {rocev2serverconfig5 rocev2serverconfig6 rocev2serverconfig7 rocev2serverconfig8}}}} {status 1}
End of Procedure Header