Cisco MDS 9000 Family Configuration Guide, Release 2.x
Troubleshooting Your Fabric

Table Of Contents

Troubleshooting Your Fabric

The fctrace Feature

The fcping Feature

Verifying Switch Connectivity

Configuring a Fabric Analyzer

About the Cisco Fabric Analyzer

Local Text-Based Capture

Remote Capture Daemon

GUI-Based Client

Configuring the Cisco Fabric Analyzer

Capturing Frames Locally

Sending Captures to Remote IP Addresses

Clearing Configured fcanalyzer Information

Displaying Configured Hosts

Displaying Captured Frames

Defining Display Filters

Displaying Filters Examples

Capture Filters

Permitted Capture Filters

Loop Monitoring Initiation

The show tech-support Command

The show tech-support brief Command


Troubleshooting Your Fabric


This chapter describes basic troubleshooting methods used to resolve issues with switches. This chapter includes the following sections:

The fctrace Feature

The fcping Feature

Configuring a Fabric Analyzer

Loop Monitoring Initiation

The show tech-support Command


The fctrace Feature

The fctrace feature allows you to:

Trace the route followed by data traffic.

Compute inter-switch (hop-to-hop) latency.

You can invoke fctrace by providing the FC ID, the N port, or the NL port WWN, or the device alias of the destination. The frames are routed normally as long as they are forwarded through TE ports.

Once the frame reaches the edge of the fabric (the F port or FL port connected to the end node with the given port WWN or the FC ID), the frame is looped back (swapping the source ID and the destination ID) to the originator.

If the destination cannot be reached, the path discovery starts, which traces the path up to the point of failure.


Note The fctrace feature works only on TE ports. Make sure that only TE ports exist in the path to the destination. In case there is an E port in the path, the fctrace frame is dropped by that switch. Also, fctrace times out in the originator, and path discovery does not start.



Tip You cannot use the fctrace feature in a locally configured VSAN interface (IPFC interface), but you can trace the route to a VSAN interface configured in other switches.


To perform a fctrace operation, follow this step:

 
Command
Purpose

Step 1 

switch# fctrace fcid 0xd70000 vsan 1

Route present for : 0xd70000

20:00:00:0b:46:00:02:82(0xfffcd5)

Timestamp Invalid.

20:00:00:05:30:00:18:db(0xfffcd7)

Timestamp Invalid.

20:00:00:05:30:00:18:db(0xfffcd7)

Invokes fctrace for the specified FC ID of the destination N port.

switch# fctrace pwwn 21:00:00:e0:8b:06:d9:1d vsan 1 timeout 5

Route present for : 21:00:00:e0:8b:06:d9:1d

20:00:00:0b:46:00:02:82(0xfffcd5)

Timestamp Invalid.

20:00:00:05:30:00:18:db(0xfffcd7)

Timestamp Invalid.

20:00:00:05:30:00:18:db(0xfffcd7)

Invokes fctrace using the pWWN of the destination N port.

By default the period to wait before timing out is 5 seconds, The range is from one through 10 seconds.

switch# fctrace device-alias disk1 v 1

Route present for : 22:00:00:0c:50:02:ce:f8

20:00:00:05:30:00:31:1e(0xfffca9)

Invokes fctrace using the device alias of the destination N port.

The fcping Feature

The fcping feature verifies reachability of a node by checking its end-to-end connectivity. You can invoke the fcping feature by providing the FC ID, the destination port WWN, or the device alias information.

To perform a fcping operation, follow these steps:

 
Command
Purpose

Step 1 

switch# fcping fcid 0xd70000 vsan 1

28 bytes from 0xd70000 time = 730 usec

28 bytes from 0xd70000 time = 165 usec

28 bytes from 0xd70000 time = 262 usec

28 bytes from 0xd70000 time = 219 usec

28 bytes from 0xd70000 time = 228 usec


5 frames sent, 5 frames received, 0 timeouts

Round-trip min/avg/max = 165/270/730 usec

Invokes fcping for the specified pWWN or the FC ID of the destination. By default, five frames are sent.

switch# fcping fcid 0xd70000 vsan 1 count 10

28 bytes from 0xd70000 time = 730 usec

28 bytes from 0xd70000 time = 165 usec

28 bytes from 0xd70000 time = 262 usec

28 bytes from 0xd70000 time = 219 usec

28 bytes from 0xd70000 time = 228 usec

28 bytes from 0xd70000 time = 230 usec

28 bytes from 0xd70000 time = 230 usec

28 bytes from 0xd70000 time = 225 usec

28 bytes from 0xd70000 time = 229 usec

28 bytes from 0xd70000 time = 183 usec


10 frames sent, 10 frames received, 0 timeouts

Round-trip min/avg/max = 165/270/730 usec

Sets the number of frames to be sent using the count option. The range is from 0 through 2147483647. A value of 0 pings forever.

switch# fcping fcid 0xd500b4 vsan 1 timeout 10

28 bytes from 0xd500b4 time = 1345 usec

...

5 frames sent, 5 frames received, 0 timeouts

