FC Functions¶
fc config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Configures Fibre Channel (FC) nodes for the specified Spirent HLTAPI port. FC is a gigabitspeed network technology primarily used for storage networking.
Synopsis:
Note: M indicates the argument is `Mandatory`.
fc config
mode= {create|modify|reset} M
port_handle= <port_handle>
handle= <FC device handle>
host_type= {initiator | target | both}
login_delay= <1-1000>
logout_delay= <1-1000>
nport_count= <1-2000>
wwnn= <aa:bb:cc:dd:ee:ff:gg:hh>
wwpn= <aa:bb:cc:dd:ee:ff:gg:hh>
wwpn_step= <aa:bb:cc:dd:ee:ff:gg:hh>
use_interface= {true|false}
wwnn_step <64bit= hexadecimal>
wwnn_port <64bit= hexadecimal>
wwnn_port_step <64bit= hexadecimal>
retry_count= <NUMERIC>
retry_timer= <NUMERIC>
remote_retry_count= <NUMERIC>
remote_retry_timer= <NUMERIC>
reset_link= {true|false}
fc_topology= {VN_N_PORT_TO_VN_N_PORT|N_PORT_TO_F_PORT}
ed_tov= <NUMERIC>
ra_tov_host= <NUMERIC>
ra_tov_port= <NUMERIC>
rxcredit_port= <NUMERIC>
rxcredit_host= <NUMERIC>
domain_id= <NUMERIC>
domain_id_step= <1-255>
host_per_port= <1-1000>
create_traffic= {true|false}
group_method= {AGGREGATE|HOST}
traffic_flow= {LEFT_TO_RIGHT|RIGHT_TO_LEFT|BIDIRECTIONAL|BACKBONE}
traffic_flow_size= <12-16383>
traffic_percent_ports= <0-100>
Arguments:
port_handle
Specifies the handle of the port on which to configure
FC emulation. This argument is `Mandatory` for the create
mode. Please refer to the description of the mode argument.
handle
Specifies the handle of the FC device(s). The handle
is returned by the ``fc config`` function. This argument
is `Mandatory` only for the modify and the reset modes.
mode
Specifies the action to be taken. This argument is `Mandatory`.
Possible values are described below::
create - Starts emulating FC device(s) on the port
specified by the port_handle argument.
modify - Changes the configuration parameters for the
FC device(s) identified by the handle
argument.
reset - Deletes the FC device(s) identified by the
handle argument.
host_type
Specifies whether hosts will register the name server
as a initiator, target, or both. The default value is
initiator. Possible values are described below::
initiator - Indicates the Small Computer System
Interface (SCSI) Initiator. The SCSI is a
set of standards for physically connecting and
transferring data between computers and peripheral
devices.
target - Indicates the SCSI Target.
both - Indicates both the SCSI Initiator and the
SCSI Target.
logout_delay
Specifies the logout delay timer that defines the
interval between logout actions when two
or more logout functions are performed. The value
of this argument will be applied when several logout
messages are sent. Possible values range from
1(ms) to 1000(ms). The default is 10(ms).
login_delay
Specifies the login delay timer that defines the interval
between login actions when two or more login
functions are performed. The value of
this argument will be applied when several login messages
are sent. Possible values range from 1(ms) to 1000(ms).
The default is 10(ms).
nport_count
Specifies the number of the N_Ports to be created.
The default value is 1.
wwnn
Indicates the starting World Wide Node Name
(WWNN) of the FC hosts. The value of this argument
must be a 64bit hexadecimal value. The default is
10:00:10:94:00:00:00:01.
wwpn
Starting the WWPN of the FC
devices. A WWPN is a World Wide Name assigned to a port in a
Fibre Channel fabric. Used on storage area networks, it
performs a function equivalent to the MAC address in
the Ethernet protocol. It intends to be a unique
identifier in the network. The value of this argument
must be a 64bit hexadecimal value.
The default is 20:00:10:94:00:00:00:01.
wwpn_step
Specifies the WWPN step for the FC hosts.
The step must be a 64bit hexadecimal value.
The default is 00:00:00:00:00:00:00:01.
use_interface
`Spirent Extension (for Spirent HLTAPI only).`
Enables or disables World Wide Port Name (WWPN) for FC N_port and
FC F_port. Possible values are true (enable) and false (disable).
The default value is false.
wwnn_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to generate additional
World Wide Node Names (WWNNs). The value must be a 64bit
hexadecimal. The default value is 00:00:00:00:00:00:00:01.
wwnn_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the starting WWNN value for the port. The
value must be a 64bit hexadecimal. The default value is
20:00:10:94:00:00:00:01.
wwnn_port_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to generate additional WWPNs
for the port. The value must be a 64bit hexadecimal. The default
value is 00:00:00:00:00:00:00:01.
retry_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of times to retry the login process.
The default value is 0.
retry_timer
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the login retry interval, in milliseconds.
The default value is 10.
remote_retry_count
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of times to retry remote discovery.
The default value is 100.
remote_retry_timer
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the remote discovery retry interval, in milliseconds.
The default value is 1000.
reset_link
`Spirent Extension (for Spirent HLTAPI only).`
When enabled, the physical link will be reset upon logout.
Possible values are true (enable) and false (disable).
The default value is false.
fc_topology
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the type of topology to create. Possible values are::
Possible Values::
VN_N_PORT_TO_VN_N_PORT VN/N_Port to VN/N_Port
N_PORT_TO_F_PORT N_Port to F_Port
The default value is VN_N_PORT_TO_VN_N_PORT
ed_tov
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the error detection timeout value, in milliseconds.
This value determines the life of an individual FC frame in any
particular Fabric element. The default value is 2000.
ra_tov_host
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the resource allocation timeout value for the host, in
milliseconds. The default value is 10000.
ra_tov_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the resource allocation timeout value for the port, in
milliseconds. The default value is 10000.
rxcredit_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of frames that the port can receive.
The default value is 3.
rxcredit_host
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of frames that the host can receive.
The default value is 3.
domain_id
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the domain ID of the switch.
The default value is 16.
domain_id_step
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the step value by which to generate subsequent domain
IDs. Possible values range from 1 to 255. The default value is 1.
host_per_port
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the number of hosts per port. Possible values range
from 1 to 1000. The default value is 1.
create_traffic
`Spirent Extension (for Spirent HLTAPI only).`
Determines whether to create traffic. Possible values are true
and false. The default value is true.
group_method
`Spirent Extension (for Spirent HLTAPI only).`
Determines how streams are grouped into blocks.
Possible values are::
AGGREGATE Aggregates all streams into one streamblock for
each side of the configuration
HOST Creates one streamblock for each host in
each direction
traffic_flow
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the direction of traffic flows.
Possible values are::
LEFT_TO_RIGHT Traffic flow is from left side ports to right side ports
RIGHT_TO_LEFT Traffic flow is from right side ports to left side ports
BIDIRECTIONAL Bidirectional traffic
BACKBONE Backbone traffic
The default value is BIDIRECTIONAL.
traffic_flow_size
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the size of frames to be generated.
Possible values range from 12 to 16383.
The default value is 2112.
traffic_percent_ports
`Spirent Extension (for Spirent HLTAPI only).`
Specifies the percentage of traffic load to be generated on each port.
Possible values range from 0 to 100.
The default value is 10.0.
Arguments Unsupported by Save as HLTAPI:
The ``fc config`` function is not currently supported by Save as HLTAPI.
To test with this function, you must configure it manually in the script
generated using Save as HLTAPI.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle The FC device handle status Success (1) or failure (0) of the operation. procName The function name log An error message (if the operation failed).
- Description:
The
fc config
function creates or modifies an emulated FC device block. Use the mode argument to specify the action to perform. (See the mode argument description of the actions.)When you create a FC device, you must use the port_handle argument to specify the Spirent HLTAPI port that the emulated FC device will use for FC communication. (The port handle value is contained in the keyed list returned by the
connect
function.)- Examples:
To create a FC device:
set returnedString [fc config port_handle= port1 mode= create nport_count= 2 wwpn= "20:00:00:10:94:00:00:01" wwpn_step= "00:00:00:00:00:00:00:01" wwnn= "10:00:00:10:94:00:00:01" host_type= "initiator" login_delay= 10 logout_delay= 10 ]
To modify a FC device:
set returnedString [fc config handle= $fcDevice mode= modify host_type= "target" ]
To reset a FC device:
set returnedString fc config handle= $fcDevice mode reset
Sample Output:
# Create FC device {status 1} {handle host1} {procName fc_config} # Modify FC device {status 1} {handle host1} {procName fc_config} # Reset FC device {status 1} {procName fc_config}
End of Procedure Header
fc control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts FC Login/Logout process on the specified FC devices, deletes FC protocol, starts, or stops FC on F_PORT.
Synopsis:
Note: M indicates the argument is `Mandatory`.
fc control
handle= {FC_device_handle_list} M
action= {login|logout|delete|start|stop} M
Argument
handle=
Identifies a list of FC devices executing the action.
This argument is `Mandatory`. It is returned from the
``fc config`` function.
action=
Specifies the action to perform on the device specified by
the handle= argument. This argument is `Mandatory`. Possible
values are login and logout; they are described below::
login Starts the FC login process
logout Starts the FC logout process
delete Deletes the FC protocol on the specified device
start Starts the FC protocol on F_PORT
stop Stops the FC protocol on F_PORT
- 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 procName Name of the function log An error message (if the operation failed)
- Description:
- The
fc control
function controls the FC test. When you call thefc control
function, you must specify a handle. - Examples:
The following segment is an example for fc control:
set returnedString fcoe control handle= $fcDevice action login
Sample Output:
{status 1} {handle host1} {procName fc_control}
End of Procedure Header
fc stats¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns the specified FC device statistics. The statistics include the device status and number and type of messages sent and received.
Synopsis:
Note: M indicates the argument is `Mandatory`.
fc stats
handle= {FC device handles} M
mode= {summary|nport|fport|fportneighbor|discovery|all} M
Arguments:
handle
Identifies the FC devices whose statistics are to be
returned. This argument is `Mandatory`. It is returned from the
``fc config`` function.
mode
Specifies the kind of returned information.
Possible values are summary, nport and all. The default is
summary. Possible values are described below::
summary Returns FC summary results
nport Returns FC N_Port results
fport Returns FC F_Port results
fportneighbor Returns FC F_Port_Neighbor results
discovery Returns FC remote discovery results
all Returns all results from FC summary,
N_Port, F_Port, and F_Port_Neighbor
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handle The FC device handle status Success (1) or failure (0) of the operation. procName The function name log An error message (if the operation failed).
The following statistics are returned when the mode argument is set to all or nPort:
- <nportID>.substate
Substate of the N_Port. Possible values are:
NONE: No state. LOGGED_OUT: Logged out. FLOGI_SENT: FLOGI sent. FLOGI_TIMED_OUT: FLOGI timed out. FLOGI_REJECTED: FLOGI rejected. FLOGI_ACCEPTED: FLOGI accepted. FDISC_SENT: FDISC sent. FDISC_TIMED_OUT: FDISC timed out. FDISC_REJECTED: FDISC rejected. FDISC_ACCEPTED: FDISC accepted. PLOGI_SENT PLOGI sent. PLOGI_TIMED_OUT: PLOGI timed out. PLOGI_REJECTED: PLOGI rejected. PLOGI_ACCEPTED: PLOGI accepted. SCR_SENT: SCR sent. SCR_TIMED_OUT: SCR timed out. SCR_REJECTED: SCR rejected. SCR_ACCEPTED: SCR accepted.
- <nportID>.fcid
- Assigned FC ID of the N_Port
- <nportID>.wwpn
- World Wide Port Name of the N_Port
- <nportID>.wwnn
- World Wide Node Name of the N_Port
- <nportID>.rx_acc
- Number of accepted messages received of the N_Port
- <nportID>.rx_rjt
- Number of rejected messages received of the N_Port
- <nportID>.tx_flogi
- Number of FLOGI messages transmitted of the N_Port
- <nportID>.tx_fdisc
- Number of FDISC messages transmitted of the N_Port
- <nportID>.tx_plogi
- Number of PLOGI messages transmitted of the N_Port
- <nportID>.tx_logo
- Number of LOGO messages transmitted of the N_Port
- <nportID>.tx_scr
- Number of SCR messages transmitted of the N_Port
The following statistics are returned when the mode argument is set to discovery:
- rx_gid_pn_accept_count
- Number of Group ID PN Accept messages received
- rx_gid_pn_reject_count
- Number of Group ID PN Reject messages received
- rx_remote_plogi_count
- Number of remote Port Login messages received
- rx_remote_prli_accept_count
- Number of remote Process Login Accept messages received
- rx_remote_prli_count
- Number of remote Port Login messages received
- rx_remote_prli_reject_count
- Number of remote Process Login Reject messages received
- tx_gid_pn_count
- Number of Group ID PN Request messages sent
- tx_remote_plogi_accept_count
- Number of remote Port Login Accept messages sent
- tx_remote_plogi_reject_count
- Number of remote Port Login Reject messages sent
- tx_remote_prli_accept_count
- Number of remote Process Login Accept messages received
- tx_remote_prli_count
- Number of remote Process Login messages sent
- tx_remote_prli_reject_count
- Number of remote Process Login Reject messages received
- world_wide_node_name
- Configured world wide node name
- world_wide_port_name
- Configured world wide port name
The following statistics are returned when the mode argument is set to all or summary:
- state
- State of FC device. Possible values are UP and DOWN.
- nport_down
- Number of N_Port in DOWN state
- nport_up
- Number of N_Port in UP state
- rx_rjt
- Number of rejected messages received
- rx_acc
- Number of accepted messages received
- tx_flogi
- Number of FLOGI messages transmitted
- tx_fdisc
- Number of FDISC messages transmitted
- tx_plogi
- Number of PLOGI messages transmitted
- tx_logo
- Number of LOGO messages transmitted
- tx_scr
- Number of SCR messages transmitted
- Description:
- The
fc stats
function retrieves a list of aggregate statistics for the FC device configured on the specified port. - Examples:
The following example retrieves statistics of the FC device configured on the specified port:
set returnedString fc stats handle=$fcDevice mode summary puts "$returnedString" set returnedString fc stats handle=$fcDevice mode nPort puts "$returnedString"
Sample Output:
#Summary Results {status 1} {tx_logo 0} {tx_fdisc 1} {tx_flogi 1} {rx_acc 4} {tx_scrn 0} {rx_rjt 0} {max_rx_size 0} {tx_plogi 2} {nport_down 0} {nport_up 2} {handle host1} {procName fc_stats} #nPort Results {status 1} {nport0 {{rx_acc 2} {rx_rjt 0} {wwnn 10:00:00:10:94:00:00:01} {substate PLOGI_ACCEPTED} {wwpn 20:00:00:10:94:00:00:01} {tx_fdisc 0} {tx_logo 0} {tx_plogi 1} {tx_scrn 0} {tx_flogi 1} {fcid 2a0010}}} {nport1 {{rx_acc 2} {rx_rjt 0} {wwnn 10:00:00:10:94:00:00:01} {substate PLOGI_ACCEPTED} {wwpn 20:00:00:10:94:00:00:02} {tx_fdisc 1} {tx_logo 0} {tx_plogi 1} {tx_scrn 0} {tx_flogi 0} {fcid 2a0011}}} {handle host1} {procName fc_stats}
Note: The ID in <nportID> is zerobased.
End of Procedure Header