Fabric OS Command Reference Manual
Fabric OS Command Reference Manual
v7.2.0
Part Number: 53-1002921-02
documentation@brocade.com


Fabric OS Commands : fcPing

fcPing
Sends a Fibre Channel Extended Link Service (ELS) Echo request to a pair of ports or to a single destination, or executes a SuperPing.
Synopsis
fcping
[--number frames]
[--length size]
[--interval wait]
[--pattern pattern]
[--bypasszone]
[--quiet]
[source] destination
fcping --allpaths
[-printisl]
[-maxtries M]
[-covcount N]
[-delay D]
[-framelength len]
[-errstats]
[-vc]
destination
fcping --help
Description
Use this command to send a Fibre Channel ELS Echo request to a pair of ports (a source and a destination), to a single device, or to execute a SuperPing that exercises all interswitch links (ISLs) and internal links in different paths that route to the destination device.
When you use fcPing with a source and a destination, the command performs a zoning check between the two ports. In addition, two Fibre Channel ELS requests are generated. The first ELS request is from the domain controller to the source port identifier. The second ELS request is from the domain controller to the destination port identifier. The ELS Echo request elicits an ELS Echo response from a port identifier in the fabric and is useful for validating link connectivity.
The source and destination port identifiers can be specified as a 24-bit Fibre Channel port identifier (PISD), a port World Wide Name, or a node World Wide Name. The two port identifiers are then used to determine if the identifiers are zoned together.
When you use fcPing to probe a single destination, an ELS Echo is sent to the specified destination and a response obtained. The destination can be a switch WWN, a domain ID, or a switch domain controller ID. No zoning check is performed when a single device is probed.
When you use fcPing with the --allpaths option, the command exercises a "SuperPing." A SuperPing exercises all ISLs and the internal links included in the paths that route to the destination. It collects statistical data of all the covered paths and their port and provides optional parameters to selectively display the data. SuperPing takes only one argument, that is, the destination port identifier. To execute a SuperPing for two destination, you must issue the fcping --allpaths command separately for each destination.
SuperPing facilitates troubleshooting of links that experience problems. When an echo frame is dropped, all the ISLs and internal links potentially traversed by this frame are marked as failures. If a fabric topology is considered fully redundant, that is, at each hop there are multiple paths to reach a destination, a high percentage of errors are recorded on the link that experiences errors.
Logical Fabrics: When executed in a Logical Fabric from a switch to a destination device connected through the base fabric, SuperPing exercises all paths in the base fabric along with the ISLs in the logical fabric. The path output indicates the LISLs and the base switch. Refer to the Examples section for an illustration.
Notes
The ELS Echo may not be supported on all devices. In such cases, the response could be either an ELS reject or a request timeout.
By default, fcPing sends five ELS Echo requests to each port. When a device does not respond to the ELS Echo request, further debugging may be needed to determine, whether the device does not support ELS Echo, or whether the request is rejected for some other reason. Do not assume that the device is not connected.
The execution of SuperPing requires that all switches in the fabric run Fabric OS v6.4.0 or later. For switches running earlier versions of Fabric OS, the collected data is incomplete.
If a fabric reconfiguration occurs while SuperPing is in progress, the command reports an error message. Exit the command and rerun the test after the fabric becomes stable again.
The execution of this command is subject to Virtual Fabric or Admin Domain restrictions that may be in place. Refer to Chapter 1, "Using Fabric OS Commands" and Appendix A, "Command Availability" for details.
Operands
This command has the following operands:
destination
Specifies the destination as follows.
When using fcPing between a source and a destination, specify the destination as port WWN or a node WWN.
When using fcPing to ping a single device, specify the destination as a PID, a switch WWN, a domain ID, or a switch domain controller ID.
When using fcPing with the --allpaths option, specify the destination as a PID, a switch WWN, or a domain ID.
source
Specifies the source port ID, port WWN, or node WWN. This operand is optional; it is not valid with the SuperPing command (--allpaths).
The following operands are valid only when fcPing is executed without the --allpaths option (legacy mode):
--number frames
Specifies the number of ELS Echo requests to send. The default value is 5.
--length size
Specifies the frame size of the requests in bytes. The default value is 0. Without data, the Fibre Channel Echo request frame size is 12 bytes. The total byte count includes four bytes from the Echo request header and eight bytes from the timestamp. The maximum allowed value is 2,036 bytes. The length must be word-aligned.
--interval wait
Specifies the interval, in seconds, between successive ELS Echo requests. The default value is 0 seconds.
--pattern pattern
Specifies up to 16 "pad" bytes, which are used to fill out the request frame payload sent. This is useful for diagnosing data-dependent problems in the fabric link. The pattern bytes are specified as hexadecimal characters. For example, --pattern ff fills the request frame with instances of the number 1. If a non-byte-aligned pattern is specified, the upper nibble of the last pattern byte is filled with zeros. For example, --pattern 123 fills the payload with a pattern of 0x1203.
--bypasszone
Bypasses the zone check.
--quiet
Suppresses the diagnostic output. Only zoning information, if applicable, and the summary line are displayed.
The following operands are valid only when fcPing is executed to perform a SuperPing:
--allpaths [args] destination
Executes a SuperPing that covers all available paths to the specified destination. The number of actual paths covered depends on two other parameters that you can optionally specify. When you issue fcping --allpaths for a destination without any other options, SuperPing covers all ISLs in the routes between source to destination but does exercise all possible combinations of end-to-end paths. This operand is required when executing fcPing as SuperPing.
The following operands are optional and valid only with the --allpaths option:
-printisl
Displays statistical data for each ISL and internal port along the paths traversed by SuperPing. This information displays in addition to the path display.
-covcount N
Specifies the minimum number of times each ISL is exercised by the SuperPing command. The command sends N frames and checks if each ISL is exercised at least N times. When the condition is met, superPing exits and prints the statistics. The default value is 5.
-maxtries M
Specifies the maximum number of frames to be sent before SuperPing exits. If both -maxtries and -covcount are specified, SuperPing checks the ISL coverage and keeps resending frames until the minimum coverage condition to is met or until the maximum number of echo frames specified in maxtries has been sent. For example, assuming a coverage count of 100 and a Maxtries value of 300, SuperPing will send 100 frames at a time and checks if each ISL is covered at least 100 times. If not, SuperPing will keep sending 100 frames at a time to check for coverage up to 3 times for a maximum of 300 frames (3*100 = 300) on each egress port. If this value is set too low in relation to the specified coverage count, not all ISLs may be covered. The default value is 100.
-delay D
Includes a delay of D milliseconds between each echo frame sent.
-framelength len
Specifies the size of the data to send.
-errstats
Collects error statistics of each user port that is part of ISLs covered through SuperPing to reach destination domain.
-vc
Displays the ISL and internal port statistics per VC.
--help
Displays the command usage.
Examples
To display one device that accepts the request and another device that rejects the request:
switch:admin> fcping 10:00:00:00:c9:29:0e:c4 21:00:00:20:37:25:ad:05
Source: 10:00:00:00:c9:29:0e:c4
Destination: 21:00:00:20:37:25:ad:05
Zone Check: Not Zoned
 