Round-trip min/avg/max = 340/581/1345 usec

Sets the timeout value. The default period to wait is 5 seconds. The range is from 1 through 10 seconds.

switch# fcping device-alias disk1 vsan 1

28 bytes from 22:00:00:0c:50:02:ce:f8 time = 1883 usec

28 bytes from 22:00:00:0c:50:02:ce:f8 time = 493 usec

28 bytes from 22:00:00:0c:50:02:ce:f8 time = 277 usec

28 bytes from 22:00:00:0c:50:02:ce:f8 time = 391 usec

28 bytes from 22:00:00:0c:50:02:ce:f8 time = 319 usec


5 frames sent, 5 frames received, 0 timeouts

Round-trip min/avg/max = 277/672/1883 usec

Invokes fcping for the specified device alias of the destination.

Step 2 

switch# fcping fcid 0x010203 vsan 1

No response from the N port.


switch# fcping pwwn 21:00:00:20:37:6f:db:dd vsan 1

28 bytes from 21:00:00:20:37:6f:db:dd time = 1454 usec

...

5 frames sent, 5 frames received, 0 timeouts

Round-trip min/avg/max = 364/784/1454 usec

Issues a No response from the N port message even when the N port or NL port is active. This is due to resource exhaustion at the N port or NL port.

Retry the command a few seconds later.

Verifying Switch Connectivity

You can verify connectivity to a destination switch.


Note The FC ID variable used in this procedure is the domain controller address; it is not a duplication of the domain ID.


To verify connectivity to a destination switch, follow these steps:

 
Command
Purpose

Step 1 

switch# show fcdomain domain-list vsan 200

Number of domains: 7

Domain ID WWN

--------- -----------------------

0x01(1) 20:c8:00:05:30:00:59:df [Principal]

0x02(2) 20:c8:00:0b:5f:d5:9f:c1

0x6f(111) 20:c8:00:05:30:00:60:df

0xda(218) 20:c8:00:05:30:00:87:9f [Local]

0x06(6) 20:c8:00:0b:46:79:f2:41

0x04(4) 20:c8:00:05:30:00:86:5f

0x6a(106) 20:c8:00:05:30:00:f8:e3

Displays the destination switch's domain ID.

To obtain the domain controller address, concatenate the domain ID with FFFC. For example, if the domain ID is 0xda(218), the concatenated ID is 0xfffcda.

Step 2 

switch# fcping fcid 0xFFFCDA vsan 200

28 bytes from 0xFFFCDA time = 298 usec

28 bytes from 0xFFFCDA time = 260 usec

28 bytes from 0xFFFCDA time = 298 usec

28 bytes from 0xFFFCDA time = 294 usec

28 bytes from 0xFFFCDA time = 292 usec


5 frames sent, 5 frames received, 0 timeouts

Round-trip min/avg/max = 260/288/298 usec

Verifies reachability of the destination switch by checking its end-to-end connectivity.

Configuring a Fabric Analyzer

Fibre Channel protocol analyzers capture, decode, and analyze frames and ordered sets on a link. Existing Fibre Channel analyzers can capture traffic at wire rate speed. They are expensive and support limited frame decoding. Also, to snoop traffic, the existing analyzers disrupt the traffic on the link while the analyzer is inserted into the link.

Cisco has brought protocol analysis within a storage network to a new level with the Cisco Fabric Analyzer. You can capture Fibre Channel control traffic from a switch and decode it without having to disrupt any connectivity, and without having to be local to the point of analysis.

The Cisco Fibre Channel protocol analyzer is based on two popular public-domain software applications:

libpcap—See http://www.tcpdump.org.

Ethereal—See http://www.ethereal.com.


Note The Cisco Fabric Analyzer is useful in capturing and decoding control traffic, not data traffic. It is suitable for control path captures, and is not intended for high-speed data path captures.


About the Cisco Fabric Analyzer

The Cisco Fabric Analyzer consists of two separate components (see Figure 49-1):

Software that runs on the Cisco MDS 9000 Family switch and supports two modes of capture:

A text-based analyzer that supports local capture and decodes captured frames

A daemon that supports remote capture

GUI-based client that runs on a host that supports libpcap such as Windows or Linux and communicates with the remote capture daemon in a Cisco MDS 9000 Family switch.

Figure 49-1 Cisco Fabric Analyzer Usage

Local Text-Based Capture

This component is a command-line driven text-based interface that captures traffic to and from the supervisor module in a Cisco MDS 9000 Family switch. It is a fully functional decoder that is useful for quick debug purposes or for use when the remote capture daemon is not enabled. Additionally, because this tool is accessed from within the Cisco MDS 9000 Family switch, it is protected by the roles-based policy that limits access in each switch.

See the "Capturing Frames Locally" section.

Remote Capture Daemon

This daemon is the server end of the remote capture component. The Ethereal analyzer running on a host is the client end. They communicate with each other using the Remote Capture Protocol (RPCAP). RPCAP uses two endpoints, a TCP-based control connection and a TCP or UDP-based data connection based on TCP (default) or UDP. The control connection is used to remotely control the captures (start or stop the capture, or specify capture filters). Remote capture can only be performed to explicitly configured hosts. This technique prevents an unauthorized machine in the network from snooping on the control traffic in the network.

RPCAP supports two setup connection modes based on firewall restrictions.

Passive mode (default)—The configured host initiates connection to the switch. Multiple hosts can be configured to be in passive mode and multiple hosts can be connected and receive remote captures at the same time.

Active mode—The switch initiates the connection to a configured host—one host at a time.

Using capture filters, you can limit the amount of traffic that is actually sent to the client. Capture filters are specified at the client end—on Ethereal, not on the switch.

See the "Sending Captures to Remote IP Addresses" section.

GUI-Based Client

The Ethereal software runs on a host, such as a PC or workstation, and communicates with the remote capture daemon. This software is available in the public domain from http://www.ethereal.com. The Ethereal GUI front-end supports a rich interface such as a colorized display, graphical assists in defining filters, and specific frame searches. These features are documented on Ethereal's website.

While remote capture through Ethereal supports capturing and decoding Fibre Channel frames from a Cisco MDS 9000 Family switch, the host running Ethereal does not require a Fibre Channel connection to the switch. The remote capture daemon running on the switch sends the captured frames over the out-of-band Ethernet management port. This capability allows you to capture and decode Fibre Channel frames from your desktop or laptop.

See the "Displaying Captured Frames" section.

Configuring the Cisco Fabric Analyzer

You can configure the Cisco Fabric Analyzer to perform one of two captures.

Local capture—The command setting to enable a local capture cannot be saved to persistent storage or synchronized to standby. Launches the textual version on the fabric analyzer directly on the console screen. The capture can also be saved on the local file system.

Remote capture—The command setting to enable a remote capture can be saved to persistent storage. It can be synchronized to the standby supervisor module and a stateless restart can be issued, if required.

To use the Cisco Fabric Analyzer feature, traffic should be flowing to or from the supervisor module.

Capturing Frames Locally

To capture frames locally, follow these steps:

 
Command
Purpose

Step 1 

switch# config t

switch(config)#

Enters configuration mode.

Note The options within Step 2 may be performed in any order.

Step 2 

switch(config)# fcanalyzer local

Capturing on eth2

switch(config)#

Begins capturing the frames locally (supervisor module).

switch(config)# fcanalyzer local brief

Capturing on eth2

switch(config)#

Displays the protocol summary in a brief format.

switch(config)# fcanalyzer local display-filter SampleF

Capturing on eth2

Displays the filtered frames.

switch(config)# fcanalyzer local limit-frame-size 64

Capturing on eth2

switch(config)#

Limits the size of the frame capture to the first 64 bytes. The allowed range is 64 to 65536 bytes.

switch(config)# fcanalyzer local limit-captured-frames 10

Capturing on eth2

switch(config)#

Limits the number of frames captured to 10. The allowed range is 0 to 2147483647 frames and the default is 100 frames. Use 0 if you do not want to limit the number of captured frames.

Note Press Ctrl-c to stop a capture. Otherwise, the capture stops automatically after capturing 100 frames. You can change this default using the fcanalyzer local limit-captured-frames number command.

Step 3 

switch(config)# fcanalyzer local write volatile:sample

Capturing on eth2

switch(config)#

Saves the captured frames to a specified file (sample) in the volatile: directory.

Note Optionally, you can save the specified file to the slot0: directory.

Note The final filename that is the capture file is called either SampleFile_00000_<dateandtime> or SampleFile_00001_<dateandtime>.
For example, "SampleFile_00000_20021110223833" or "SampleFile_00001_20021110243833".
The maximum size of a file that can be written to is 10 MB.

Sending Captures to Remote IP Addresses


Caution You must use the eth2 interface to capture control traffic on a supervisor module.

To capture frames remotely, follow these steps:

 
Command
Purpose

Step 1 

switch# config t

switch(config)#

Enters configuration mode.

Step 2 

switch(config)# fcanalyzer remote 10.21.0.3

switch(config)#

Configures the remote IP address (10.21.0.3) to which the captured frames are sent.

switch(config)# fcanalyzer remote 10.21.0.3 active

switch(config)#

Enables active mode (passive is the default) with the remote host.

Ethereal is assumed to be running when the capture is performed. The switch tries to connect forever unless a capture stop instruction is sent from Ethereal.

switch(config)# fcanalyzer remote 10.21.0.3 active 1

switch(config)#

Enables the active mode for a specified port. The valid port range is 1 to 65535.

To capture remote traffic, use one of the following options:

The capture interface can be specified in Ethereal as the remote device:

rpcap://<ipaddress or switch hostname>/eth2

For example:

rpcap://cp-16/eth2
rpcap://17.2.1.1/eth2

The capture interface can be specified either in the capture dialog box or by using the -i option at the command line when invoking Ethereal.

ethereal -i rpcap://<ipaddress|hostname>[:<port>]/<interface>

For example:

ethereal -i rpcap://172.22.1.1/eth2 