Pinging 10:00:00:00:c9:29:0e:c4 [0x20800] with 12 bytes of data:
received reply from 10:00:00:00:c9:29:0e:c4: 12 bytes time:1162 usec
received reply from 10:00:00:00:c9:29:0e:c4: 12 bytes time:1013 usec
received reply from 10:00:00:00:c9:29:0e:c4: 12 bytes time:1442 usec
received reply from 10:00:00:00:c9:29:0e:c4: 12 bytes time:1052 usec
received reply from 10:00:00:00:c9:29:0e:c4: 12 bytes time:1012 usec
5 frames sent, 5 frames received, 0 frames rejected, 0 frames timeout
Round-trip min/avg/max = 1012/1136/1442 usec
 
Pinging 21:00:00:20:37:25:ad:05 [0x211e8] with 12 bytes of data:
Request rejected
Request rejected
Request rejected
Request rejected
Request rejected
5 frames sent, 0 frames received, 5 frames rejected, 0 frames timeout
Round-trip min/avg/max = 0/0/0 usec
To display one device that accepts the request and another device that does not respond to the request:
switch:admin> fcping 0x020800 22:00:00:04:cf:75:63:85
Source: 0x020800
Destination: 22:00:00:04:cf:75:63:85
Zone Check: Zoned
 
Pinging 0x020800 with 12 bytes of data:
received reply from 0x020800: 12 bytes time:1159 usec
received reply from 0x020800: 12 bytes time:1006 usec
received reply from 0x020800: 12 bytes time:1008 usec
received reply from 0x020800: 12 bytes time:1038 usec
received reply from 0x020800: 12 bytes time:1010 usec
5 frames sent, 5 frames received, 0 frames rejected,0 frames timeout
Round-trip min/avg/max = 1006/1044/1159 usec
 
Pinging 22:00:00:04:cf:75:63:85 [0x0217d9] with 12 bytes of data:
Request timed out
Request timed out
Request timed out
Request timed out
Request timed out
5 frames sent, 0 frames received, 0 frames rejected,5 frames timeout
Round-trip min/avg/max = 0/0/0 usec
To use fcping with a single destination:
switch:admin> fcping 20:03:00:05:33:7e:97:e9
Pinging 20:03:00:05:33:7e:97:e9 [0x022300] with 12 bytes of data:
Request rejected
Request rejected by 0x022300: Command not supported: time: 1159 usec
Request rejected by 0x022300: Command not supported: time: 1006 usec
Request rejected by 0x022300: Command not supported: time: 1008 usec
Request rejected by 0x022300: Command not supported: time: 1038 usec
Request rejected by 0x022300: Command not supported: time: 1010 usec
5 frames sent, 0 frames received, 5 frames rejected, 0 frames timeout
Round-trip min/avg/max = 1006/1044/1159 usec
 
To use fcPing with a single destination (in the example, the destination is a switch WWN):
switch:admin> fabricshow
Switch ID Worldwide Name Enet IP Addr FC IP Addr Name
-----------------------------------------------------------------
6: fffc06 10:00:00:05:1e:34:2b:66 10.202.90.201 0.0.0.0 "mps_daz_1"
55:fffc37 10:00:00:05:1e:34:01:f5 10.202.90.226 0.0.0.0 pulsar055"
 
switch:admin> fcping 10:00:00:05:1e:34:2b:66
Destination: 10:00:00:05:1e:34:2b:66
 
Pinging 20:00:00:05:1e:34:2b:66 [fffc06] with 12 bytes of data:
received reply from 10:00:00:05:1e:34:2b:66 : 12 bytes time:1162 usec
received reply from 10:00:00:05:1e:34:2b:66 : 12 bytes time:1013 usec
received reply from 10:00:00:05:1e:34:2b:66 : 12 bytes time:1442 usec
received reply from 10:00:00:05:1e:34:2b:66 : 12 bytes time:1052 usec
received reply from 10:00:00:05:1e:34:2b:66 : 12 bytes time:1012 usec
5 frames sent, 5 frames received, 0 frames rejected, 0 frames timeout
Round-trip min/avg/max = 1012/1136/1442 usec
To use fcPing with a single destination (in the example, the destination is a device node WWN):
switch:admin> nsshow
{
Type Pid COS PortName NodeName TTL(sec)
N 370500;3;20:07:00:05:1e:35:10:7f;10:00:00:05:1e:35:10:7f; na
Fabric Port Name: 20:05:00:05:1e:34:01:f5
Permanent Port Name: 20:07:00:05:1e:35:10:7f
Port Index: 5
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: NO
N 370501; 3;10:00:00:00:c9:3f:7c:b8;20:00:00:00:c9:3f:7c:b8; na
FC4s: FCP
NodeSymb: [44] "Emulex LP1050 FV1.81A1 DV5-5.20A9 DELL1750-3"
Fabric Port Name: 20:05:00:05:1e:34:01:f5
Permanent Port Name: 20:07:00:05:1e:35:10:7f
Port Index: 5
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: NO
The Local Name Server has 2 entries }
 
switch:admin> fcping 20:00:00:00:c9:3f:7c:b8
Destination: 20:00:00:00:c9:3f:7c:b8
 
Pinging 20:00:00:00:c9:3f:7c:b8 [0x370501] with 12 bytes of data:
received reply from 20:00:00:00:c9:3f:7c:b8:12 bytes time:825 usec
received reply from 20:00:00:00:c9:3f:7c:b8:12 bytes time:713 usec
received reply from 20:00:00:00:c9:3f:7c:b8:12 bytes time:714 usec
received reply from 20:00:00:00:c9:3f:7c:b8:12 bytes time:741 usec
received reply from 20:00:00:00:c9:3f:7c:b8:12 bytes time:880 usec
5 frames sent,5 frames received,0 frames rejected,0 frames timeout
Round-trip min/avg/max = 713/774/880 usec
To execute a SuperPing testing all ISLs to a specified destination (in the example, two paths are tested, and each hop is displayed in Domain/Index format):
switch:admin> fcping --allpaths 165
 
Pinging(size:12 bytes) destination domain 165 through all paths
 
PATH SWITCH1--> SWITCH2--> SWITCH3--> \
-------------------------------------------------------------
1.(3/EMB,3/205)[128] (207/25,207/42)[128] (101/3,101/16)[128]\
 
2.(3/EMB,3/204)[128] (207/27,207/42)[128] (101/3,101/16)[128]\
 