or

ethereal -i rpcap://customer-switch.customer.com/eth2


Note For example, in a Windows 2000 setup, click Start on your desktop and select Run. In the resulting Run window, type the required command line option in the Open field.


Clearing Configured fcanalyzer Information

Use the clear fcanalyzer command to clear the entire list of configured hosts. Note that the existing connections are not terminated.

Displaying Configured Hosts

Use the show fcanalyzer command to display the list of hosts configured for a remote capture. See Example 49-1.

Example 49-1 Displays Configured Hosts

switch# show fcanalyzer 
PassiveClient = 10.21.0.3
PassiveClient = 10.21.0.3
ActiveClient = 10.21.0.3, DEFAULT

Note The DEFAULT in the ActiveClient line indicates that the default port is used.


Displaying Captured Frames

You can selectively view captured frames by using the display filters feature. For example, instead of viewing all the frames from a capture, you may only want to view Exchange Link Protocol (ELP) request frames. This feature only limits the captured view—it does not affect the captured or the saved frames. Procedures to specify, use, and save display filters are already documented in the Ethereal website (http://www.ethereal.com). Some examples of how you can use this feature are as follows:

To view all packets in a specified VSAN, use this expression:

mdshdr.vsan == 2

To view all SW_ILS frames, use this expression:

fcswils

To view class F frames, use this expression:

mdshdr.sof == SOFf

To view all FSPF frames, use this expression:

swils.opcode == HLO || swils.opcode == LSU || swils.opcode == LSA

To view all FLOGI frames, use this expression:

fcels.opcode == FLOGI

To view all FLOGI frames in VSAN 1, use this expression:

fcels.opcode == FLOGI && mdshdr.vsan == 2

To view all name server frames, use this expression:

dNS

Defining Display Filters

Display filters limit the frames that can be displayed, but not what is captured (similar to any view command). The filters to be displayed can be defined in multiple ways in the GUI application:

Auto-definition

Manual definition

Assisted manual definition

Only manual definition in local capture

No assists

Regardless of the definition, each filter must be saved and identified with a name.


Note This GUI-assisted feature is part of Ethereal and you can obtain more information from http://www.ethereal.com.


Displaying Filters Examples

Some examples of using display filters with the Fabric Analyzer local are provided in this section. The brief option is used in all examples to restrict the size of the output. See Example 49-2.

Example 49-2 Displays Only Fabric Login Server Traffic on VSAN 1

switch(config)# fcanalyzer local brief display-filter 
(mdshdr.vsan==0x01)&&((fc.d_id==\"ff.ff.fe\"\|\|fc.s_id==\"ff.ff.fe\"))
Capturing on eth2
8.904145   00.00.00 -> ff.ff.fe   FC ELS 1    0x28f8 0xffff  0x3 ->  0xf FLOGI
8.918164   ff.ff.fe -> 79.03.00   FC ELS 1    0x28f8 0x12c6 0xff ->  0x0 ACC (FLOGI)

You can trace all frames to and from a particular N port device. For example, to observe RSCNs from the Fabric Controller and registration and/or query requests to the name server. See Example 49-3.


Note The filter requires prior knowledge of the FC ID that is assigned to the N port. Issue the show flogi database interface command before running fcanalyzer to obtain the FC ID. In this example, the N port FC ID is 79.03.00.


Example 49-3 Displays All Traffic for a Particular N Port on VSAN 1

switch(config)# fcanalyzer local brief 
display-filter(mdshdr.vsan==0x01)&&((fc.d_id==\"79.03.00\"\|\|fc.s_id==\"79.03.00\"))
Capturing on eth2 
8.699162   ff.ff.fe -> 79.03.00   FC ELS 1    0x35b8 0x148e 0xff ->  0x0 ACC (FLOGI) 
8.699397   79.03.00 -> ff.ff.fc   FC ELS 1    0x35d0 0xffff  0x3 ->  0xf PLOGI 
8.699538   ff.ff.fc -> 79.03.00   FC ELS 1    0x35d0 0x148f 0xff ->  0x0 ACC (PLOGI) 
8.699406   79.03.00 -> ff.ff.fd   FC ELS 1    0x35e8 0xffff  0x3 ->  0xf SCR 
8.700179   79.03.00 -> ff.ff.fc   dNS    1    0x3600 0xffff  0x3 ->  0xf GNN_FT 
8.702446   ff.ff.fd -> 79.03.00   FC ELS 1    0x35e8 0x1490 0xff ->  0x0 ACC (SCR) 
8.704210   ff.ff.fc -> 79.03.00   dNS    1    0x3600 0x1491 0xff ->  0x0 ACC (GNN_FT) 
8.704383   79.03.00 -> ff.ff.fc   dNS    1    0x3618 0xffff  0x3 ->  0xf GPN_ID 
8.707857   ff.ff.fc -> 79.03.00   dNS    1    0x3618 0x1496 0xff ->  0x0 ACC (GPN_ID) 

The VSAN ID is specified in hex. See Example 49-4.

Example 49-4 Displays All Traffic for a Specified VSAN

switch(config)# fcanalyzer local brief display-filter mdshdr.vsan==0x03e7 
Capturing on eth2 
12.762577   ff.ff.fd -> ff.ff.fd   SW_ILS 999   0xb2c 0xffff  0x1 ->  0xf HLO 
12.762639   ff.ff.fd -> ff.ff.fd   FC     999   0xb2c  0xd32 0xff ->  0x0 Link Ctl, ACK1 
13.509979   ff.ff.fd -> ff.ff.fd   SW_ILS 999   0xd33 0xffff 0xff ->  0x0 HLO 
13.510918   ff.ff.fd -> ff.ff.fd   FC     999   0xd33  0xb2d  0x1 ->  0xf Link Ctl, ACK1 
14.502391   ff.fc.64 -> ff.fc.70   SW_ILS 999   0xd34 0xffff 0xff ->  0x0 SW_RSCN 
14.502545   ff.ff.fd -> 64.01.01   FC ELS 999   0xd35 0xffff 0xff ->  0x0 RSCN 
14.502804   64.01.01 -> ff.ff.fd   FC ELS 999   0xd35  0x215  0x0 ->  0xf ACC (RSCN) 
14.503387   ff.fc.70 -> ff.fc.64   FC     999   0xd34  0xb2e  0x1 ->  0xf Link Ctl, ACK1 
14.503976   ff.fc.70 -> ff.fc.64   SW_ILS 999   0xd34  0xb2e  0x1 ->  0xf SW_ACC (SW_RSCN) 
14.504025   ff.fc.64 -> ff.fc.70   FC     999   0xd34  0xb2e 0xff ->  0x0 Link Ctl, ACK1 

By excluding FSPF hellos and ACK1, you can focus on the frames of interest. See Example 49-5.

Example 49-5 Displays All VSAN 1 Traffic Excluding FSPF Hellos and ACK1 Frames.

switch(config)# fcan lo bri dis 
(mdshdr.vsan==0x01)&&not((swils.opcode==0x14)or(fc.r_ctl==0xc0))
Capturing on eth2 
10.589934   ff.fc.79 -> ff.fc.7a   FC-FCS 1    0x1b23 0xffff 0xff ->  0x0 GCAP 
10.591253   ff.fc.7a -> ff.fc.79   FC-FCS 1    0x1b23 0x2f70  0x4 ->  0xf MSG_RJT (GCAP) 
25.277981   ff.fc.79 -> ff.fc.7a   SW_ILS 1    0x1b27 0xffff 0xff ->  0x0 SW_RSCN 
25.278050   ff.fc.79 -> ff.fc.89   SW_ILS 1    0x1b28 0xffff 0xff ->  0x0 SW_RSCN 
25.279232   ff.fc.89 -> ff.fc.79   SW_ILS 1    0x1b28 0xadd7  0x5 ->  0xf SW_ACC (SW_RSCN) 
25.280023   ff.fc.7a -> ff.fc.79   Unzoned NS 1    0x3b2b 0xffff  0x5 ->  0xf GE_PT 
25.280029   ff.fc.7a -> ff.fc.79   SW_ILS 1    0x1b27 0x2f71  0x4 ->  0xf SW_ACC (SW_RSCN) 
25.282439   ff.fc.79 -> ff.fc.7a   dNS    1    0x3b2b 0x1b29 0xff ->  0x0 RJT (GE_PT) 
38.249966   00.00.00 -> ff.ff.fe   FC ELS 1    0x36f0 0xffff  0x3 ->  0xf FLOGI 
38.262622   ff.ff.fe -> 79.03.00   FC ELS 1    0x36f0 0x1b2b 0xff ->  0x0 ACC (FLOGI) 
38.262844   79.03.00 -> ff.ff.fc   FC ELS 1    0x3708 0xffff  0x3 ->  0xf PLOGI 
38.262984   ff.ff.fc -> 79.03.00   FC ELS 1    0x3708 0x1b2c 0xff ->  0x0 ACC (PLOGI) 
38.262851   79.03.00 -> ff.ff.fd   FC ELS 1    0x3720 0xffff  0x3 ->  0xf SCR 
38.263514   ff.fc.79 -> ff.fc.7a   SW_ILS 1    0x1b2e 0xffff 0xff ->  0x0 SW_RSCN 
38.263570   ff.fc.79 -> ff.fc.89   SW_ILS 1    0x1b2f 0xffff 0xff ->  0x0 SW_RSCN 
38.263630   79.03.00 -> ff.ff.fc   dNS    1    0x3738 0xffff  0x3 ->  0xf GNN_FT 
38.263884   ff.ff.fd -> 79.03.00   FC ELS 1    0x3720 0x1b2d 0xff ->  0x0 ACC (SCR) 
38.264066   ff.fc.89 -> ff.fc.79   SW_ILS 1    0x1b2f 0xaddf  0x5 ->  0xf SW_ACC (SW_RSCN) 
38.264417   ff.fc.89 -> ff.fc.79   dNS    1    0xade0 0xffff  0x5 ->  0xf GE_ID 
38.264585   ff.fc.79 -> ff.fc.89   dNS    1    0xade0 0x1b31 0xff ->  0x0 ACC (GE_ID) 
38.265132   ff.ff.fc -> 79.03.00   dNS    1    0x3738 0x1b30 0xff ->  0x0 ACC (GNN_FT) 
38.265210   ff.fc.7a -> ff.fc.79   Unzoned NS 1    0x3b2f 0xffff  0x5 ->  0xf GE_PT 
38.265414   79.03.00 -> ff.ff.fc   dNS    1    0x3750 0xffff  0x3 ->  0xf GPN_ID 
38.265502   ff.fc.7a -> ff.fc.79   SW_ILS 1    0x1b2e 0x2f73  0x4 ->  0xf SW_ACC (SW_RSCN) 
38.267196   ff.fc.79 -> ff.fc.7a   dNS    1    0x3b2f 0x1b32 0xff ->  0x0 ACC (GE_PT) 

Use this command to focus on TE port initialization. This example allows two VSANs on the TE port and the port VSAN is 666. Hence the ELP, ESC, and EPP (0x71) go out on VSAN 666. Once the EPP negotiation is complete, we see EFP, DIA, RDI, MR, FSPF, and other updates flow for each allowed VSAN. See Example 49-6.

Example 49-6 Displays SW_ILS Traffic Between Fabric Controllers for all VSANs and Exclude FSPF Hellos and ACK1 Frames.

switch(config)# fcan lo bri dis 
fc.type==0x22&&((fc.d_id==\"ff.fc.ef\"\|\|fc.s_id==\"ff.fc.ef\"))
Warning:Couldn't obtain netmask info (eth2:no IPv4 address assigned).
Capturing on eth2
9.472181 ff.fc.ef -> ff.fc.61 0x5e0a 0xffff SW_ILS ACA
9.472777 ff.fc.61 -> ff.fc.ef 0x5e0a 0x5e09 SW_ILS SW_ACC (ACA)
9.474551 ff.fc.ef -> ff.fc.61 0x5e0b 0xffff SW_ILS SFC
9.475706 ff.fc.61 -> ff.fc.ef 0x5e0b 0x5e0a SW_ILS SW_ACC (SFC)
9.476694 ff.fc.ef -> ff.fc.61 0x5e0c 0xffff SW_ILS UFC
9.483612 ff.fc.61 -> ff.fc.ef 0x5e0c 0x5e0b SW_ILS SW_ACC (UFC)
9.488187 ff.fc.ef -> ff.fc.61 0x5e0d 0xffff SW_ILS RCA
9.493703 ff.fc.61 -> ff.fc.ef 0x5e0d 0x5e0c SW_ILS SW_ACC (RCA)

This example focuses on zone server changes. Prior knowledge of the domain controller ID is required. The switch domain ID where the fcanalyzer is run is x79, the domain controller is FF.FC.79. See Example 49-7.

Example 49-7 Display Switch Internal Link Services (SW_ILS) Traffic To and From Fabric Domain Controller ff.fc.79

switch(config)# fcan lo bri dis fc.type==0x22&&((fc.d_id==\ ff.fc.79\ 
\|\|fc.s_id==\"ff.fc.79\"))
Capturing on eth2
64.053927 ff.fc.79 -> ff.fc.7a SW_ILS 0x1e15 0xffff 0xff -> 0x0 ACA
64.053995 ff.fc.79 -> ff.fc.89 SW_ILS 0x1e16 0xffff 0xff -> 0x0 ACA
64.054599 ff.fc.89 -> ff.fc.79 SW_ILS 0x1e16 0xb1e2 0x5 -> 0xf SW_ACC (ACA)
64.054747 ff.fc.7a -> ff.fc.79 SW_ILS 0x1e15 0x3037 0x4 -> 0xf SW_ACC (ACA)
64.057643 ff.fc.79 -> ff.fc.7a SW_ILS 0x1e17 0xffff 0xff -> 0x0 SFC
64.057696 ff.fc.79 -> ff.fc.89 SW_ILS 0x1e18 0xffff 0xff -> 0x0 SFC
64.058788 ff.fc.7a -> ff.fc.79 SW_ILS 0x1e17 0x3038 0x5 -> 0xf SW_ACC (SFC)
64.059288 ff.fc.89 -> ff.fc.79 SW_ILS 0x1e18 0xb1e3 0x5 -> 0xf SW_ACC (SFC)
64.062011 ff.fc.79 -> ff.fc.7a SW_ILS 0x1e19 0xffff 0xff -> 0x0 UFC
64.062060 ff.fc.79 -> ff.fc.89 SW_ILS 0x1e1a 0xffff 0xff -> 0x0 UFC
64.073513 ff.fc.7a -> ff.fc.79 SW_ILS 0x1e19 0x3039 0x5 -> 0xf SW_ACC (UFC)
64.765306 ff.fc.89 -> ff.fc.79 SW_ILS 0x1e1a 0xb1e4 0x5 -> 0xf SW_ACC (UFC)
64.765572 ff.fc.79 -> ff.fc.7a SW_ILS 0x1e1b 0xffff 0xff -> 0x0 RCA
64.765626 ff.fc.79 -> ff.fc.89 SW_ILS 0x1e1c 0xffff 0xff -> 0x0 RCA
64.766386 ff.fc.7a -> ff.fc.79 SW_ILS 0x1e1b 0x303a 0x4 -> 0xf SW_ACC (RCA)
64.766392 ff.fc.89 -> ff.fc.79 SW_ILS 0x1e1c 0xb1e5 0x5 -> 0xf SW_ACC (RCA)


Note You can find the Fabric Domain Controller address in the Mgmt-Id field in the show fcs ie vsan command output.
switch# show fcs ie vsan 999
IE List for VSAN:999
------------------------------------------------------------------------
IE-WWN IE-Type Mgmt-Id Mgmt-Addr
------------------------------------------------------------------------
23:e7:00:05:30:00:91:5f Switch (Remote) 0xfffc04 10.66.78.51
23:e7:00:05:30:00:9b:9f Switch (Adjacent) 0xfffc01 10.66.78.52
23:e7:00:0d:ec:00:93:81 Switch (Local) 0xfffc79 10.66.78.54
[Total 3 IEs in Fabric]


Capture Filters

You can limit what frames are captured by using the capture filters feature in a remote capture. This feature limits the frames that are captured and sent from the remote switch to the host. For example, you can capture only class F frames. Capture filters are useful in restricting the amount of bandwidth consumed by the remote capture.

Unlike display filters, capture filters restrict a capture to the specified frames. No other frames are visible until you specify a completely new capture.

The syntax for capture filter is different from the syntax for display filters. Capture filters use the Berkeley Packet Filter (BPF) library that is used in conjunction with the libpcap freeware. The list of all valid Fibre Channel capture filter fields are provided later in this section.

Procedures to configure capture filters are already documented in the Ethereal website (http://www.ethereal.com). Some examples of how you can use this feature as follows:

To capture frames only on a specified VSAN, use this expression:

vsan = 1

To capture only class F frames, use this expression:

class_f

To capture only class Fibre Channel ELS frames, use this expression:

els

To capture only name server frames, use this expression:

dns

To capture only SCSI command frames, use this expression:

fcp_cmd


Note This feature is part of libpcap and you can obtain more information from http://www.tcpdump.org.


Permitted Capture Filters

This section lists the permitted capture filters.

o vsan 
o src_port_idx 
o dst_port_idx 
o sof 
o r_ctl 
o d_id 
o s_id 
o type 
o seq_id 
o seq_cnt 
o ox_id 
o rx_id 
o els 
o swils 
o fcp_cmd   (FCP Command frames only) 
o fcp_data (FCP data frames only) 
o fcp_rsp   (FCP response frames only) 
o class_f 
o bad_fc 
o els_cmd 
o swils_cmd 
o fcp_lun 
o fcp_task_mgmt 
o fcp_scsi_cmd 
o fcp_status 
o gs_type      (Generic Services type) 
o gs_subtype   (Generic Services subtype) 
o gs_cmd 
o gs_reason 
o gs_reason_expl 
o dns   (name server) 
o udns (unzoned name server) 
o fcs   (fabric configuration server) 
o zs    (zone server) 
o fc    (use as fc[x:y] where x is offset and y is length to compare) 
o els   (use as els[x:y] similar to fc) 
o swils (use as swils[x:y] similar to fc) 
o fcp   (use as fcp[x:y] similar to fc) 
o fcct (use as fcct[x:y] similar to fc)

Loop Monitoring Initiation

By default, the loop monitoring is disabled in all switches in the Cisco MDS 9000 Family. When a disk is removed from a loop port, the loop stays active based on the bypass circuit. Thus the disk removal is not known until you try to communicate with the disk. To detect such removals, the disks can be polled periodically (every 20 seconds).


Caution Changes to the loop monitoring feature should be made by an administrator or individual who is completely familiar with switch operations.

Use the fcinterop loop-monitor command to enable loop polling for FL ports in a Cisco MDS 9000 Family switch.

To enable the loop monitoring feature, follow these steps:

 
Command
Purpose

Step 1 

switch# config t

switch(config)#

Enters configuration mode.

Step 2 

switch(config)# fcinterop loop-monitor

Enables the loop monitoring feature.

switch(config)# no fcinterop loop-monitor

Disables (default) the loop monitoring feature and reverts the switch to the factory defaults.

The show tech-support Command

The show tech-support command is useful when collecting a large amount of information about your switch for troubleshooting purposes. The output of this command can be provided to technical support representatives when reporting a problem.

The show tech-support command displays the output of several show commands at once. The output from this command varies depending on your configuration. Use the show tech-support command in EXEC mode to display general information about the switch when reporting a problem.

You can choose to have detailed information for each command or even specify the output for a particular interface, module or VSAN. Each command output is separated by line and the command precedes the output.


Note Explicitly set the terminal length command to 0 (zero) to disable auto-scrolling and enable manual scrolling. Use the show terminal command to view the configured the terminal size. After obtaining the output of this command, remember to reset you terminal length as required (see the "Setting the Terminal Length" section on page 2-18).



Tip You can save the output of this command to a file by appending > filename to the show tech-support command (see the "Saving Command Output to a File" section on page 2-26). If you save this file, verify you have sufficient space to do so—each of these files may take about 1.8 MB. However, you can zip this file using the gzip filename command (see the "Compressing and Uncompressing Files" section on page 2-26). Copy the zipped file to the required location using the copy command and unzip the file using the gunzip command (see the "Copying Files" section on page 2-25).


The default output of the show tech-support command includes the output of the following commands:

show version

show environment

show module

show hardware

show running-config

show interface

show accounting log

show process

show process log

show processes log details

show flash

Each command is discussed in both the Cisco MDS 9000 Family Configuration Guide and the Cisco MDS 9000 Family Command Reference. Refer to the Cisco MDS 9000 Family Troubleshooting Guide to obtain debug processes, procedures, and examples.

The show tech-support brief Command

Use the show tech-support brief command to obtain a quick, condensed review of your switch configurations. This command provides a summary of the current running state of the switch.

The show tech-support brief command is useful when collecting information about your switch for troubleshooting purposes. The output of this command can be provided to technical support representatives when reporting a problem.


Tip You can save the output of this command to a file by appending > filename to the show tech-support brief command (see the "Saving Command Output to a File" section on page 2-26).


Example 49-8 Displays the Condensed View of Switch Configurations

vegas01# show tech-support brief
Switch Name           : vegas01
Switch Type           : DS-X9216-K9-SUP
Kickstart Image       : 1.3(2) bootflash:///m9200-ek9-kickstart-mz.1.3.1.10.bin
System Image          : 1.3(2) bootflash:///m9200-ek9-mz.1.3.1.10.bin
IP Address/Mask       : 10.76.100.164/24
Switch WWN            : 20:00:00:05:30:00:84:9e
No of VSANs           : 9
Configured VSANs      : 1-6,4091-4093

VSAN    1:    name:VSAN0001, state:active, interop mode:default
              domain id:0x6d(109), WWN:20:01:00:05:30:00:84:9f [Principal]
              active-zone:VR, default-zone:deny

VSAN    2:    name:VSAN0002, state:active, interop mode:default
              domain id:0x7d(125), WWN:20:02:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN    3:    name:VSAN0003, state:active, interop mode:default
              domain id:0xbe(190), WWN:20:03:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN    4:    name:VSAN0004, state:active, interop mode:default
              domain id:0x5a(90), WWN:20:04:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN    5:    name:VSAN0005, state:active, interop mode:default
              domain id:0x13(19), WWN:20:05:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN    6:    name:VSAN0006, state:active, interop mode:default
              domain id:0x1f(31), WWN:20:06:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN 4091:    name:VSAN4091, state:active, interop mode:default
              domain id:0x08(8), WWN:2f:fb:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN 4092:    name:VSAN4092, state:active, interop mode:default
              domain id:0x78(120), WWN:2f:fc:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny

VSAN 4093:    name:VSAN4093, state:active, interop mode:default
              domain id:0x77(119), WWN:2f:fd:00:05:30:00:84:9f [Principal]
              active-zone:<NONE>, default-zone:deny


-------------------------------------------------------------------------------
Interface  Vsan   Admin  Admin   Status          FCOT   Oper  Oper   Port
                  Mode   Trunk                          Mode  Speed  Channel
                         Mode                                 (Gbps)
-------------------------------------------------------------------------------
fc1/1      1      auto   on      fcotAbsent       --     --           --
fc1/2      1      auto   on      fcotAbsent       --     --           --
fc1/3      1      auto   on      fcotAbsent       --     --           --
fc1/4      1      auto   on      fcotAbsent       --     --           --
fc1/5      1      auto   on      notConnected     swl    --           --
fc1/6      1      auto   on      fcotAbsent       --     --           --
fc1/7      1      auto   on      fcotAbsent       --     --           --
fc1/8      1      auto   on      fcotAbsent       --     --           --
fc1/9      1      auto   on      fcotAbsent       --     --           --
fc1/10     1      auto   on      fcotAbsent       --     --           --
fc1/11     1      auto   on      fcotAbsent       --     --           --
fc1/12     1      auto   on      fcotAbsent       --     --           --
fc1/13     1      auto   on      fcotAbsent       --     --           --
fc1/14     1      auto   on      fcotAbsent       --     --           --
fc1/15     1      auto   on      fcotAbsent       --     --           --
fc1/16     1      auto   on      fcotAbsent       --     --           --

-------------------------------------------------------------------------------
Interface          Status                            Speed
                                                     (Gbps)
-------------------------------------------------------------------------------
sup-fc0            up                                1

-------------------------------------------------------------------------------
Interface               Status     IP Address        Speed        MTU
-------------------------------------------------------------------------------
mgmt0                   up         10.76.100.164/24  100 Mbps     1500