SWITCH4 STATUS
----------------------------
(165/99,165/0)[128] SUCCESS
 
2(165/99,165/0)[128] SUCCESS
To execute a SuperPing in a logical fabric (in the example, domains 10 and 40 in FID 1 are connected through the base fabric (FID 2)):
switch:admin: fcping --allpaths 40
Pinging(size:12 bytes) destination domain 30 through all paths
 
PATH SWITCH1--> SWITCH2-->
--------------------------------------------------------
1.(10/EMB,10/4)[128] (20/5,20/EMB )[128] (1/EMB, 1/6)[2] \
Successfully completed superping for all paths
 
SWITCH3--> SWITCH4 STATUS
---------------------------------------------------------
(2/7,2/EMB)[2] (30/EMB,30/8)[128] (40/9, 40/EMB)[128] SUCCESS
Successfully completed superping for all paths
To execute a SuperPing and print statistical coverage of each ISL and internal port along the potential paths (in the example, a few errors are recorded on the ISLs 3/205->2/25, 3/204->2/27, 2/42->101/3, and 2/1->101/8, but the internal port analysis shows that errors are recorded on the internal port 0/284 in domain 2, which is the potential faulty link):
switch:admin> fcping --allpaths -printisl 101
Pinging(size:12 bytes) destination domain 101 through all paths
 
PATH SWITCH1--> SWITCH2--> \
------------------------------------------------
1. ( 3/EMB, 3/123)[128] (165/96 ,165/99 )[128] \
2. ( 3/EMB, 3/205)[128] ( 2/25 , 2/1 )[128] \
3. ( 3/EMB, 3/205)[128] ( 2/25 , 2/42 )[128] \
4. ( 3/EMB, 3/204)[128] ( 2/27 , 2/42 )[128] \
5. ( 3/EMB, 3/204)[128] ( 2/27 , 2/1 )[128] \
 
SWITCH3 STATUS
---------------------------------
(101/16 ,101/EMB)[128] SUCCESS
(101/8 ,101/EMB)[128] FAILED
(101/3 ,101/EMB)[128] FAILED
4(101/3 ,101/EMB)[128] FAILED
101/8 ,101/EMB)[128] FAILED
 
Completed superping for all paths. Error found in few paths
 
ISL COVERAGE
-------------
SNO ISL STATUS
---------------------------------------------------
1 ( 3/123[128]-->165/96[128] ) SUCCESS(5/5)
2 ( 3/205[128]--> 2/25[128] ) FAILURE(7/50)
3 ( 3/204[128]--> 2/27[128] ) FAILURE(11/50)
4 (165/99[128] -->101/16[128] ) SUCCESS(5/5)
6 ( 2/42[128] -->101/3[128] ) FAILURE(10/67)
7 ( 2/1[128] -->101/8[128] ) FAILURE(8/33)
 
INTERNAL PORT COVERAGE
-----------------------
 
SNO DOMAIN INTRNL_PORT STATUS
-------------------------------------------
1 2 0/272 SUCCESS(40/40)
2 2 0/276 SUCCESS(44/44)
3 2 0/280 SUCCESS(30/30)
4 2 0/284 FAILURE(20/20)
To execute a superPing with a coverage count of 1000 and a maxtries value of 5000 (in the example, the ISL (3/204->204/27), could not be covered 1000 times):
switch:admin> fcping --allpaths -covcount 1000 \
-maxtries 5000 -printisl 165
 
Pinging(size:12 bytes) destination domain 165 through all paths
|
PATH SWITCH1--> SWITCH2--> SWITCH3--> \
-------------------------------------------------------------
1.(3/EMB,3/205)[128] (207/25,207/42)[128] (101/3,101/16)[128]\
 
2.(3/EMB,3/204)[128] (207/27,207/42)[128] (101/3,101/16)[128]\
 
SWITCH4 STATUS
---------------------------
(165/99,165/0)[128] SUCCESS
 
(165/99,165/0)[128] SUCCESS
 
Successfully completed superping for all paths
 
ISL COVERAGE
-------------
SNO ISL STATUS
----------------------------------------------------
1 ( 3/205-->207/25 ) SUCCESS(4025/4025)
2 ( 3/204-->207/27 ) SUCCESS(5/5)
3 (207/42 -->101/3 ) SUCCESS(4030/4030)
4 (101/16 -->165/99 ) SUCCESS(4030/4030)
 
INTERNAL PORT COVERAGE
-----------------------
 
SNO DOMAIN INTRNL_PORT STATUS
-----------------------------------------
See Also
None

Fabric OS Commands : fcPing