2014, Brocade Communications Systems, Inc. All Rights Reserved.
Brocade, the B-wing symbol, Brocade Assurance, ADX, AnyIO, DCX, Fabric OS, FastIron, HyperEdge, ICX, MLX, MyBrocade, NetIron,
OpenScript, VCS, VDX, and Vyatta are registered trademarks, and The Effortless Network and the On-Demand Data Center are trademarks
of Brocade Communications Systems, Inc., in the United States and in other countries. Other brands and product names mentioned may be
trademarks of others.
Notice: This document is for informational purposes only and does not set forth any warranty, expressed or implied, concerning any
equipment, equipment feature, or service offered or to be offered by Brocade. Brocade reserves the right to make changes to this document
at any time, without notice, and assumes no responsibility for its use. This informational document describes features that may not be
currently available. Contact a Brocade sales office for information on feature and product availability. Export of technical data contained in
this document may require an export license from the United States government.
The authors and Brocade Communications Systems, Inc. assume no liability or responsibility to any person or entity with respect to the
accuracy of this document or any loss, cost, liability, or damages arising from the information contained herein or the computer programs that
accompany it.
The product described by this document may contain open source software covered by the GNU General Public License or other open
source license agreements. To find out which open source software is included in Brocade products, view the licensing terms applicable to
the open source software, and obtain a copy of the programming source code, please visit http://www.brocade.com/support/oscd.
The document conventions describe text formatting conventions, command syntax conventions, and
important notice formats used in Brocade technical documentation.
Text formatting conventions
Text formatting conventions such as boldface, italic, or Courier font may be used in the flow of the text
to highlight specific words or phrases.
Format
bold text
italic text
Courier font
Description
Identifies command names
Identifies keywords and operands
Identifies the names of user-manipulated GUI elements
Identifies text to enter at the GUI
Identifies emphasis
Identifies variables and modifiers
Identifies paths and Internet addresses
Identifies document titles
Identifies CLI output
Identifies command syntax examples
Command syntax conventions
Bold and italic text identify command syntax components. Delimiters and operators define groupings of
parameters and their logical relationships.
Convention
bold textIdentifies command names, keywords, and command options.
italic textIdentifies a variable.
Description
Flow Vision Administrators Guide7
53-1003168-01
Notes, cautions, and warnings
ConventionDescription
valueIn Fibre Channel products, a fixed value provided as input to a command
[ ]Syntax components displayed within square brackets are optional.
option is printed in plain text, for example, --show WWN.
Default responses to system prompts are enclosed in square brackets.
{ x | y | z }A choice of required parameters is enclosed in curly brackets separated by
x | yA vertical bar separates mutually exclusive elements.
< >Nonprinting characters, for example, passwords, are enclosed in angle
...
\
vertical bars. You must select one of the options.
In Fibre Channel products, square brackets may be used instead for this
purpose.
brackets.
Repeat the previous element, for example, member[member...].
Indicates a “soft” line break in command examples. If a backslash separates
two lines of a command input, enter the entire command at the prompt without
the backslash.
Notes, cautions, and warnings
Notes, cautions, and warning statements may be used in this document. They are listed in the order of
increasing severity of potential hazards.
NOTE
A Note provides a tip, guidance, or advice, emphasizes important information, or provides a reference
to related information.
ATTENTION
An Attention statement indicates a stronger note, for example, to alert you when traffic might be
interrupted or the device might reboot.
CAUTION
A Caution statement alerts you to situations that can be potentially hazardous to you or cause
damage to hardware, firmware, software, or data.
DANGER
A Danger statement indicates conditions or situations that can be potentially lethal or
extremely hazardous to you. Safety labels are also attached directly to products to warn of
these conditions or situations.
8Flow Vision Administrators Guide
53-1003168-01
Brocade resources
Visit the Brocade website to locate related documentation for your product and additional Brocade
resources.
You can download additional publications supporting your product at www.brocade.com. Select the
Brocade Products tab to locate your product, then click the Brocade product name or image to open the
individual product page. The user manuals are available in the resources module at the bottom of the
page under the Documentation category.
To get up-to-the-minute information on Brocade products and resources, go to MyBrocade. You can
register at no cost to obtain a user ID and password.
Release notes are available on MyBrocade under Product Downloads.
White papers, online demonstrations, and data sheets are available through the Brocade website.
Contacting Brocade Technical Support
Brocade resources
As a Brocade customer, you can contact Brocade Technical Support 24x7 online, by telephone, or by email. Brocade OEM customers contact their OEM/Solutions provider.
Brocade customers
For product support information and the latest information on contacting the Technical Assistance
Center, go to http://www.brocade.com/services-support/index.html.
If you have purchased Brocade product support directly from Brocade, use one of the following methods
to contact the Brocade Technical Assistance Center 24x7.
OnlineTelephoneE-mail
Preferred method of contact for nonurgent issues:
• My Cases through MyBrocade
• Software downloads and licensing
tools
• Knowledge Base
Required for Sev 1-Critical and Sev
2-High issues:
• Continental US: 1-800-752-8061
• Europe, Middle East, Africa, and
Asia Pacific: +800-AT FIBREE
(+800 28 34 27 33)
• For areas unable to access toll
free number: +1-408-333-6061
• Toll-free numbers are available in
many countries.
support@brocade.com
Please include:
• Problem summary
• Serial number
• Installation details
• Environment description
Brocade OEM customers
If you have purchased Brocade product support from a Brocade OEM/Solution Provider, contact your
OEM/Solution Provider for all of your product support needs.
• OEM/Solution Providers are trained and certified by Brocade to support Brocade® products.
• Brocade provides backline support for issues that cannot be resolved by the OEM/Solution Provider.
Flow Vision Administrators Guide9
53-1003168-01
Document feedback
• Brocade Supplemental Support augments your existing OEM support contract, providing direct
access to Brocade expertise. For more information, contact Brocade or your OEM.
• For questions regarding service levels and response times, contact your OEM/Solution Provider.
Document feedback
To send feedback and report errors in the documentation you can use the feedback form posted with
the document or you can e-mail the documentation team.
Quality is our first concern at Brocade and we have made every effort to ensure the accuracy and
completeness of this document. However, if you find an error or an omission, or you think that a topic
needs further development, we want to hear from you. You can provide feedback in two ways:
• Through the online feedback form in the HTML documents posted on www.brocade.com.
• By sending your feedback to documentation@brocade.com.
Provide the publication title, part number, and as much detail as possible, including the topic heading
and page number if applicable, as well as your suggestions for improvement.
10Flow Vision Administrators Guide
53-1003168-01
About This Document
● Supported hardware and software.................................................................................. 11
● What's new in this document...........................................................................................12
In those instances in which procedures or parts of procedures documented here apply to some switches
but not to others, this list identifies exactly which switches are supported and which are not.
Although many different software and hardware configurations are tested and supported by Brocade
Communications Systems, Inc. for Fabric OS 7.3.0, documenting all possible configurations and
scenarios is beyond the scope of this document.
The following hardware platforms are supported by this release of Fabric OS:
● System event handling....................................................................................................30
● Firmware upgrade and downgrade considerations......................................................... 31
● High Availability and Flow Vision.................................................................................... 32
● Flow Vision integration with MAPS ................................................................................ 32
Overview of Flow Vision
Flow Vision is a Fibre Channel SAN network diagnostic tool supported on all platforms supported by
Fabric OS 7.2.0 and later, that provides you with a comprehensive vision of and deep insight into fabric
traffic flows, along with the ability to non-disruptively create and capture copies of traffic flows for
analysis of traffic flows, bottlenecks, bandwidth utilization and similar fabric connectivity functionality.
Flow Vision also provides a test flow generation capability that you can use to pre-test a SAN
infrastructure for robustness. This test flow generation capability is also useful for testing the internal
connections on a switch before deploying the switch into a production environment. In addition, Flow
Vision allows you to test for fabric connectivity issues, such as slow drain, bandwidth utilization, and
similar issues.
Flow Vision features
Flow Vision has three features: Flow Monitor, Flow Generator, and Flow Mirror.
Flow Monitor
Flow Monitor provides flow monitoring and the gathering of frame statistics for fabric application flows,
including the ability to learn (discover) flows automatically that are flowing through a specified port.
Refer to Flow Monitor on page 33 for a complete description and sample use cases.
Flow Generator
Flow Generator simulates and generates test-load traffic in specific flows; this allows you to validate
hardware components, connectivity, and verify performance. Refer to Flow Generator on page 59 for
a complete description and sample use cases.
Flow Mirror
Flow Mirror provides the ability to non-disruptively create copies of application flow frames that can be
captured for deeper analysis of their contents. Refer to Flow Mirror on page 75 for a a complete
description and sample use cases.
Flow Vision Administrators Guide
53-1003168-01
15
Flow Vision limitations and considerations
Flow Vision limitations and considerations
Beyond the individual feature-specific restrictions, the following restrictions and limitations apply to
Flow Vision as a whole:
• You cannot run Flow Vision and either Advanced Performance Monitor (APM) or Port Mirroring at
the same time on a chassis (even across logical switches), as Flow Vision and Port Mirror
connections are mutually exclusive. This means that legacy Port Mirroring-related operations are
not allowed if any Flow Vision flow (active or defined) is present on a switch, and no Flow Vision
flows can be created or run if legacy Port Mirroring is enabled.
• Port swap functionality is not supported.
Roles and access in Flow Vision
Flow Vision can be accessed by users with the following roles: Admin, Switch Admin, or Fabric Admin.
Flow Vision flows
A flow is a set of Fibre Channel (FC) frames or packets that share similar traits, such as an ingress
port or egress port identifier or any other data that can be used to differentiate one set of related
frames or packets from a different set.
These parameters are specified as part of the flow command, and include:
• Port parameters: (Also called the “Point of Interest”, or where the data you want to examine is
from.) This consists of an ingress port (ingrport) or an egress port (egrport). Only one can be
specified when defining a flow.
• Frame parameters: These are the following parameters: Source Device Identification (SID or
WWN), Destination Device Identification (DID or WWN), LUN, or frame type. At least one frame
parameter must be present to define a flow. Refer to Flow frametype parameters on page 19 for
details on frame types.
• Direction: A direction is implicitly defined from an ingress port to an egress port, or a source device
(srcdev) to a destination device (dstdev). For example, srcdev=x, dstdev=y indicates traffic flowing
from x to y. The -bidir option causes the flow definition to be monitored in both directions. This
makes the following true:
‐Entering srcdev=x dstdev=y specifies that only traffic flowing from x to y is the desired
‐Entering srcdev=x dstdev=y -bidir specifies that traffic traveling from x to y and traffic
The following figure illustrates how the frame and port parameters apply to a flow.
flow.
traveling from y to x are both desired flows.
16Flow Vision Administrators Guide
53-1003168-01
FIGURE 1 Frame and port parameters
Flow definitions
Flow definitions
To define a flow and configure Flow Vision to monitor that flow, you must provide a unique flow name
and specify the flow parameters. These parameters identify the sets of related frames that compose the
flow; these can either be explicitly defined or Flow Vision can learn them through observation.
NOTE
These flow definitions are stored on the switch on which the flow is created, and are not distributed
across the fabric. This means that each switch (logical or physical) knows only its own unique flows and
does not know what flows exist on other switches.
When creating or viewing a flow, you can specify any combination of the three features (monitor, mirror,
generator) in the flow command.
Flow definition parameters and rules
The rules listed in the following table identify the parameters that can be used to define a flow.
Flow definition rulesTABLE 3
ParametersField namesRules
Portingrport
egrport
• One field only must be specified
• Values must be explicit
Flow Vision Administrators Guide17
53-1003168-01
Duplicate flow definition support
ParametersField namesRules
Flow definition rules (Continued)TABLE 3
Framesrcdev
dstdev
lun
frametype
NOTE
Refer to Table 5 on page 19 for more information
on frame types.
• At least one field must be specified.
• Values for srcdev and dstdev can be
explicit or "*" ("*" indicates learned
flows).
• Values for lun and frametype must be
explicit.
• On XISL monitors, the SFID and DFID
values are mandatory but srcdev &
dstdev are not.
Notes
• On 8 Gbps-capable Fibre Channel platforms, possible frame monitoring flow classifiers include:
egrport, ingrport, srcdev, dstdev, and lun.
• On Gen 5 Fibre Channel platforms and the Brocade FC8-32E and FC8-48E blades, possible frame
monitoring flow classifiers include: ingrport, egrport, dstdev, srcdev, and lun.
Duplicate flow definition support
Flow Vision allows duplicate flow definitions to be created as long as the flows are not active.
Duplicate flow definitions are detected during flow activation. If a flow is a duplicate of an active flow,
the duplicate will not be activated.
Any flow that is considered to be a duplicate will remain deactivated as long as there is an existing
matching flow definition active irrespective of the defined application. A warning message is displayed
when you try to create (which implicitly activates) or activate a flow if there is an existing matching flow
definition active. You must manually deactivate the active flow to activate the new flow definition.
A flow definition must be active to be considered a duplicate. For example, the following user-defined
flow definitions are considered to be duplicates, as the "*" value for dstdev in the second example
would include the 0xa20c81 value specified in the first.
Predefined flows are considered when checking for duplicate flows. When a predefined flow is active
for any feature, all user-defined flows for that feature are considered to be duplicate flows, but userdefined flows for different features are not considered to be duplicate flows. Duplicate predefined flow
definitions can be active for different applications. Duplicate predefined flow definitions cannot be
active simultaneously for the same application.
18Flow Vision Administrators Guide
53-1003168-01
Supported port configurations for each application
Supported port configurations for each application
The following table lists the supported configurations for each Flow Vision feature that can be made
using only the basic flow identification parameters (ingrport and srcdev, egrport and dstdev).
Port configurations supported in Flow Vision TABLE 4
Switch Configuration Mode
Access GatewayVirtual Fabric
Not SupportedSupported
Supported
(F_Ports only)
Supported
Feature
Flow
Generator
Flow
Mirror
Flow
Monitor
Platforms
16 Gbps-capable Fibre Channel
(Gen 5)
Supported (SIM ports only)Supported (Destination
Supported (F_Ports and F_Port
trunks)
Supported (E_Ports, EX_Ports,
F_Ports, SIM ports, and
XISL_Ports)
8 Gbps-capable Fibre
Channel
SIM ports only)
Not SupportedNot SupportedSupported
Supported (E_Ports,
EX_Ports, F_Ports, and
XISL_Ports)
Notes on supported configurations
• Neither ranges nor lists are supported for any parameter.
• If you are using at least one advanced parameter (lun, frametype, or bidir), then feature-specific rules
apply. Refer to the individual Flow Vision features for specific details.
• Support for Gen 5 F_Ports and F_Port trunks is provided on the following devices:
‐Switches: Brocade 6505, 6510, 6520, DCX 8510-4 and DCX 8510-8
‐Blades: CR16-4, CR16-8, FC8-32E, FC8-48E, FC16-32, FC16-48, and FC16-64
‐Disabling a SIM port that is receiving traffic may produce class 3 discards for the simulated
traffic; however, this will have no effect on other traffic flows.
Flow frametype parameters
Frame monitoring can be done for a variety of frames using predefined frametype parameters.
The following table lists these parameters and the type of frames counted for each.
Supported frametype parametersTABLE 5
Frametype
parameter
abtsAbort Sequence
baaccAll frames accepted
barjtAll frames rejected
scsiAll SCSI frames (including both command and data frames)
On chassis-based platforms, Flow Vision supports a maximum of 512 user-defined flows plus an
additional 512 learned flows and predefined flows. On fixed-port platforms, Flow Vision supports a
maximum of 128 user-defined flows plus an additional 128 learned flows and predefined flows.
However, there is a combined limit for all features of 64 static flows and learning flows (whether active
or inactive) for any one port, and a maximum of 64 learned flows per feature per port. This means (as
an example) that two different learning flows on a given port can each have 64 learned flows.
Beyond these limits, there are limits for each individual feature, as described in the following table. In
addition, refer to the individual features for other feature-specific restrictions.
20Flow Vision Administrators Guide
53-1003168-01
Flow learning
NOTE
A verification is done for each flow when it is created or activated to ensure that there is no identical
flow active. Duplicate flows will not be created or activated when there is a identical flow already active.
To create a new flow that duplicates an active flow, you must use the -noactivate keyword as part of
the flow--create command. Refer to the “Creating an inactive flow” section of each feature for
instructions on creating an inactive flow for that feature.
Feature-specific flow count restrictions in Flow VisionTABLE 6
FeatureLimit to number of flows
Flow MonitorUp to 64 active flows per port, including static flows, learning flows, and learned flows.
Flow GeneratorUp to 39 active flows per port for ingress ports and 64 active flows per port for egress
Flow MirrorOne active flow per port.
ports.
Flow learning
Flow Vision can create a learned flow by using an asterisk (*) for the source device, the destination
device, or both devices. This allows you to discover what flows are active on a port without having to
explicitly identify all the devices.
The following items should be kept in mind when constructing learning flows:
• Learning is enabled on a port if the flow definition has an asterisk as the value for any of the flow
parameters. The learning flow is expanded to learned flows based on the parameters indicated by
the asterisk. Cumulative data is presented for parameters for which learning is not requested.
• When you enter an asterisk as part of the command to indicate a learned flow, you must enclose it in
double quotes, like this: ("*").
• Learning source device (srcdev) or destination device (dstdev) values are only supported on Gen 5
Fibre Channel ports.
• Each Flow Vision feature uses learning as follows:
‐Flow Monitor can learn all the source device and destination device pairs passing through
the ingress or egress port defined in a flow. Learning is not supported for Flow Monitor flows
defined using the lun, frametype, or bidir parameters. Refer to Learning in Flow Monitor
flows on page 37 for additional information.
‐Flow Generator can generate traffic to or from every source or destination device that
shares the zone with the ingress or egress port defined in a flow. Refer to Learning in Flow
Generator flows on page 65 for additional information.
‐Flow Mirror can capture all the source device and destination device pairs passing through
the ingress or egress port defined in a flow. Learning is supported for Flow Mirror flows
defined using the lun, frametype, or bidir parameters. Refer to Learning in Flow Mirror flows
on page 83 for additional information.
Flow Vision Administrators Guide21
53-1003168-01
Viewing flows
Viewing flows
Flow Vision allows you to view the configuration parameters for each flow on a switch.
• To display all Flow Vision flows, enter flow--show.
• To display all flows for a specific feature, enter flow--show-featurefeature_name.
• To display the definition for a specific flow, enter flow--showflow_name-featurefeature_name.
When you enter flow--show with a flow name, only the flow definition for the specified flow is
displayed. If the feature is also specified, feature-specific data is displayed for the specified flow
name. For root and static flows, this command shows the Source ID-Destination ID pairs and the
cumulative frame count for the ingress or egress port specified in the flow definition.
The following example displays all the existing flows on the switch.
------------------------------------------------------------------------------------------------------ + Denotes feature is currently activated for the flow
The flow name with prefix sys_ denotes a predefined flow
Refer to the individual features to see feature-specific output.
Repeating flow output
You can configure the Flow Vision features to repeat their flow output. The purpose of repeating a flow
is so that you can view sample frames or output over time to look for differences. This allows you to
continuously monitor a changing situation.
To specify the number of times the flow output should be repeated, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Use the flow--showflow_name-featurefeature_name-countnum command. The num value can
range from 1 through 10. The default value is 1.
22Flow Vision Administrators Guide
53-1003168-01
Flow Vision
Repeating a Flow Monitor flow
The following example creates a Flow Monitor flow named “ag159_flow_2”, and
then repeats the output two times:
----------------------Number of frames generated from IngrPort : 2.57G
=======================================================================================================
=======================================================================================================
Name : simflow_1 Features: gen(Activated),mon(Activated) noConfig: Off
Definition: IngrPort(12/16),SrcDev(0x07f000),DstDev(0x371400)
Flow Generator (Activated):
----------------------| SrcDev | DstDev |
----------------------| 0x07f000 | 0x371400 |
----------------------Number of frames generated from IngrPort : 2.57G
=======================================================================================================
=======================================================================================================
Name : simflow_1 Features: gen(Activated),mon(Activated) noConfig: Off
Definition: IngrPort(12/16),SrcDev(0x07f000),DstDev(0x371400)
Flow Generator (Activated):
----------------------| SrcDev | DstDev |
----------------------| 0x07f000 | 0x371400 |
----------------------Number of frames generated from IngrPort : 2.58G
=======================================================================================================
24Flow Vision Administrators Guide
53-1003168-01
Flow Vision
Repeating a Flow Mirror flow
The following example creates a bidirectional Flow Mirror flow named
“fmcount_cfm” that is mirrored to the CPU, and repeats the output three times:
switch:admin> flow --show fmcount_cfm -fea mir -count 3
=======================================================================================================
Name : fmcount_cfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),BiDir
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:27:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:27:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:31:109 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:31:109 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmcount_cfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),BiDir
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:34:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:34:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:38:109 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:38:109 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmcount_cfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),BiDir
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:40:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:40:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 07:54:44:109 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 07:54:44:109 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
switch:admin> flow --show fmcount_lfm -feature mirror -count 5
=======================================================================================================
Name : fmcount_lfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1032316, No of RX Mirrored Frames : 1032316, No of TX Mirrored Frames : 0
=======================================================================================================
Name : fmcount_lfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1267119, No of RX Mirrored Frames : 1267119, No of TX Mirrored Frames : 0
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmcount_lfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1501921, No of RX Mirrored Frames : 1501921, No of TX Mirrored Frames : 0
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmcount_lfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1736723, No of RX Mirrored Frames : 1736723, No of TX Mirrored Frames : 0
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmcount_lfm Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1971525, No of RX Mirrored Frames : 1971525, No of TX Mirrored Frames : 0
In Flow Vision, frames can be sorted whether or not sub-flows are present. Sorting the output allows
you to highlight a selected aspect of the flow data.
To sort the flow output, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Use the flow--showflow_name-featurefeature_name-sortbycolumncolumn_num command.
The columncolumn_num value is the number of the output column on which the data is to be
sorted. There is no space between “column” and the column number.
NOTE
The -sortby parameter can only be applied when there is only one feature (monitor, mirror, or
generator) specified in the flow--showflow_name command.
26Flow Vision Administrators Guide
53-1003168-01
Flow Vision
Sorting a Flow Monitor flow
Flow Monitor flows only would nee d sorting if they are a learned flow, as sorting
with the dstdev and srcdev explicitly defined would not make sense because
there would be only one line of data in the output. The table headings have been
edited so that they will display more clearly in this document.
The following example creates the Flow Monitor flow “neutrons”, and then shows
the output sorted by column 4, the Destination ID.
--------------------------------------------------------=======================================================================================================
Name : neutrons Features: mon(Activated) noConfig: Off
Definition: EgrPort(1212),SrcDev(*),DstDev(*),SFID(*),DFID(*)
=======================================================================================================
Name : sortMirror Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(*),BiDir
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
Flow Vision allows you to delete either individual flows or all flows at one time.
When you delete a flow, the following actions occur:
• The specified flow is automatically deactivated before it is deleted.
• All instances of the specified flow are removed.
• Any sub-flows associated with the specified flow are removed.
• If the specified flow is a Flow Monitor or Flow Mirror flow, all flow statistics for it are automatically
cleared. If the specified flow is a Flow Generator flow, the statistics are retained.
• You are not asked to confirm the deletion, unless you use all as the flow name and do not use the force keyword. For example: flow--deleteall.
For more information on the flow--delete command, refer to the Fabric OS Command Reference.
Deleting flows
Flow Vision allows you to delete either a single flow or all flows.
Deleting a single flow
To delete any Flow Vision flow, complete the following steps.
28Flow Vision Administrators Guide
53-1003168-01
Deleting all flows at one time
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--deleteflow_name.
The named flow is immediately deleted and cannot be recovered.
The following example deletes a Flow Monitor flow named “Flow1”.
switch:admin> flow --delete Flow1
Deleting all flows at one time
To delete all Flow Vision flows at one time, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--deleteall.
You are then prompted to confirm this action.
3. Enter y.
All user-defined Flow Vision flows will be deleted and cannot be recovered. Predefined flows will not
be deleted, but they will be deactivated.
NOTE
You can compel the deletion of flows by adding the -force keyword to the command. Using this
keyword causes Flow Vision to not issue a confirmation prompt.
The following example deletes all flows without prompting you for confirmation.
switch:admin> flow --delete all -force
Resetting flow statistics
Flow Vision allows you to clear (reset) the flow statistics record for each feature individually or as a
group.
NOTE
Clearing the Flow Mirror statistics for a flow also clears the mirrored frames.
Clearing the statistics for all flow features
To clear all the statistics for a flow, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--resetflow_name-featureall.
You will not be asked to confirm this action.
The following example clears only the Flow Monitor statistics for the flow named
“Flow4”.
switch:admin> flow --reset Flow4 -feature monitor
Flow Vision Administrators Guide29
53-1003168-01
Clearing the statistics for a specific flow feature
Clearing the statistics for a specific flow feature
To clear the statistics for specified features of a flow, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--resetflow_name-featurefeature_list. Replace feature_list with either an individual
feature or a comma-separated list of features (for example, “generator,monitor” or “mir,mon”).
You will not be asked to confirm this action.
The following example clears only the Flow Monitor statistics for the flow named
“Flow4”.
switch:admin> flow --reset Flow4 -feature monitor
Flow Vision licensing
To run Flow Vision, you need either the Fabric Vision (FV) license, or both the Fabric Watch (FW) and
the Advanced Performance Monitor (APM) licenses. If you have both of these licenses, you do not
need a separate Flow Vision license.
Refer to the Fabric OS Software Licensing Guide for more specific information about licensing and
how to obtain the needed license keys.
Flow Vision configuration setup
When a switch goes offline or comes online, Flow Vision reads the configuration files and then deletes
flows, creates flows, and activates flows. After a switch goes offline, any flows that were active at the
time it went offline will be reactivated when it comes back online and new traffic will be generated as
soon as the source and destination devices defined in the flow are online. This includes predefined
flows.
Use the following commands to upload, download, and delete configurations:
• To download a Flow Vision configuration to the switch, use the configDownload command.
• To save the Flow Vision configuration to the host FTP site, use the configUpload command.
• To delete all flows and simulation ports (SIM ports) from a switch, use the configDefault command.
NOTE
Statistical data for flows is not saved in the configuration database.
System event handling
Flow Vision handles the following system events:
30Flow Vision Administrators Guide
53-1003168-01
Firmware upgrade and downgrade considerations
• When an E_Port or F_Port comes online (PORT_ONLINE), if the resources are available, any flows
specifying that port will be installed in the ASIC and made active. If the resources are not available,
the flow will stay deactivated.
• When an E_Port is changed (EPORT_CHANGE), if the resources are available, any flows specifying
that port will be installed in the ASIC and made active. If the resources are not available (for
example, if there is already a flow using that port), the flow will stay deactivated.
• When an F_Port is changed (FPORT_CHANGE), if the resources are available, any flows specifying
that port will be installed in the ASIC and made active. If the resources are not available (for
example, if there is already a flow using that port), the flow will stay deactivated.
An F_Port trunk has same trunk index for both the master and slave ports (as displayed in the output
for switchshow, below). In order to create the same flow definition on the master and slave ports
when portIdMode is set to “index”, the domain/Index can be obtained by using the porttrunkarea –
showall command (as shown below). If you create a flow using the trunk index, then depending
upon whether the trunk index maps to the master or the slave port the flow may or may not be
installed. If the slave port becomes the master, it will be installed.
switch:admin> switchshow
…
Index Port Address Media Speed State Proto
==================================================
…
4 4 010400 id N8 Online FC F-Port (Trunk master)
4 5 010400 id N8 Online FC F-Port (Trunk port, master is Port 4)
…
switch:admin> porttrunkarea --show all
Port Type State Master TI DI
• If a PID is changed for a WWN flow and the new PID does not match the PID in the flow definition,
the active flow will be uninstalled and then reinstalled with the updated PID in the flow definition.
Firmware upgrade and downgrade considerations
There are no restrictions on upgrading the firmware of a switch that has Flow Vision installed. However,
downgrading the firmware on a switch with Flow Vision installed will fail if any Flow Vision-related
configurations are present on the switch being downgraded. Both user-defined and system-defined
flows support the configuration upload and download procedures.
Flow Vision functionality will not be affected if a switch running Fabric OS 7.3.0 is connected to a switch
running Fabric OS 7.2.x. Connecting to a switch running any version of Fabric OS earlier than 7.2.0 will
disable Flow Vision.
Upgrade considerations
The following items should be taken into consideration when upgrading to Fabric OS 7.3.0:
• When moving a configuration from a switch running Fabric OS 7.2.x to one running 7.3.0, predefined
flows will be included automatically when the older configuration is downloaded to a switch running
Fabric OS 7.3.0, but they will remain deactivated after download.
• If the in-flight encryption and compression functionality is enabled, then any Flow Mirror flow active
before the upgrade will be deactivated after the upgrade and a RASlog entry displayed on the
console.
Flow Vision Administrators Guide31
53-1003168-01
High Availability and Flow Vision
Downgrade considerations
The following items should be taken into consideration when downgrading to a version of Fabric OS
earlier than 7.3.0:
• All Flow Vision-related flows or simulation ports must be deleted prior to performing a downgrade to
any version of Fabric OS prior to version 7.2.0; if they are not, the downgrade will be blocked and a
warning message displayed.
• Flow counts that exceed the supported scalability limits will not be replayed when downgraded or
failed over to a version of Fabric OS earlier than 7.3.0.
• Predefined flows will not be replayed, and flow definitions for newly introduced features will not be
replayed from the flow configuration.
• Downgrading from Fabric OS 7.3.0 is not allowed if a Flow Mirror flow is active for local flow
mirroring (LFM). You must first deactivate any active flow that is using a local mirror port.
• Flows that were created with the following keyword combinations are automatically deactivated.
‐-bidir and -frametype
‐-ingrport and -frametype
• Flows created using learning on E_Ports and EX_Ports will not be replayed after the downgrade.
• Flows created using monitor support on XISL ports will not be replayed after the downgrade.
• Flows will be deleted from memory configuration when firmware is downgraded.
High Availability and Flow Vision
High Availability (HA) preserves only the Flow Vision configuration settings through an HA failover, HA
reboot, or a power cycle and reboot. It does not save feature-related data (for example, statistics).
User-defined or system-defined (predefined) flows will not be restored if failed over to an earlier
version of Fabric OS.
If a standby command processor (CP) with a downgrade revision code comes online and any flows
(active or non-active) are configured, the HA will be out of sync. If a standby CP with a downgrade
revision code comes online and no flows (active or non-active) are configured, HA will be in sync but
flow creation will fail.
Refer to the following sections for information on how each feature is treated under HA:
• Flow Monitor and High Availability on page 57
• Flow Generator and High Availability on page 73
• Flow Mirror and High Availability on page 90
Flow Vision integration with MAPS
Statistics generated using Flow Vision can be monitored with the Monitoring and Alerting Policy Suite
(MAPS) threshold service.
Refer to the individual features for information on how that feature interacts with MAPS, and the
Monitoring and Alerting Policy Suite Administrator's Guide for more details on MAPS in general.
32Flow Vision Administrators Guide
53-1003168-01
Flow Monitor
● Overview of Flow Monitor ...............................................................................................33
Flow Monitor enables you to monitor all the traffic passing through E_Ports, EX_Ports, F_Ports, and
XISL_Ports using any hardware-supported flow parameters. It also lets you define your own monitoring
flows using combinations of ingress and egress ports, source and destination devices, logical unit
numbers (LUNs), and frame types to create a flow definition for a specific use case.
Flow Monitor provides support for monitoring the following flows and traffic:
• Learning and static flows for traffic passing through E_Ports and F_Ports
• Learning and static flows monitoring edge-to-edge traffic, edge-to-backbone traffic, and backbone-toedge traffic passing through EX_Ports
• Learning and static flows monitoring traffic inside logical fabrics and inter-fabric (routed) traffic
passing through XISL_Ports
• Learning and static flows monitoring inter-fabric traffic and backbone traffic passing through
backbone E_Ports
In Fabric OS 7.1.x and earlier, the Advanced Performance Monitor (APM) provided the following
monitors: End-to-End, Frame-based, ISL, and Top Talker. In Fabric OS 7.3.0, Flow Monitor provides
you with the following abilities in addition to those provided by the APM monitors:
• Monitoring of application flows (for example, a flow within a fabric from a Host to a Target/LUN) at a
given port.
• Comprehensive visibility into application flows in a fabric, including the ability to learn (discover) flows
automatically.
• When N_Port ID Virtualization (NPIV) is used on the host, you can monitor VM (Virtual Machine)-toLUN level performance.
• Capturing statistics for specified flows, which provides insights into application performance. These
statistics include transmitted and received frame counts, transmitted and received frame throughput
rates, SCSI Read and SCSI Write frame counts, the number of SCSI Reads and Writes per second
(IOPS), as well as others.
Flow Vision Administrators Guide
53-1003168-01
33
Replicating APM monitors using Flow Monitor
A sample use case would be to monitor throughput statistics for inbound traffic between a source
device and a destination device. Monitoring LUN level statistics on page 52 provides an example
of the command and the results for this use case.
• Monitoring of various frame types at a switch port to provide deeper insights into storage I/O access
patterns at a LUN, reservation conflicts, and I/O errors. Examples of the frame types that can be
monitored include SCSI Aborts, SCSI Read, SCSI Write, SCSI Reserve, all rejected frames, and
many others. Refer to Flow frametype parameters on page 19 for a list and description of the frame
types that can be monitored.
• The SCSI Read/Write Frame Count and SCSI Read/Write Data statistics are supported only for
F_Ports for any flow configuration where either srcdev or dstdev exists on the switch, and the flow is
defined using a combination of srcdev, dstdev, ingrport, or egrport (with or without bidir), or a
combination of srcdev, dstdev, lun, ingrport, or egrport.
• Integration with the Monitoring and Alerting Policy Suite (MAPS) service to enable threshold-based
monitoring and alerting based on flows. Refer to the Monitoring and Alerting Policy SuiteAdministrator's Guide for more information on integration with MAPS.
Replicating APM monitors using Flow Monitor
It is possible to replicate standard Advanced Performance Monitor (APM) functionality using Flow
Monitor.
For information on replicating standard APM functionality using Flow Monitor, refer to the following
links:
• Creating an end-to-end monitor equivalent on page 55
• Creating a frame monitor equivalent on page 55
• Creating an ingress or egress Top Talker monitor equivalent on page 56
• Creating an end-to-end monitor equivalent on page 55
Creating Flow Monitor flows
To create a Flow Monitor flow, enter the flow--createflowname-feature monitorparameters
command using the parameters listed in the following table. The figure Frame and port parameters on
page 17 illustrates how the frame and port parameters apply to a flow.
Flow Monitor flow parameter combinations TABLE 7
ParametersField namesDescription
Portingrport
egrport
Framesrcdev
dstdev
lun
frametype
• One field only must be specified
• Values must be explicit
• Can be an F_Port, E_Port, or EX_Port on a local switch
• At least one field must be specified
• Values for srcdev and dstdev can be explicit or "*" ("*" indicates
learned flows)
-bidirAdding this keyword makes the application monitor traffic in both
-noactivateAdding this keyword creates the flow without activating it.
-noconfigAdding this keyword creates the flow without saving the flow to the
directions.
configuration.
Parameter usage exceptions
The following restrictions apply to parameter usage in Flow Monitor flow definitions:
• The -lun and -bidir parameters cannot be used together in a flow definition.
• Flow Monitor does not support learning flows using the -frametype, -lun, or -bidir parameters.
The following example creates a Flow Monitor flow named “Flow1” that monitors all traffic flowing from
device 010403 to device 020504 ingressing through port 10 on the switch on which this command was
run.
When you create a flow, it is automatically activated unless you use the -noactivate keyword as part of
the flow--create command. Refer to Creating an inactive flow in Flow Monitor on page 35 for an
example of this option.
ATTENTION
Flow creation is not allowed if Advanced Performance Monitor (APM) or Port Mirroring is enabled.
Similarly, APM and Port Mirroring-related operations will not be allowed if any flow (active or defined) is
present on the switch.
Creating an inactive flow in Flow Monitor
The reason to create an inactive flow is to have it ready for future use. To create an inactive Flow
Monitor flow, enter flow--createflowname-featurefeature_listflow_parameters-noactivate.
The following example creates an inactive Flow Monitor flow named “sflow128” from device 020a00 to
device 01c000 ingressing through port 10.
For information on activating an inactive Flow Monitor flow, refer to Activating Flow Monitor flows on
page 36.
Flow Vision Administrators Guide35
53-1003168-01
Activating Flow Monitor flows
Activating Flow Monitor flows
To activate an inactive Flow Monitor flow, enter flow--activateflowname-feature monitor. Activating
a flow automatically clears all the flow statistics for that flow.
The following example activates the Flow Monitor flow named “Flow1”:
Flow Monitor automatically activates monitoring flows under the following conditions:
• On flow creation, unless the flow is created using the -noactivate keyword.
• On slot power-on, if any of the ports or devices defined in the flow are on the slots being powered
on. This assumes that the flow was active when the slots were powered off.
• On a High Availability (HA) failover, HA reboot, or a power cycle, if the flow was active when the
event occurred.
Deactivating Flow Monitor flows
You can deactivate Flow Monitor flows without deleting them. This allows you to create and store a
“library” of flows that you can activate when needed without having to recreate them every time they
are needed.
To deactivate a Flow Monitor flow, enter flow--deactivateflow_name-feature monitor.
NOTE
You can deactivate a single feature even though the flow is defined for multiple features. For example,
if a flow had been defined using “-feature monitor,generator”, you can deactivate only the monitoring
feature, while leaving the generator feature active.
The following example deactivates the Flow Monitor flow named “Flow1”.
Flow Vision automatically deactivates Flow Monitor flows and stops monitoring if any of these
conditions occur:
• Slot is powered off for the ingress or egress ports defined in the flow.
• Slot is powered off for the source or destination devices defined in the flow.
• The ingress or egress port type changes to anything other than an E_Port, EX_Port, XISL_Port,
F_Port, or SIM port for a learned flow ("*"). The flow will not automatically reactivate if the port type
is changed back. You must manually reactivate such a flow.
• The ingress or egress port type changes to anything other than an E_Port, EX_Port, XISL_Port,
F_Port, or SIM port for a flow that has the lun or frametype value specified. The flow will not
automatically reactivate if the port type is changed back. You must manually reactivate such a flow.
36Flow Vision Administrators Guide
53-1003168-01
Viewing Flow Monitor flows
To display Flow Monitor flows, enter flow--showflowname-feature monitor.
The displayed information includes:
• Frame Statistics: Frame count and rate for the flow-defined frame type
• Throughput Statistics: Word count and throughput (bytes per second)
• I/O Statistics: I/O count, I/O per second, and I/O data transferred on a read/write basis
• Learn Statistics: All learned ("*") flows on a given port and the throughput and frame statistics for
each learned flow on 16 GBps-capable Fibre Channel platforms
You can also repeat and sort the output of a Flow Monitor flow. For information on these tasks, refer to
Repeating flow output on page 22 and Sorting flow output on page 26.
For illustrations of flow--show command output, refer to Flow Monitor examples on page 52.
Learning in Flow Monitor flows
Viewing Flow Monitor flows
You can apply learning in Flow Monitor flows in order to discover flow traffic. To apply learning to a Flow
Monitor flow, you enter an asterisk inside quotation marks ("*") as the parameter value for the
parameter to be learned.
The following list outlines the support for learning on various port types:
• F_Ports. Learning and static monitoring is supported.
• E_Ports. Learning and static monitoring is supported.
• EX_Ports. Learning and static monitoring is supported.
• XISL_Ports. Fabric wide learning and static monitoring is supported.
• Backbone E_Ports. Learning and static monitoring is supported.
• Trunked ports. Learning is supported, although statistics will be gathered only on the flow associated
with the master port. These statistics are the cumulative total of all the ports on the trunk.
Notes on learning in Flow Monitor flows
The following items apply to learning in Flow Monitor flows:
• Only Gen 5 (16 Gbps-capable) Fibre Channel platforms and 8 Gbps Enhanced blades have the
capability to learn flows on a specified port.
• Only one active flow per ASIC can be a learning flow.
• Using two flows to monitor traffic ingressing and egressing on the same ASIC is only supported if
both flows are static. If one flow is a learning flow, only the static flow will count frames.
• You can use either a WWN or a PID for the srcdev and dstdev values when creating learning flows
for Flow Monitor.
Creating Flow Monitor learning flows
Using learning flows in Flow Monitor allows you to discover flow traffic without having to identify specific
devices or ports.
Refer to Monitoring flows using the learning functionality on page 53 to view how to display the data
captured using a learning flow.
Flow Vision Administrators Guide37
53-1003168-01
Learning Flow creation on offline or slave ports
To create a leaning flow in Flow Monitor, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--createflow_name-feature monitorport_values , using an asterisk in quotes ("*") for
those port and device values you want to be learned.
The following example creates a Flow Monitor learning flow named “ingressTT”
ingressing through port 30 (an E_Port).
The following example creates a Flow Monitor learning flow named
“ex_lrn_ingr” which captures traffic ingressing through port 219 headed for
device 20:13:00:05:33:88:a3:90.
Flows can be created that specify either an inactive or slave port in their definitions, but activation is
controlled not only by the port status, but by available resources and flow count limits.
• When a flow is created on an offline port, the flow is considered inactive until the port comes online.
However, the flow would only be installed in the ASIC and made active if the resources are
available. If the resources are not available the flow would remain deactivated.
• When a flow is created on a slave port, the flow is considered inactive until the port becomes the
master port. However, the flow would only be installed in the ASIC and made active if the resources
are available. If the resources are not available, the flow would remain deactivated.
Flow Monitor learning on E_Ports and EX_Ports
Flow Monitor supports learning and monitoring all the traffic passing through both E_Ports and
EX_Ports. The captured statistics are similar to the existing learning support provided for F_Ports.
As it is for F_Ports, learning is supported on trunked E_Ports and EX_Ports, and statistics are
gathered only on the flow associated with the master port. These statistics are the cumulative total
from all of the trunked ports. For this reason, you should create and use the same flow definition for
each of the ports in the trunk. You can use either a WWN or a PID value for the srcdev and dstdev
identifiers when creating learning flows.
While the source fabric ID to destination fabric ID option is allowed on any E_Port, it is needed only for
Backbone E_Ports and the XISL_Ports. If the source fabric ID to destination fabric ID combination is
configured on an edge E_Port learning flow, it will display the same source fabric ID to destination
fabric ID combination for all learned flows.
38Flow Vision Administrators Guide
53-1003168-01
Configuring Flow Monitor for a trunk group
FIGURE 2 Learning support in a Fibre Channel Routing fabric
The fixed parameters of a learning flow on an E_Port or an EX_Port should use the following
combinations when defining flows using specific ingress or egress ports:
• For flows using an ingress port (ingrport), the real source ID of the source device and the proxy ID of
the destination device.
• For flows using an egress port (egrport), the proxy ID of the source device and the real destination ID
of the destination device.
The flow--show output for an E_Port or an EX_Port will use the flow definition; in this output the proxy
ID of the destination device will be reported for flows defined using the ingress port, and the proxy ID of
the source device will be reported for flows defined using the egress port.
Monitoring flows using the learning functionality on page 53 provides examples of both the flow
command and the flow output.
Configuring Flow Monitor for a trunk group
Flow Monitor supports monitoring trunk ports subject to the following conditions:
• You must create the same flow on all trunk member ports.
• If you create a flow on a slave port without using the -noactivate keyword with the flow command,
this flow is then automatically activated when the slave port becomes the master port.
• After a switch initialization or a recovery (cold or warm), existing flows are re-created on both master
and slave ports, but only those flows associated with the master port are activated.
To configure Flow Monitor on a trunk group, use the following steps.
1. Identify your trunk group members using the switchshow command.
2. Create individual flow monitors for each member of the trunk group using the flow-create command.
Flow Vision Administrators Guide39
53-1003168-01
Monitoring Fibre Channel routed fabrics
NOTE
You cannot create a learned flow in a trunk group.
3. Enter flow--showflow_name-feature monitor to view the Flow Monitor statistical data for the
entire trunk group.
NOTE
The accumulated Flow Monitor statistical data for the entire trunk group is stored on the master
port. If the master port changes, the data is transferred to the new master port. To view this data,
you must run the flow--show command on a flow that is defined using the master port. Flow
statistics are not displayed for slave trunk ports.
The following example displays the trunked ports and then creates four flows,
one for each member of the trunk group identified by the switchshow
command.
switch:admin> switchshow
24 24 021800 id N16 Online FC E-Port 10:00:00:05:33:e5:3c:d4 "Odin" (downstream)(Trunk master)
25 25 021900 id N16 Online FC E-Port (Trunk port, master is Port 24)
26 26 021a00 id N16 Online FC E-Port (Trunk port, master is Port 24)
27 27 021b00 id N16 Online FC E-Port (Trunk port, master is Port 24)
When you are monitoring Fibre Channel-routed fabrics, you should keep the following points in mind:
• When monitoring a FC-routed fabric, you may find it simpler to use port WWNs rather than proxy
IDs in your flow definitions. This is because you do not need to locate and map the proxy IDs for the
actual source and destination devices.
• When creating flow monitors on EX_Ports, you can use either a WWN or a Fibre Channel ID (FCID)
for the source device (srcdev) and destination device (dstdev).
• Inter-Fabric Link (IFL) flows can be monitored only on 16 Gbps-capable EX_Ports in a Fibre
Channel router.
• IFL flows are not supported on E_Ports or F_Ports.
• Even though a flow definition is always created in the backbone fabric, the perspective of the flow is
from the edge fabric.
Monitoring FC router fabrics using port WWNs
The following figures and their descriptions illustrate how port IDs are assigned in Fibre Channel router
fabrics using World Wide Names (WWNs). Use the flow--control-deviceidmodewwn command to
set the mode to WWN.
The following figure identifies the physical devices as A, B, and C, and shows that they have the port
WWNs a, b, and c, respectively.
40Flow Vision Administrators Guide
53-1003168-01
Monitoring an edge-to-edge flow through an ingress port identified by a WWN
FIGURE 3 A Fibre Channel router fabric
The following figure provides the port WWN values for the physical devices and port WWNs.
FIGURE 4 A Fibre Channel router fabric annotated with port WWN values
Monitoring an edge-to-edge flow through an ingress port identified by a WWN
In a network set up as shown in Figure 4 on page 41, for a flow passing from Device A to Device B that
is ingressing through EX_Port1, the source device (srcdev) is port “WWN a”, the destination device
(dstdev) is port “WWN b”, and the ingress port (ingrport) is EX_Port1. (Traffic is running from right to
left, and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters frames passing from one edge fabric to another edge
fabric using a specific ingress port on the backbone. The first command shows the available ports and
the available Fibre Channel routers. The second command creates a Flow Monitor flow named
“e2e_src_dcx_wwn” between device 10:00:00:05:1e:e8:e2:00 and device 20:00:00:11:0d:e4:18:00
ingressing through port 219, and the last command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
Flow Vision Administrators Guide41
53-1003168-01
Monitoring an edge-to-edge flow through an egress port identified by a WWN
Monitoring an edge-to-edge flow through an egress port identified by a WWN
In a network set up as shown in Figure 4 on page 41, for a flow passing from Device B to Device A
that is egressing through EX_Port1, the source device (srcdev) is port “WWN b”, the destination
device (dstdev) is port “WWN a”, and the egress port (egrport) is EX_Port1. (Traffic is running from
right to left, and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters out frames passing from one edge fabric to another
edge fabric using a specific egress port on the backbone. The first command shows the available ports
and the available Fibre Channel routers. The second command creates a Flow Monitor flow named
“e2e_dst_dcx” between device 20:00:00:11:0d:e4:18:00 and device 10:00:00:05:1e:e8:e2:00
egressing through port 219, and the last command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
Monitoring a backbone-to-edge flow identified by WWNs
In a network set up as shown in Figure 4 on page 41, for a flow passing from Device C to Device A that
is egressing through EX_Port1, the source device (srcdev) is port “WWN c”, the destination device
(dstdev) is port “WWN a”, and the egress port (egrport) is EX_Port1. (Traffic is running from right to left,
and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters out frames passing from the backbone fabric to an
edge fabric using a specific egress port. The first command shows the available ports and the available
Fibre Channel routers. The second command creates a Flow Monitor flow named “b2e_dst_dcx”
between device 20:02:00:11:0d:51:00:00 and device 10:00:00:05:1e:e8:e2:00 egressing through port
219, and the last command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
Monitoring an edge-to-backbone flow identified by WWNs
\ -------------------------------------\ |- |219 |no |- |- |
\ ------------------------------------- + Denotes feature is currently activated for the flow
DCX_Backbone128:admin> flow --show b2e_dst_dcx -feature monitor
===========================================================================
Name : b2e_dst_dcx Features: mon(Active) noConfig: Off
Definition: EgrPort(219),SrcDev(20:02:00:11:0d:51:00:00),
DstDev(10:00:00:05:1e:e8:e2:00)
Monitoring an edge-to-backbone flow identified by WWNs
In a network set up as shown in Figure 4 on page 41, for a flow passing from Device A to Device C
that is ingressing through EX_Port1, the source device (srcdev) is port “WWN a”, the destination
device (dstdev) is port “WWN c”, and the ingress port (ingrport) is EX_Port1. (Traffic is running from
right to left, and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters out frames passing from an edge fabric to the
backbone fabric using a specific ingress port. The first command shows the available ports and the
available Fibre Channel routers. The second command creates a Flow Monitor flow named
“e2b_src_dcx” between device 10:00:00:05:1e:e8:e2:00 and device 20:02:00:11:0d:51:00:00
egressing through port 219, and the last command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto \
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
\
\ "Wasp_e2" (fabric id=50)(Trunk master)
\
\ "Gnat_e1" (fabric id=100)(Trunk master)
\ "fcr_xd_2_100"
Monitoring Fibre Channel router fabrics using proxy IDs
The following figures and their descriptions illustrate how port IDs (PIDs) are assigned in Fibre Channel
router fabrics using proxy IDs. Use the flow--control-deviceidmodepid command to set the mode to
PID mode.
In the following figure, the physical devices are labeled A, B, and C. The proxy devices are the devices
labeled A′, B′, C′, A″, B″, and C″, representing the physical devices A, B, and C, respectively.
FIGURE 5 An FC router fabric
The following figure provides the port ID, fabric ID, and proxy port ID values for the following examples.
FIGURE 6 An FC router fabric annotated with PID, FID, and proxy PID values
NOTE
The proxy port ID values for devices B″ and C″ were not generated for the examples, and so are
marked “xxxxxx” in this figure.
Flow Vision Administrators Guide45
53-1003168-01
Monitoring an edge-to-edge flow through an ingress port identified by a proxy ID
Monitoring an edge-to-edge flow through an ingress port identified by a proxy ID
In a network set up as shown in Figure 6 on page 45, for a flow passing from Device A to Device B
that is ingressing through EX_Port1, the source device (srcdev) is Device A, the destination device
(dstdev) is Device B′, and the ingress port (ingrport) is EX_Port1. (Traffic is running from left to right,
and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters frames passing from one edge fabric to another edge
fabric using a specific ingress port on the backbone. Notice that this is running in port WWN (portwwn)
mode rather than device ID (deviceid) mode. The first two commands show the available ports and the
available Fibre Channel routers. The third command creates a Flow Monitor flow named
“e2e_src_dcx_wwn” between device 220200 and device 01f001 ingressing through port 219, and the
last command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto \
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
\
\"Wasp_e2" (fabric id=50)(Trunk master)
\
\"Gnat_e1" (fabric id=100)(Trunk master)
\"fcr_xd_2_100"
DCX_Backbone128:admin> fcrproxydevshow
Proxy WWN Proxy Device Physical State
Created PID Exists PID
in Fabric in Fabric
===========================================================================
Name : e2e_src_dcx_wwn Features: mon(Active) noConfig: Off
Definition: IngrPort(219),SrcDev(220200),DstDev(01f001)
Flow Monitor (Activated):
Monitor time: | Mon Jun 17 14:59:58 UTC 2013 |
Monitoring an edge-to-edge flow through an egress port identified by a proxy ID
In a network set up as shown in Figure 6 on page 45, for a flow passing from Device B to Device A that
is egressing through EX_Port1, the source device (srcdev) is Device B′, the destination device (dstdev)
is Device A, and the egress port (egrport) is EX_Port1. (Traffic is running from left to right.)
The following example creates a flow that filters out frames passing from one edge fabric to another
edge fabric using a specific egress port on the backbone. The first two commands show the available
ports and the available Fibre Channel routers. The third command creates a Flow Monitor flow named
“e2e_dst_dcx” between device 01f001 and device 220200 egressing through port 219, and the last
command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto \
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
\
\ "Wasp_e2" (fabric id=50)(Trunk master)
\
\ "Gnat_e1" (fabric id=100)(Trunk master)
\ "fcr_xd_2_100"
DCX_Backbone128:admin> fcrproxydevshow
Proxy WWN Proxy Device Physical State
Created PID Exists PID
in Fabric in Fabric
==========================================================================
Name : e2e_dst_dcx Features: mon(Active) noConfig: Off
Definition: EgrPort(219),SrcDev(0x01f001),DstDev(0x220200)
Flow Monitor (Activated):
Monitor time: | Mon Jun 17 14:59:58 UTC 2013 |
Monitoring a backbone-to-edge flow identified by proxy IDs
In a network set up as shown in Figure 6 on page 45, for a flow passing from Device C to Device A
that is egressing through EX_Port1, the source device (srcdev) is Device C′, the destination device
(dstdev) is Device A, and the egress port (egrport) is EX_Port1. (Traffic is running from left to right,
and the flow definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters out frames passing from the backbone fabric to an
edge fabric using a specific egress port. The first two commands show the available ports and the
available Fibre Channel routers. The third command creates a Flow Monitor flow named
“b2e_dst_dcx” between device 02f001 and device 220200 egressing through port 219, and the last
command displays the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto \
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
219 10 27 01db00 id N16 Online FC F-Port 20:02:00:11:0d:51:00:00 \
FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
\
\ "Wasp_e2" (fabric id=50)(Trunk master)
\ "Wasp_e2" (fabric id=50)(Trunk master)
\ "Gnat_e1" (fabric id=100)(Trunk master)
\ "fcr_xd_2_100"
DCX_Backbone128:admin> fcrproxydevshow
Proxy WWN Proxy Device Physical State
Created PID Exists PID
in Fabric in Fabric
Monitoring an edge-to-backbone flow identified by proxy IDs
In a network set up as shown in Figure 6 on page 45, for a flow passing from Device A to Device C that
is ingressing through EX_Port1, the source device (srcdev) is Device A, the destination device (dstdev)
is Device C′, and the ingress port (ingrport) is EX_Port1. (Traffic is running from left to right, and the flow
definitions are based on the Edge 1 Fabric’s perspective.)
The following example creates a flow that filters out frames passing from an edge fabric to the
backbone fabric using a specific ingress port. The first two commands show the available ports and the
available Fibre Channel routers. The third command creates a Flow Monitor flow named “e2b_src_dcx”
between device 220200 and device 02f001 egressing through port 219, and the last command displays
the results of the flow.
NOTE
The slash character (\) in the example indicates a break inserted because the output is too long to
display here as a single line.
DCX_Backbone128:admin> switchshow |grep Port
Index Slot Port Address Media Speed State Proto \
37 3 5 012500 id N16 Online FC EX-Port 10:00:00:05:33:ef:f1:1c \
47 3 15 012f00 id N8 Online FC F-Port 20:02:00:11:0d:51:00:00 \
219 10 27 01db00 id N16 Online FC EX-Port 10:00:00:05:33:ee:d0:a5 \
E-Port 50:00:51:e4:91:9e:0f:28 \
\
\ "Wasp_e2" (fabric id=50)(Trunk master)
\
\ "Gnat_e1" (fabric id=100)(Trunk master)
\ "fcr_xd_2_100"
DCX_Backbone128:admin> fcrproxydevshow
Proxy WWN Proxy Device Physical State
Created PID Exists PID
in Fabric in Fabric
Flow Monitor provides support for both learning and static monitoring of fabric-wide statistics on both
XISL_Ports and Backbone E_Ports.
Output created using the flow--show command for a flow using an XISL_Port or a Backbone E_Port
displays actual device PIDs and the edge fabric FIDs for Edge-to-Edge traffic, and PIDs with reference
to the backbone fabric and backbone fabric FID for Edge to Backbone traffic. You can use this data to
estimate the logical fabric or inter-fabric utilization of an XISL_Port or a Backbone E_Port, as shown in
the following figures.
The following restrictions apply to XISL and Backbone E_Port monitoring:
• IFL flows cannot be monitored if the source fabric ID and destination fabric IDs are not specified. If
these are not specified, the devices will not be known in the backbone fabric and the flow will be
treated as a flow with end devices “offline”.
• Flows without the source fabric ID and destination fabric IDs specified will work only for flows on the
same fabric. IFL traffic will not be monitored (except in the case of Backbone-to-Edge flows, where
the flow is deemed to be in same fabric).
• Only the combinations specified in the following table can be configured.
XISL and Backbone E_Port monitoring combinationsTABLE 8
SrcdevDstdevSFID DFID PortDescription
Not
specified
Not
specified
****Ingress or EgressThis combination monitors frame statistics on
Not
specified
Not
specified
FixedFixedIngress or EgressThis combination monitors frame statistics for
traffic using the specified port from the specified
SFID to the specified DFID.
**Ingress or EgressThis combination monitors frame statistics on
the specified port for traffic from all SFIDs to all
DFIDs.
the specified port for traffic from all SFIDs to all
DFIDs, and records the device IDs associated
with the traffic.
50Flow Vision Administrators Guide
53-1003168-01
FIGURE 7 Monitoring fabric statistics on an XISL_Port
Flow Monitor
Learning support for XISL_Ports and Backbone E_PortsTABLE 9
Learned
traffic
Intra-fabric
traffic
Inter-fabric
traffic
Backbone E_PortsXISL_Ports
Only Backbone fabric traffic is learned.Logical fabric traffic is learned.
Edge-to-edge, Backbone-to-edge, and edge-to-Backbone
traffic is learned.
Edge-to-edge traffic only is
learned.
The following figure shows fabric-based monitoring on a Backbone E_Port between BB1 and BB2.
FIGURE 8 Fabric-based monitoring on a Backbone E_Port
Refer to XISL_Port or Backbone E_Port flow examples on page 54 to see examples of the flow
creation and output for this type of flow.
Flow Vision Administrators Guide51
53-1003168-01
Flow Monitor examples
Flow Monitor examples
The following examples display how to use the Flow Monitor feature.
Monitoring LUN level statistics
A common use of flow monitors is to monitor traffic flowing from a particular ingress port to a specified
LUN.
The following example creates a flow named “lunFlow11” that monitors traffic ingressing on port 5
between device 010502 and device 030700 using LUN 4, and then displays the results of that flow.
The figure provides an illustration of what is happening in the example.
Viewing summary flow data for a specific device pair
The following example creates a Flow Monitor flow gathering statistics for frames ingressing through
port 30 between device 010000 and device 010100, and then displays the results. The point of interest
in this example is port 30; it can be an E_Port, EX_Port, or F_Port.
------------------------------------------------------------------------------------------------- + Denotes feature is currently activated for the flow
The following example illustrates using the learning functionality for flow monitoring on an E_Port. The
defined flow will monitor for frames ingressing on port 30 between all devices. The example then shows
the flow output.
The following example illustrates using the learning functionality for flow monitoring on an EX_Port. The
defined flow will monitor for frames ingressing on port 219 headed for device 20:02:00:11:0d:51:00:00.
The example then shows the flow output.
switch10:FID128:admin> flow --show fm -feature monitor
===========================================================================
Name : fm Features: gen(Activated),mon(Activated) noConfig: Off
Definition: EgrPort(11),SFID(70),DFID(70)
Flow Monitor (Activated):
Monitor time: | Thu Oct 31 23:48:30 UTC 2013 |
You can create monitoring flows in Flow Vision that provide similar functionality to those available
through Advanced Performance Monitor (APM). The following examples cover creating Flow Monitor
equivalents for an end-to-end monitor, a frame monitor, and an ingress or egress Top Talker monitor.
Creating an end-to-end monitor equivalent
You can use the -bidir keyword with the flow command to create the equivalent to an end-to-end
monitor.
The following example creates a bidirectional Flow Monitor flow between device 02d8c0 and device
023a00 egressing port 4/10 of the switch on which the command is running.
You can use the -frametype parameter as part of the flow command to create the equivalent to an
APM monitor created using the fmmonitor command.
The following example creates a Flow Monitor flow that counts SCSI Read-Write (scsirw) frames
egressing port 2 of the switch on which the command is running.
switch:admin> flow --create scsirw -fe mon -egrport 2 -frametype scsirw
Monitor feature(s) have been activated.
Creating an ingress or egress Top Talker monitor equivalent
You can use the learning flow ("*") parameter to create the equivalent to a legacy Top Talker monitor.
A Top Talker monitor is used to identify high-volume flows passing a port.
The following example creates both an ingress and an egress Top Talker monitor. The first command
creates a Flow Monitor learning flow named “ingresstt” for all frames between any devices ingressing
through port 41 of the switch on which the command is running. The second command creates a Flow
Monitor learning flow named “egresstt” for all frames between any devices egressing through port 30
of the switch on which the command is running.
switch:admin> flow --create ingresstt -feature monitor -ingrport 41 -srcdev "*" -dstdev "*"
Monitor feature(s) have been activated.
switch:admin> flow --create egresstt -feature monitor -egrport 30 -srcdev "*" -dstdev "*"
Monitor feature(s) have been activated.
-------------------------------------------------------------------------------------- + Denotes feature is currently activated for the flow
=========================================================================
switch:admin> flow --show ingresstt
=========================================================================
Name : ingresstt Features: mon(Activated) noConfig: Off
Definition: IngrPort(41),SrcDev(*),DstDev(*)
Flow Monitor (Activated):
Monitor time: | Fri Aug 30 23:44:58 UTC 2013 |
Note: Statistics are provided for the aggregate traffic generated to the specified SIM-port.
No traffic is actually transmitted out on the SIM-port.
=======================================================================
56Flow Vision Administrators Guide
53-1003168-01
Flow Monitor and High Availability
When a High Availability (HA) failover, High Availability reboot, or a power cycle occurs, all flows are
deactivated, and statistics for all Flow Monitor flows are not retained. Flow Monitor will begin to gather
statistics again when the standby control processor becomes active. After the device is back online,
only the first 64 Flow Monitor sub-flows that can be learned are reactivated. Flow Monitor always
recreates these sub-flows based on the order in which the switch learns the flows.
Refer to High Availability and Flow Vision on page 32 for more information.
Flow monitors and MAPS
Flow Monitor statistics can be used by the Monitoring and Alerting Policy Suite (MAPS) service. This
can help you identify critical administrative information such as traffic patterns, bottlenecks, and slow
drains. Refer to the Monitoring and Alerting Policy Suite Administrator's Guide for more details.
Flow Monitor and High Availability
Flow monitors on Access Gateways
Access Gateways support flow monitoring on ingress F_Ports only. The CLI and outputs are exactly the
same as for a switch.
NOTE
Enabling WWN device ID mode is blocked on Access Gateways. This means that the -deviceIdMode
WWN keyword is not permitted as part of the flow command, so the device ID mode always remains
“PID” on Access Gateways.
Flow Monitor limitations
The following limitations apply to all Flow Monitor flows:
• Only one active learned flow is supported per ASIC.
• Learning is supported only on 16 Gbps-capable Fibre Channel platforms.
• The frame type parameters scsiread, scsiwrite, and scsirdwr monitor only SCSI 6-, 10-, 12-, and 16bit Read and Write values. Read Long and Write Long values cannot be monitored.
• Flow Monitor is not supported on ports with Encryption or Compression enabled.
• IFL flows can be monitored only on EX_Ports in a Fibre Channel router.
• Flow Monitor cannot monitor Inter-Fabric Link (IFL) flows on E_Ports or F_Ports.
• Flow Monitor cannot monitor flows that are using frame redirection for encryption.
• Flow Monitor flows cannot be converted to Fabric OS 7.1.x flow performance monitors.
Flow Vision Administrators Guide57
53-1003168-01
Flow Monitor
• The calculated Rx and Tx frame size values displayed in the output are accurate within a range of
-4 through +8 bytes. For example, a frame size value of 256 bytes may actually be anywhere from
252 to 260 bytes in size.
• For Flow Monitor flows passing through the base switch in a VF-enabled fabric the source fabric ID
(SFID) and destination fabric ID (DFID) values must be specified when the flow is defined.
The following limitations apply to 16 Gbps-capable Fibre Channel platforms, including the Brocade
FC8-32E and FC8-48E blades:
• They support a maximum of 2 flows defined using a combination of ingress port and frame type
parameters per ASIC chip.
• Each port supports a maximum of 12 flows defined using both egress port and frame type
parameters.
• Flow Monitor can only monitor flows that are using EX_Ports.
The following limitations apply to 8 Gbps-capable Fibre Channel platforms and blades:
• They do not support monitoring flows using both ingress port and frame type parameters.
• Each port supports a maximum of 12 flows defined using both egress port and frame type
parameters, except for the Brocade 300, 5300, 5410, 5424, 5450, 5460, 5470, 5480, 7800 and
7840 platforms, which support a maximum of 8 flows per port.
• They cannot show statistics for SIM ports.
• They do not support learning.
58Flow Vision Administrators Guide
53-1003168-01
Flow Generator
● Overview of Flow Generator .......................................................................................... 59
● Commands related to Flow Generator ........................................................................... 70
● SIM port attributes and configuration.............................................................................. 71
● Sending traffic using a Fabric Assigned WWN............................................................... 73
● Flow Generator and High Availability.............................................................................. 73
● Flow Generator and MAPS............................................................................................. 73
● Flow Generator limitations and considerations............................................................... 74
Overview of Flow Generator
Flow Generator is a test traffic generator designed to allow you to pre-test a SAN infrastructure
(including internal connections) for robustness before deploying it.
CAUTION
You should not use Flow Generator in an active production environment, as the Flow Generator
traffic can saturate the links and will impact the production traffic sharing the same links.
Flow Generator provides you with the ability to:
• Configure a 16 Gbps Gen 5 Fibre Channel-capable port as a simulated device that can transmit
frames at full 16 Gbps line rate.
• Emulate a 16 Gbps SAN without actually having any 16 Gbps hosts or targets or SAN-testers.
• Pre-test the entire SAN fabric at the full line rate, including optics and cables on ISLs as well as
internal connections within a switch.
Flow Generator achieves this using simulation mode (SIM) ports. SIM ports behave like normal F_Ports,
but are used only for testing. By using SIM ports, Flow Generator traffic is terminated at the destination
port and does not leave the switch. Refer to SIM port attributes and configuration on page 71 for more
information on SIM ports.
Flow Generator can generate standard frames or create custom frames with sizes and patterns you
specify. A sample use case would be to create a traffic flow from a Source ID (SID) to a Destination ID
(DID) to validate routing and throughput. Creating a flow from a specific source ID to a specific
destination ID on page 68 provides an example of the command and the results for this use case.
Flow Generator supports predefined flows to generate traffic between all configured SIM ports. Fabric
OS 7.3.0 supports 36 Virtual Channels (VCs), and balances the traffic generated from a SIM port to
multiple destinations by transmitting traffic using the same number of VCs for each destination.
Flow Vision Administrators Guide
53-1003168-01
59
Flow Generator setup
Once you activate a Flow Generator flow, the flow will stay active until you deactivate the flow. The
flow stays active even though the SID and DID SIM-ports are offline. As soon as SID and DID SIMports are online, traffic will start.
Flow Generator setup
Flow Generator offers several flow control options that you can configure, including the ability to
specify both the frame size and the frame payload pattern. Header parameters and other control
parameters can also be added as part of the definition. The 0XID value for frames cannot be userspecified.
Flow Generator generates and receives traffic only from simulated ingress and egress ports (SIM
ports) which emulate device entries in the Name Server database, so that they are treated as real
devices and can be used to evaluate various switch and fabric operations such as QoS and Traffic
Isolation. For more information on working with SIM ports, refer to SIM port attributes and
configuration on page 71.
Flow Generator flows are defined using a combination of the source device (srcdev), destination
device (dstdev), ingress port (ingrport), and egress port (egrport) parameters. All of these must be SIM
ports. The source device is the origination point of the test traffic. The destination device is the
destination of the test traffic; for Flow Generator flows it may be remote from the switch. The port that
transmits the simulation traffic must be a 16 Gbps-capable Fibre Channel port. The port that receives
the simulated traffic can be either an 8 Gbps- or a 16 Gbps-capable Fibre Channel port. The following
figure illustrates this concept.
FIGURE 10 A Flow Generator flow structure
Predefined Flow Generator flows
Predefined flows are system-defined flows that support most common testing scenarios. These flows
are automatically created and defined based on your network structure as part of the upgrade to
Fabric OS 7.3.0. These flows use the port ID and device ID modes and other control parameters
configured for Flow Generator.
With the release of Fabric OS 7.3.0, there is one predefined flow. The name of this flow is
sys_gen_all_simports. In this flow, traffic is generated from each SIM port on a switch to all the other
SIM ports configured on that switch. This allows you to easily stress-test the hardware, ASIC path,
backplanes, front-end, switch, and fabric operations. The stress-testing operation is handled in
iterations. At each iteration, all SIM ports generate traffic to a set of destination ports, determined by
their order in the physical chip interleave, so that all the chips are tested at the beginning of the test.
Every SIM port will generate traffic to four destinations through 39 Virtual Channels, but it will not
generate traffic to itself.
You can configure this flow to run on all the ports on the switch, or on a specific slot, port range, or list
of ports.
60Flow Vision Administrators Guide
53-1003168-01
Flow Generator
• To run the test on all the ports on the local switch, set all the ports on the switch to SIM ports.
• To run the test on one slot only, set only the ports of the slot to SIM ports.
• To run the test on any other set of ports, set these specific ports to SIM ports.
The frame payload size and pattern control parameters apply to sys_gen_all_simports. The control
parameters can be the default, user-defined default, or specific to the sys_gen_all_simports flow. Refer
to Customizing Flow Generator flows on page 67 for more details.
To start this flow, you must first enable it (specifying the ports you want used), and then you must
activate it. The following example enables SIM ports 10 through 20 and then activates the flow.
Once started, sys_gen_all_simports will run until you deactivate the flow.
To stop the flow, enter flow--deactivate-featuregeneratorsys_gen_all_simports.
To reset the flow metrics, enter flow--reset-featuregeneratorsys_gen_all_simports. This resets
the ingress and egress counts for all the tested SIM ports.
The following restrictions apply specifically to this stress-test flow:
• You must configure the SIM ports you are going to test before activating the flow.
• There is a limit of 256 flows (64 flows at 4 flows per port) that can be generated per iteration.
• This flow bypasses all zoning, as SIM ports do not need to be zoned for the flows to be generated.
• Activating the predefined flow is mutually exclusive with all other active Flow Generator flows. If there
are any static flows or sub-flows activated on the switch, you cannot activate the predefined flow. If
the predefined flow is activated, no other Flow Generator flow can be activated.
Entering flow--showsys_gen_all_simports displays:
• The SID-DID pairs tested
• The number of complete runs where all the SID-DID pairs have been tested
• The completion percentage of the current run
• The total number of frames generated from all the ingress ports
Flow Vision Administrators Guide61
53-1003168-01
Notes on predefined flows
The following example shows the typical results of the flow-- show command
when the sys_gen_all_simports flow is active:
------------------------------------------------------------------------------------------------------ + Denotes feature is currently activated for the flow
The flow name with prefix sys_ denotes predefined flow
The following example shows the results of flow --show
sys_gen_all_simports.
switch10:FID128:admin> flow --show sys_gen_all_simports
===================================================================================
Name : sys_gen_all_simports Features: gen(Activated) noConfig: Off
Number of complete runs: 2
Percent complete of the current run: 33
Flow Generator (Activated):
----------------------| SrcDev | DstDev |
----------------------| 0x014000 | 0x014100 |
----------------------| 0x014000 | 0x014200 |
----------------------| 0x014000 | 0x014300 |
----------------------| 0x014000 | 0x014400 |
----------------------| 0x014100 | 0x014000 |
----------------------| 0x014100 | 0x014200 |
----------------------| 0x014100 | 0x014300 |
----------------------| 0x014100 | 0x014400 |
(output truncated)
Number of frames generated from IngrPorts : 9.20G
Notes on predefined flows
The following items should be kept in mind when working with predefined flows:
• If the sys_gen_all_simports flow was active before a reboot, it will be replayed after the reboot.
• If the port, SIM device, slot, or switch goes offline, the subflows on the offline ports will be stopped.
Traffic will continue to run on the online ports.
• If all SIM ports in the test go offline, the flow will stay active but traffic will not start, and entering
flow--show will return “no sim devices”. In this case, the flow traffic will resume when any SIM
ports in the flow come online.
• To prevent dropped frames when offline SIM ports come back on line, those ports included in the
test flow are only added back to the test flow during the pause between iterations.
• The following restrictions apply to predefined flows:
‐Activation, deactivation, reset, show, and control operations are supported, but creation
and deletion are not supported.
‐Predefined flows do not include learned flows (those created using an asterisk (*)) or sub-
flows.
62Flow Vision Administrators Guide
53-1003168-01
Creating Flow Generator flows
Refer to Notes on predefined flows for information on how sys_gen_all_simports behaves with HA and
MAPS.
Determining how long one pass of sys_gen_all_simports should take
The following calculation can be used to estimate how long one full pass should take if all the possible
pairings of Source ID and Destination ID are tested.
• Flows per port = 4
• Time per iteration = 1 minute
• Number of iterations for full run = Integer of ((number of SIM ports -1 ) / flows per port). This value
should always be rounded up to the next integer.
• The number of iterations needed to complete one full pass = (number of iterations + 1)
• Time to run one full pass = (number of iterations for full run * time per iteration)
Based on the above formula, the time it takes to run a full pass of sys_gen_all_simports for 128 SIM
ports is 32 * 1 min = 32 minutes.
In those cases where the device ID (DID) is equal to the source (SID), that DID will be skipped and the
next DID (from the next iteration) will be selected to run. This way, every SID will send traffic to four
destinations at a time for every iteration.
Creating Flow Generator flows
To create a Flow Generator flow, enter the flow--createflow_name-feature generatorparameters
command.
The following table lists the parameters available to Flow Generator.
-bidirNot supported directly. To emulate this function you must create two flows (one in
-noactivateAdding this keyword creates the flow without activating it.
• One field only must be specified.
• Values must be explicit.
• Must be a SIM port local to the switch for a flow to generate traffic.
• At least one field must be specified.
• Values for srcdev and dstdev can be explicit or "*" ("*" indicates learned flows).
• Must be a SIM port PID for a flow to generate traffic.
• The parameters lun and frametype are not supported.
each direction).
-noconfigAdding this keyword creates the flow without saving the flow to the configuration.
Refer to Customizing Flow Generator flows on page 67 for information on changing the flow frame
size and contents.
Flow Vision Administrators Guide63
53-1003168-01
Parameter usage exceptions
Parameter usage exceptions
When you create a flow, it is automatically activated unless you use the -noactivate keyword for the
flow --create command. Refer to Creating an inactive flow in Flow Generator on page 64 for an
example.
The following illustrated example creates a Flow Generator flow named “Flow11” and generates traffic
using the ingress SIM port 1/1 from device 040100 (Domain 4) to device 050200 (Domain 5).
FIGURE 11 A Flow Generator flow between two switches
The following restrictions apply to Feature Generator parameter usage:
• If the srcdev and ingrport parameters are both defined, they must both be local to the switch and
refer to the same source.
• If the dstdev and egrport parameters are both defined for the flow, they must both be local to the
switch and represent the same destination.
ATTENTION
Flow creation is not allowed if Advanced Performance Monitor (APM) or Port Mirroring is enabled.
Similarly, APM and Port Mirroring-related operations will not be allowed if any flow (active or defined)
is present on the switch.
Creating an inactive flow in Flow Generator
To create an inactive Flow Generator flow, enter flow--create flow_name -feature grenerator
flow_parameters -noactivate.
Refer to Activating Flow Generator flows on page 65 for information on activating a Flow Generator
flow.
The following example creates an inactive Flow Generator flow named “superflow238” from device
020a00 to device 01c000 ingressing through SIM-Port 110.
When a flow is activated, traffic is generated by the ingress port or source device for that flow and any
sub-flows associated with it as soon as all SIM ports and devices defined in the flow are online.
Activating a flow does not automatically clear the flow statistics for that flow; the existing statistic
counters resume counting using the resumed flow data. If you are activating a learned flow, the subflows will be refreshed based on the first 39 Source ID-Destination ID pairs of SIM devices in the zone
database that are registered in the Name Server. A flow can be activated that includes SIM ports that
are either offline or that have not yet been created. If such a flow is activated, an alert message is
displayed, noting that the activated flow is not enforced.
To activate an inactive Flow Generator flow, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow --activateflow_name-feature generator.
The following example activates the Flow Generator flow named “Flow1”.
Flow Generator automatically activates a generated flow under the following conditions:
• On flow creation, unless the flow is being created using the -noactivate keyword as part of the flow
command. Refer to Creating an inactive flow in Flow Generator on page 64 for information on this
procedure.
• On slot power-on, if the specified port belongs to the slot being powered on and the flow was active
when the slot was powered off.
• On a High Availability (HA) failover, or a HA reboot, if the flow was active when the HA event
occurred.
Learning in Flow Generator flows
To apply learning to a Flow Generator flow, use an asterisk inside of quotation marks ("*") to specify the
parameter to be learned.
When Flow Generator activates learned flows, it queries the Name Server database to identify source
and destination devices that are zoned together. These pairings are not automatically changed if either
member of the pair changes zones. If either member of the pair changes zones, you must deactivate
the flow and then reactivate it to use the new zone values. Flow Generator allocates the first 39 flows
per source ID to zoned destination IDs. The rest of the destination IDs are not tested. For learned flows,
zone enforcement is applied to both the source and destination SIM-Ports.
In the following example, the only flows that will be activated are the ones where the destination devices
share a zone with the source device (204000) and use ingress port 24. To view the data generated by
this flow, refer to Viewing the output of a learned Flow Generator flow on page 66.
To display Flow Generator flows, enter flow--showflowname-feature generator. For root and static
flows, this command shows the Source ID-Destination ID pairs and the cumulative frame count on the
ingress or egress port specified in the flow definition.
Displaying the status of a single Flow Generator flow
The following example displays the status of the Flow Generator flow named “f2”.
switch:admin> flow --show f2 -feature generator
=================================================================================
Name : f2 Features: gen(Active) noConfig: Off
Definition: IngrPort(1/9),SrcDev(0x010900),DstDev(0x01c100)
Flow Generator (Activated):
----------------------| SrcDev | DstDev |
----------------------| 0x010900 | 0x01c100 |
----------------------Number of frames generated from IngrPort : 595.41M
Note: More than 1 flow active on this port.
=================================================================================
Viewing the output of a learned Flow Generator flow
To view the output of a learned Flow Generator flow, enter flow --show flow_name -feature
generator.
When you view the output of a learned flow, the Name line displays the flow name and flow features
with their respective states. The Definition line displays the port of interest and the device. In the table
under Flow Generator, each row is an individual sub-flow, and the column shows the individual device
IDs. The last line displays the number of frames (in units of 1000 (K), 1,000,000 (M), or 1,000,000,000
(G)) that have passed through that port measured from the time the port became active.
The following example shows the output of the Flow Generator flow named "fgflow12":
switch:admin>flow --show fgflow12 -feature generator
Name : fgflow12 Features: gen(Active) noConfig: Off
Definition: IngrPort(4),DstDev(*)
Flow Generator (Activated):
----------------------| SrcDev | DstDev |
----------------------| 0x204000 | 0x040700 |
----------------------| 0x204000 | 0x040800 |
----------------------| 0x204000 | 0x050900 |
----------------------| 0x204000 | 0x051000 |
----------------------Number of frames generated from IngrPort : 82.21M
Notes on displaying the status of a Flow Generator flow
• If you want to see the per-flow frame count on a port with multiple flows, you must include the flow
monitoring feature in the flow definition (flow--createflow_name-featuregenerator,monitor).
• Flow Generator will append a note at the bottom of the output if there is more than one static flow or
a learned flow active on the port.
66Flow Vision Administrators Guide
53-1003168-01
Deactivating Flow Generator flows
You can deactivate Flow Generator flows without deleting them. This allows you to have a “library” of
flows that you can activate as needed without having to recreate them.
NOTE
When a flow is deactivated, traffic stops for that flow and any sub-flows associated with it. When a flow
is deactivated, the definition remains but Flow Generator does not populate it with traffic.
To manually deactivate a Flow Generator flow, complete the following steps.
1. Connect to the switch and log in using an account with admin permissions.
2. Enter flow--deactivateflow_name-feature generator.
The following example deactivates the Flow Generator flow named “Flow1”.
Flow Generator allows you to specify the frame payload size and pattern to be used for the Flow
Generator flows by using the flow--control command.
Frame payload size
Flow Generator allows you to define the frame payload size in bytes. The frame payload size value
must be either 0 (which produces frames of random size using a multiple of 4 between 64 and 2048
bytes) or a multiple of 4 in the range from 64 through 2048. (64, 68, 72, 120, 140, 320, 512, and so on).
The default payload size value is 2048.
There are two ways to change the frame payload size; you can change the default payload size or you
can change the payload size for a single flow.
To see the current generic payload size, enter flow--show-ctrlcfg; to see the payload size for a
specific flow, enter flow--showflow_name-ctrlcfg.
Changing the default frame payload size
Assigning a frame payload size without defining a flow creates a default that applies to all flows created
afterward. The following example sets the payload size default for all new flows to 512 bytes.
Assigning a frame payload size explicitly to a flow affects only that flow and overrides the existing
payload size for that flow. Changing a flow’s payload size can only be done to an inactive flow. The
following example changes the payload size for the flow “F1024” to 1024 bytes.
Flow Generator allows you to define the pattern to be used as the frame payload. The frame payload
pattern must be an alphanumeric ASCII string between 1 and 32 characters in length. The default
frame payload pattern value is 0, which produces a random pattern of alphanumeric ASCII characters
with a variable string length between 1 and 32 characters.
There are two ways to change a frame payload pattern; you can change the default payload pattern,
or you can change the payload pattern for a single flow.
To see the current generic payload pattern, enter flow --show-ctrlcfg; to see the payload pattern for
a specific flow, enter flow --showflow_name-ctrlcfg.
Changing the default frame payload pattern
Assigning a frame payload pattern without defining a flow creates a default that applies to all
subsequently-created flows. The following example sets the default payload pattern for all new flows to
“TestFlow”.
Changing the frame payload pattern for a specific flow
Explicitly assigning a frame payload pattern to a flow overrides the existing frame payload pattern for
that flow, and affects only that flow. Changing a payload pattern can only be done to an inactive flow.
The following example sets the default payload pattern for the flow F2 to “a5a5a5”.
The following examples describe how to work with Flow Generator flows.
Creating a flow from a specific source ID to a specific destination ID
To create a flow between a specific source ID (SID) and a specific destination ID (DID), complete the
following steps.
1. Create two SIM ports.
2. Create an active flow from the SID to the DID.
FIGURE 12 A flow from a specific source ID to a specific destination ID
68Flow Vision Administrators Guide
53-1003168-01
Integrating Flow Generator with Flow Monitor
The following example creates the flow as shown in the figure above. SIM port 1/1 is the source port
and SIM port 1/2 is the destination device. The flow--showflowCase1-feature generator
command displays the SID frame count and then the DID frame count.
-------|------|--------|-------------------------|--------------------|------------------|
Addressing mode information
Port Addressing Mode: index
Device Addressing Mode: PID
Flow Generator Information
Size: 2048
Pattern: Random (Default)
Flow mirror Information
enable_wrap
Integrating Flow Generator with Flow Monitor
Flow Generator flows can be monitored using Flow Monitor. For example, you can use a combination of
Flow Generator flows and Flow Monitor flows to verify per-flow throughput at an ingress or egress port.
This can be useful when more than one Flow Generator flow shares the same ingress or egress port.
To do this, you must create a flow using both the Flow Generator feature and the Flow Monitor feature
that share the ingress or egress port.
The following example illustrates a flow that uses both the Flow Generator and Flow Monitor features. In
this example, they share an ingress port.
The following commands affect or are affected by Flow Generator. Refer to the Fabric OS Command
Reference for more detailed information.
portcfgshow
Entering portcfgshow for a specified port shows the configuration of the SIM port. (Called out for
illustration.)
switch:admin>portcfgshow 8/0
Area Number: 96
Octet Speed Combo: 1(16G|8G|4G|2G)
Speed Level: AUTO(SW)
AL_PA Offset 13: OFF
. . . . .
Mirror Port OFF
SIM Port ON <-- SIM Port status
Credit Recovery ON
F_Port Buffers 48
. . . . .
Compression: OFF
Encryption: OFF
FEC: ON
portperfshow
When you run the portperfshow command, an asterisk (*) represents traffic running on either an
ingress port or an egress port from a Flow Generator flow. For the portperfshow command, the
Transmit Throughput value represents the egress port, and the Receive Throughput value represents
the ingress port.
portstatsclear
Entering portstatsclear for a port clears the Flow Generator frame count for all flows sharing this port.
This is equivalent to the flow--reset command. Refer to Resetting flow statistics on page 29 for
details.
portstatsshow
When you run the portstatsshow command, the Transmit Word Count value represents the egress
port, and the Receive Word Count value represents the ingress port. The frame size used for
portstatsshow is 2048 bytes, regardless of what value has been set for the flow.
slotstatsclear
Entering slotstatsclear for a slot clears the Flow Generator frame count for all flows sharing the ports
on that slot.
70Flow Vision Administrators Guide
53-1003168-01
switchshow
Entering switchshow generates output showing which ports are set as simulation mode ports (SIM
ports) and displays the WWN for each emulated device.
switch:admin> switchshow | grep SIM
192 8 0 046000 id 16G Online FC SIM-Port 20:c0:00:05:1e:99:61:00
193 8 1 046100 id 16G Online FC SIM-Port 20:c1:00:05:1e:99:61:00
194 8 2 046200 id 16G Online FC SIM-Port 20:c2:00:05:1e:99:61:00
195 8 3 046300 id 16G Online FC SIM-Port 20:c3:00:05:1e:99:61:00
196 8 4 046400 id 16G Online FC SIM-Port 20:c4:00:05:1e:99:61:00
SIM port attributes and configuration
Flow Vision requires that the source device and destination device ports be in simulation mode (SIM
port mode) prior to activating the test flows, and checks for this before activating the test flows. Prior to
creating and activating flows, you must enter flow--control on the local switch to set the source device
(srcdev) and the destination device (dstdev) ports as SIM ports. This ensures that test flows are not
unintentionally transmitted to real devices. After the source device and destination device ports are
configured to be SIM ports, you can create and activate the flow.
The following restrictions will affect your use of SIM-Ports:
• Flow Generator supports up to 39 active flows per ingress SIM port, and takes 48 credits per SIM
port from the ASIC.
• Zoning is bypassed on SIM ports. Traffic will reach its destination regardless of zoning configuration.
• Zones are used to gather the Source ID-Destination ID pairs for learning flows, zoning is bypassed
for static and pre-defined flows.
SIM port attributes and configuration
SIM port criteria
Flow Generator simulation (SIM) ports must meet the following criteria to be valid:
• SIM ports are supported on ASICs that support either 8 Gbps- or 16 Gbps-capable Fibre Channel
ports. Source devices or ingress ports can only be on 16 Gbps-capable Fibre Channel ports.
Destination devices or egress ports can be on either 8 Gbps- or 16 Gbps-capable Fibre Channel
ports.
• SIM ports cannot be in the base switch or Access Gateway.
• SIM ports cannot be configured on a port that is online and connected to a real device.
NOTE
If a port is connected to a real device, you can disable the port, configure the SIM port, and then reenable the port. The port will be a SIM port; the real device will not join the fabric.
• Existing SIM ports are added to Device Connection Control (DCC) policies when created with a
wildcard (*) but are not adhered to. These SIM port entries must be deleted if a new WWN is
connected.
• SIM ports cannot be configured as any of the following port types; these restrictions also apply at the
time a SIM port is enabled:
‐Any port running Encryption or Compression
‐Any port configured with QoS on
‐Any F_Port connected to a real device (unless the port is disabled)
‐D_Port (Diagnostic Port)
‐E_Port
Flow Vision Administrators Guide71
53-1003168-01
Identifying SIM ports
‐EX_Port
‐F_Port trunked
‐Fastwrite port
‐FCoE port
‐ICL port
‐L_Port
‐M_Port (Mirror Port)
‐VE port
• If a port is configured with CSCTL_mode enabled, you can configure it as a SIM port.
• If a port has an Ingress Rate Limit set, you can configure it as a SIM port.
• If a port is configured as a SIM port:
‐You cannot enable QoS.
‐You cannot enable CSCTL_mode.
‐You can set an Ingress Rate Limit.
• The following features of a SIM port are persistent across a reboot:
‐Each SIM port is assigned a PID and is displayed in a switchShow command.
‐Each SIM port’s Port Worldwide Name by default is the switch Port Worldwide Name
(PWWN), unless a user-defined Virtual Port Worldwide Name is assigned to it.
‐Each SIM port registers itself into the Name Server database.
Identifying SIM ports
In order to distinguish SIM ports from other devices, the Name Server commands show “Port
Properties: SIM Port”, as called out in the following example:
switch:admin> nscamshow
nscam show for remote switches:
Switch entry for 105
state rev owner cap_available
known v730 0xfffc6e 1
Device list: count 12
Type Pid COS PortName NodeName
N 691000; 3; 10:00:00:00:00:0f:00:00;10:00:00:00:00:00:0f:00;
Fabric Port Name: 20:10:00:05:1e:57:dc:b3
Permanent Port Name: 10:00:00:00:00:0f:00:00
Port Index: 16
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: No <— Port Properties is not shown for non-SIM ports
N 691400; 2,3; 20:14:00:05:1e:57:dc:b3;20:14:00:05:1e:57:dc:b3;
Fabric Port Name: 20:14:00:05:1e:57:dc:b3
Permanent Port Name: 20:14:00:05:1e:57:dc:b3
Port Index: 20
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: No
Port Properties: SIM Port <— Port Properties shows "SIM Port"
(output truncated)
switch:admin> nsshow
Type Pid COS PortName NodeName TTL(sec)
N 691000; 3; 10:00:00:00:00:0f:00:00;10:00:00:00:00:00:0f:00; na
Fabric Port Name: 20:10:00:05:1e:57:dc:b3
Permanent Port Name: 10:00:00:00:00:0f:00:00
Port Index: 16
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: No
LSAN: No <— Port Properties is not shown for non-SIM ports
N 691400; 2,3; 20:14:00:05:1e:57:dc:b3;20:14:00:05:1e:57:dc:b3; na
Fabric Port Name: 20:14:00:05:1e:57:dc:b3
72Flow Vision Administrators Guide
53-1003168-01
Sending traffic using a Fabric Assigned WWN
Permanent Port Name: 20:14:00:05:1e:57:dc:b3
Port Index: 20
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: No
LSAN: No
Port Properties: SIM Port <— Port Properties shows "SIM Port"
(output truncated)
Sending traffic using a Fabric Assigned WWN
If you want to use a Fabric Assigned WWN (FA-WWN), you need to set the FA-WWN on the SIM port
using the Dynamic Fabric Provisioning command, fapwwn-assign. For details, refer to the "Dynamic
Fabric Provisioning" section of the Fabric OS Administrator's Guide.
CAUTION
If the fapwwn command is used to assign a user-defined Port WWN to a SIM port, it is the
person making the assignment’s responsibility to not assign a Port WWN that duplicates one
already in the fabric. If there is a duplicated WWN, both entries will be removed from the Name
Sever database. This has a high probability of disrupting traffic.
Flow Generator and High Availability
On a High Availability (HA) failover, HA reboot, or a power cycle and reboot, both local and remote
flows remain active. When SIM ports come back online from an HA failover or HA reboot event, local
flows are re-created and reactivated, and local traffic is restarted. Inactive flows are re-created but not
activated by an HA failover, HA reboot, or a power cycle and reboot.
ATTENTION
For the first 39 flows that can be learned for Flow Generator, a HA failover, HA reboot, or a power cycle
and reboot event may cause different sub-flows to be re-created, as the flow order depends on the zone
database.
If the sys_gen_all_simports flow was active prior to a HA failover, the flow will be replayed after the HA
failover with all the SIM ports that are configured on the switch.
Refer to High Availability and Flow Vision on page 32 and Notes on predefined flows on page 62 for
more information.
Flow Generator and MAPS
The Monitoring and Alerting Policy Suite (MAPS) can be used to monitor SIM port traffic thresholds
while Flow Generator flows are running.
MAPS treats SIM ports as F_Ports, so MAPS can issue warnings on these ports if threshold values are
triggered. If you do not want to see MAPS warnings for SIM ports, you must disable MAPS monitoring
for those ports.
Flow Vision Administrators Guide73
53-1003168-01
Flow Generator limitations and considerations
Flow Generator traffic will also impact E_Ports; this may cause MAPS warnings for E_Port throughput
levels. Refer to the Monitoring and Alerting Policy Suite Administrator's Guide for more information
about working with MAPS.
You can use the Monitoring and Alerting Policy Suite (MAPS) utility to monitor traffic in the
sys_gen_all_simports flow using the same default and custom policies as used for F_Ports. However,
there will not be a check in MAPS for maximum throughput for SIM ports, as Flow Generator always
runs at maximum throughput.
Flow Generator limitations and considerations
The following limitations apply specifically to Flow Generator:
• If used on a live production system, Flow Generator traffic will compete with any existing traffic.
Consequently, E_Ports and FCIP links can become congested when using Flow Generator, leading
to throughput degradation. FCIP links are more prone to congestion than E_Ports.
• Only four active Flow Generator flows are allowed per ingress port.
• Flow Generator flows can only be mirrored at the ingress port; they cannot be mirrored at the
egress port.
• Flow Generator is not supported on Access Gateways or for Fibre Channel routers.
• Frame redirection is not supported for SIM ports.
• Zoning is not enforced. Sources and destinations can be in different zones.
• Flow Generator gathers source and destination pairs from the zoning database for learning flows
only at the time the flow is activated. Subsequent changes to this database will not be registered
until a flow is reactivated.
• If a SIM port configuration is deleted while the port is online, Flow Vision automatically stops all
Flow Generator flows, but the flows are not deactivated.
74Flow Vision Administrators Guide
53-1003168-01
Flow Mirror
● Overview of Flow Mirror.................................................................................................. 75
● Mirroring traffic flowing to remote fabrics........................................................................ 85
● Troubleshooting using Flow Mirror..................................................................................86
● Flow Mirror and High Availability.....................................................................................90
Overview of Flow Mirror
As storage networks get larger and more complicated, it is becoming increasingly important to have
non-intrusive diagnostic tools which can help identify problems without the need of disturbing the
existing fabric. Flow mirroring is a diagnostic feature within Flow Vision that addresses this need.
Flow Mirror provides you with the ability to:
• Non-disruptively create copies of application flows that can be captured for deeper analysis.
• Conduct in-depth analysis of flows of interest, such as SCSI Reservation frames, ABTS frames, flows
going to a bottlenecked device, and others.
• Select the type of frames you want to be mirrored.
• Select a traffic pattern and create a real-time copy of this traffic, allowing you to debug a live system
without disturbing existing connections. You can also use this feature as a way to view traffic passing
through a port.
Flow Mirror duplicates the specified frames in a user-defined flow, and sends them to a sink. This sink
could be either:
• The Local switch control processor unit (CPU); this form is called CPU flow mirroring or CFM, and
has a limit of 256 frames per second.
• An external analyzer/packet sniffer connected through a port in the metaSAN. The limit for this is the
bandwidth of the mirror destination port. This form is called Local flow mirroring (LFM), and mirrors
the flow to a port on the same physical switch. This requires that a loopback SFP be plugged in at
the other end of the analyzer, or on the port configured as a mirror port, which must be in the same
domain.
NOTE
Any mirroring possible in CFM is also possible in LFM, however LFM and CFM are mutually
exclusive.
Flow Mirror flows can be in an active or inactive state. If the mirror flow is “active”, mirroring starts
immediately; if the flow is “inactive”, the flow must be activated (by using the flow--activate command)
for mirroring to start. Mirrored flows can be unidirectional or bidirectional.
Flow Vision Administrators Guide
53-1003168-01
75
Creating Flow Mirror flows
A sample use case would be to mirror the traffic flow from a slow-draining F_Port to see what is
causing this condition. Diagnosing a slow-draining F_Port on page 86 provides an example of this
use case.
The following figure provides a diagram of a flow that mirrors to the CPU the traffic ingressing through
the ingrport. Flow Mirror can similarly mirror the egrport, but only one port (ingrport or egrport) can be
mirrored per flow. To mirror from one port in both flow directions (left to right and right to left in the
figure), the -bidir keyword must be used in the flow definition.
FIGURE 13 A flow being mirrored to the CPU
Creating Flow Mirror flows
To create a Flow Mirror flow, use the flow--createflow_name-featuremirrorparameters command.
When you create a flow, it is automatically activated unless you use the -noactivate keyword as part
of the flow--create command. Refer to Creating an inactive flow in Flow Mirror on page 80 for an
example.
Figure 1 on page 17 illustrates how the frame and port parameters apply to a flow. The following table
shows the supported Flow Mirror flow parameter combinations.
-noactivateAdding this keyword creates the flow without activating it.
-noconfigAdding this keyword creates the flow without saving the flow to the configuration.
The following example creates a Flow Mirror flow named “flowmirror14” that
mirrors traffic flowing from device “080e00 “ to device “080f00” ingressing
through the port 14 on the switch on which this command was run.
switch:admin> flow --create flowmirror14 -feature mirror -ingrport 14 -srcdev 080e00 dstdev 080f00
Mirror feature(s) have been activated.
Flow Mirror limitations and restrictions
The following limitations and restrictions apply specifically to Flow Mirror flows and flow mirroring:
• Flow Mirror is supported only on Gen 5 Fibre Channel platforms.
• Only one active Flow Mirror flow is supported per chassis or fixed-port switch.
• Active Flow Mirror flows are mutually exclusive with the In-Flight Encryption/Compression feature on
a blade or fixed-port switch. However, if Flow Mirror flows can exist on one blade and In-Flight
encryption/compression can be enabled on a different blade in the same chassis, then they can coexist.
• You cannot simultaneously mirror to a local port (LFM) and to the CPU (CFM). These are mutually
exclusive.
• A mirror port cannot be either an ingress or egress port of the flow definition.
• The flow--createenable_wrap and flow--createdisable_wrap_wrap command are only
applicable to CPU flow mirroring.
• The mirror port should always be in the local domain.
• For bidirectional traffic, if the combined traffic rate exceeds the limit of the mirror port traffic limit, then
the Flow Mirror flow is not permitted. (For example, the combined rate of a bidirectional flow from a
16 Gbps port is 32 Gbps, and so cannot be mirrored to a 16 Gbps mirror port.)
• If a flow monitor flow defined using the “-frametype” keyword as part of the flow command is installed
on an ingress port, and a matching Flow Mirror flow is installed on an egress port, then traffic
egressing through the egress port is not mirrored.
• If a flow is created for both Flow Monitor and Flow Mirror that uses a combination of either the “frametype” and “-ingrport” keywords, or a combination of “-frametype”, “-egrport”, and “bidir”
keywords, frames matching these definitions will be monitored but will not be mirrored.
• If a Flow Monitor flow is created on a blade or fixed-port switch that uses a combination of either the
“-frametype” and “-ingrport” keywords, or a combination of “-frametype”, “-egrport”, and “bidir”
keywords, then Flow Mirror frames matching any flow definitions defined using the “-ingrport”
keyword that use ports on the same blade or fixed-port switch are not mirrored.
• Flow Mirror is not supported in Access Gateway mode or on SIM ports that are specified as ingress
or egress ports in the flow definition.
• Flow Mirror cannot mirror:
‐Frames belonging to device-switch communication (for example, a FLOGI or PLOGI action)
‐Link Primitives, discarded frames, frames from a remote Control Unit Port (CUP), Link
Control Frames, or frames containing domain controller addresses used as source IDs
• For flows mirrored to a CPU, only the first 256 frames are mirrored. If a greater number of frames that
match the flow definition within a second are identified, those later frames are not mirrored.
Flow Vision Administrators Guide77
53-1003168-01
Local flow mirroring
For example, on a fixed-port switch, if 500 frames meet the flow definition in the first second of the
Flow Mirror operation, only the first 256 frames are mirrored. In the next second, frame mirroring will
begin with the five-hundred-and-first frame that matches the flow definition. The intervening frames
will not be mirrored, even though they match the flow definition.
The following table shows the maximum frame rate and mirroring capacity for each platform type.
Flow Mirror CFM frame rates and frame capacityTABLE 12
Platform typeMaximum rate (frames per second)Maximum capacity (frames)
Fixed-port switch2561280
Chassis-based systems2565120
Local flow mirroring
Local flow mirroring (LFM) allows you to mirror a flow to a port in the same domain that the flow has
been defined in. This mirrored data can then be analyzed through an external analyzer/frame sniffer
connected to the port.
To mirror traffic to a local port, the port must be configured as a mirror port before it is used in the flow
definition. A loopback SFP should be plugged in at the other end of the analyzer or on the port
configured as a mirror port.
Here is the pattern for a command creating a flow definition to mirror a local flow:
• First: Use the portcfgmirrorportport_num--enable command to configure the mirror port.
• Next: Use the flow --create flow_name –feature mirror –srcDev SrcDevID -dstDev DestDevID ingrport portID -bidir –mirrorport port_num to create the flow that is mirrored to that port.
A typical configuration for local flow mirroring is shown below.
FIGURE 14 Sample local flow mirroring configuration
The following example configures port 16 as a mirror port, then creates a flow for all traffic flowing from
device 010e00 to device 010f00 ingressing through port 14 that sends the mirrored frames to the
mirror port, and finally displays a list of the flows followed by the results of the flow.
switch:admin> portcfg mirrorport 16 --enable
switch:admin> flow --create fmtest -feature mirror -srcdev 010e00 -dstdev 010f00 -ingrport 14 mirrorport 16
Mirror feature(s) have been activated.
78Flow Vision Administrators Guide
53-1003168-01
Flow Mirror
switch:admin> flow --show
-----------------------------------------------------------------------------------------------Flow Name |Feature| SrcDev | DstDev |IngrPt|EgrPt|BiDir|LUN|FrameType|SFID|DFID|MirPt|
----------------------------------------------------------------------------------------------- + Denotes feature is currently activated for the flow
The flow name with prefix sys_ denotes predefined flow
switch:admin> flow --show fmtest -feature mirror
================================================================================================
Name : fmtest Features: mir(Activated) noConfig: Off
Definition: IngrPort(14),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
-----------------------------------------------------------------------------------------------No of Mirrored Frames : 91134, No of RX Mirrored Frames : 91134, No of TX Mirrored Frames : 0
After a port is configured as a mirror port, the switchshow command output looks similar to the
following example:
switch:admin> switchshow|grep
Port
Index Port Address Media Speed State Proto
3 3 010300 id N16 Online FC G-Port
4 4 010400 id 16G Online FC SIM-Port 20:04:00:27:f8:93:6a:23
5 5 010500 id 16G Online FC SIM-Port 20:05:00:27:f8:93:6a:23
6 6 010600 id 16G Online FC SIM-Port 20:06:00:27:f8:93:6a:23
7 7 010700 id 16G Online FC SIM-Port 20:07:00:27:f8:93:6a:23
8 8 010800 id N8 Online FC G-Port
14 14 010e00 id N8 Online FC F-Port 50:08:01:60:09:15:7a:03
15 15 010f00 id N8 Online FC F-Port 50:08:01:60:09:15:7a:02
16 16 011000 id 8G Online FC Mirror Port<— Mirror port identification
After a port is configured as a mirror port, the portcfgshow command output looks similar to the
following example:
switch:admin> portcfgshow 16
Area Number: 16
Speed Level: AUTO(SW)
AL_PA Offset 13: OFF
Trunk Port ON
Long Distance OFF
VC Link Init OFF
Locked L_Port OFF
Locked G_Port OFF
Disabled E_Port OFF
Locked E_Port OFF
ISL R_RDY Mode OFF
RSCN Suppressed OFF
Persistent Disable OFF
LOS TOV enable OFF
NPIV capability ON
QOS Port AE
Port Auto Disable: OFF
Rate Limit OFF
EX Port OFF
Mirror Port ON <— Mirror port identification
SIM Port OFF
Credit Recovery ON
F_Port Buffers 32
E_Port Credits OFF
Fault Delay: 0(R_A_TOV)
NPIV PP Limit: 126
NPIV FLOGI Logout: OFF
CSCTL mode: OFF
D-Port mode: OFF
D-Port over DWDM: OFF
FEC: ON
FEC via TTS: OFF
Non-DFE: OFF
Flow Vision Administrators Guide79
53-1003168-01
Creating an inactive flow in Flow Mirror
Creating an inactive flow in Flow Mirror
To create an inactive Flow Mirror flow, enter the flow--create flow_name -featuremirror
flow_parameters -noactive command.
The following example creates an inactive Flow Mirror flow named “mirroredflow120” from device
020a00 to device 01c000 ingressing through port 120.
Activating a Flow Mirror flow automatically clears all the flow statistics for that
flow.
Automatic activation of a Flow Mirror flow
Flow Mirror automatically activates a mirroring flow under the following conditions:
• On flow creation, unless the flow is created using the -noactivate keyword as part of the flow
command.
• On slot power-on, if the port specified is part of the slot being powered on and the flow was active
when the slot was powered off.
• On a High Availability (HA) failover, HA reboot, or a power cycle, if the flow was active when the HA
event occurred.
NOTE
Flow Mirror will not automatically re-activate a flow if the port types are other than Gen 5 (16 Gbps)
F_Ports or F_Port trunks.
Viewing Flow Mirror flows
The following sections describe the different ways of viewing frames mirrored by Flow Mirror.
80Flow Vision Administrators Guide
53-1003168-01
Summary information view of a Flow Mirror flow
Summary information view of a Flow Mirror flow
To display the summary view of a Flow Mirror flow, enter flow--showflow_name-featuremirror.
In the summary information view, the first output line lists the flow name and the flow features; the
second line lists the source and destination devices and ports, and the flow’s directionality; the third line
identifies the active features. The following section presents a table with a line for each mirrored frame
listing the destination ID, the OXID (originator exchange identifier) of the flow, the RXID (responder
exchange identifier) of the flow, the start of frame and end of frame values, the frame type, the LUN, the
direction of the frame, and the time stamp of the frame. A learned field column (indicated by an asterisk
(*) adjacent to the column name) is added to the output only if the flow definition does not contain the
keyword associated with the field for this column. The last data line displays the total number of frames
sent to the CPU, the total number of received frames and the total number of transmitted frames.
The following example displays the summary information recorded for the Flow Mirror flow named
“fmshow”. The LUN column is a learned field in this example.
switch:admin> flow --show fmshow -feature mirror
==================================================================================================
Name : fmshow Features: mir(Activated) noConfig: Off
Definition: IngrPort(2),SrcDev(*)
Flow Mirror (Activated):
----------------------------------------------------------------------------------------------| SID(*) | DID(*) | OXID | RXID | SOF | EOF |Frame_type| LUN(*) | Dir | Time-Stamp |
------------------------------------------------------------------------------------------------ No of Mirrored Frames : 528, No of RX Mirrored Frames : 528, No of TX Mirrored Frames : 0
To display all the information recorded for a flow, enter flow --show flow_name -feature mirror verbose.
In the verbose information view, the first output line lists the flow name and the flow features; the
second line lists the source and destination devices and ports; the third line identifies the active
features. The following lines list for each frame the time stamp of the frame, the direction of the frame,
the start of frame and end of frame values, the frame type, and the first 64 bytes (16 words) of the
frame. The last data line displays the number of frames sent to the switch Control Processor Unit
(CPU), the number of received frames and the number of transmitted frames. If any learned field
(indicated by an asterisk (*) adjacent to the column name) is part of the flow definition, then that field is
displayed in the show output (there will be a column in the output representing this field).
The following example displays all the information recorded for the Flow Mirror flow named “fmshow”.
The LUN column is a learned field in this example, and the “Frame Contents” column has been
trimmed.
switch:admin> flow --show fmshow -feature mirror -verbose
=========================================================
Name : fmshow Features: mir(Activated) noConfig: Off
Definition: IngrPort(2),SrcDev(*)
Flow Mirror (Activated):
-----------------------------------------------------------------------------------------------------| Time-Stamp | Dir | SOF | EOF | Frame_type | LUN(*) | Frame Contents |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 530, No of RX Mirrored Frames : 530, No of TX Mirrored Frames : 0
To display all the information recorded for a Flow Mirror flow blocked out using a specific time interval,
enter flow--showflow_name-feature mirror-tnum.
The “-t” parameter applies only to Flow Mirror flows. The num value is the number of seconds between
samples, and can be 6, 7, 8, 9, or 10. The default value is 7. Using this parameter updates the output
on the console at the specified time interval until you press Ctr+C. In time interval output, only frames
that were mirrored in the time window between t and t+t (for example at 6, 12, 18, 24… seconds) are
displayed.
The following examples shows the frame rates for the Flow Mirror flow named “fmshow” at 6-second
intervals. The time stamp for each frame is for the frame, not the time block. At the bottom of each
interval block, a data line displays the total number of mirrored frames sent to the CPU, the total
number of received mirrored frames and the total number of frames mirrored during the previous
interval.
This example shows the result of mirroring the flow to the CPU (CFM).
switch:admin> flow --show fmtime_cfm -feature mirror -time 6
=======================================================================================================
Name : fmtime_cfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),BiDir
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:34:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:34:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:38:110 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:38:110 |
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:38:110 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmtime_cfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),BiDir
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:41:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:41:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:45:109 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:45:109 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmtime_cfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),BiDir
82Flow Vision Administrators Guide
53-1003168-01
Learning in Flow Mirror flows
Flow Mirror (Activated):
-------------------------------------------------------------------------------------| OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
-------------------------------------------------------------------------------------| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:47:100 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:47:100 |
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:47:100 |
(output truncated)
| 0001 | ffff | SOFn3 | EOFn | Data | ---- | Tx | Jun 05 09:45:51:109 |
| 0044 | ffff | SOFn3 | EOFn | Data | ---- | Rx | Jun 05 09:45:51:109 |
------------------------------------------------------------------------------------------- No of Mirrored Frames : 1280, No of RX Mirrored Frames : 640, No of TX Mirrored Frames : 640
This example shows the result of mirroring the flow to a local port (LFM).
switch:admin> flow --show fmtime_lfm -feature mirror -time 6
=======================================================================================================
Name : fmtime_lfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 481442, No of RX Mirrored Frames : 0, No of TX Mirrored Frames : 481442
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmtime_lfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 716244, No of RX Mirrored Frames : 0, No of TX Mirrored Frames : 716244
-------------------------------------------------------------------------------------------=======================================================================================================
=======================================================================================================
Name : fmtime_lfm Features: mir(Activated) noConfig: Off
Definition: EgrPort(15),SrcDev(0x010e00),DstDev(0x010f00),MirPort(16)
Flow Mirror (Activated):
------------------------------------------------------------------------------------------- No of Mirrored Frames : 951046, No of RX Mirrored Frames : 0, No of TX Mirrored Frames : 951046
Flow Mirror supports learning for both source and destination devices. To specify learning in a Flow
Mirror flow, identify the parameter to be learned by using an asterisk inside quotation marks ("*") for the
device identifier.
For a flow using learning, if the frame type is specified in the flow definition, the value for -frametype
must be a fixed value for the flow to work. Refer to Flow frametype parameters on page 19 for a list of
valid -frametype values.
The following example creates a Flow Mirror flow using the learning capability to mirror traffic from any
device to any device that is ingressing through port 1/20.
Flow Mirror flows can be deactivated without deleting them. This allows you to have a “library” of flows
that you can activate as needed without having to create them repeatedly.
To manually deactivate a Flow Mirror flow, enter flow --deactivateflow_name-feature mirror.
The following example deactivates the Flow Mirror flow named “Flow1”:
Flow Vision automatically deactivates a Flow Mirror flow if any of the following changes to a port
defined as part of the mirrored flow occur:
• An ingress or egress port defined in the flow has the port type change to other than an F_Port or
F_Port Trunk. You must correct the port type error and then manually reactivate the flow.
• Slot power being powered off for ingress or egress ports. Reactivation occurs automatically when
the power is restored.
Customizing Flow Mirror CFM flow frame retention
You can change how frames mirrored to a CPU are retained in the Flow Mirror buffer when it is full.
To have the Flow Mirror buffer overwrite existing frames in the buffer on a first-in-first-out basis when
full (replacing the oldest frames with newer ones), enter flow--control-feature mirror-enable_wrap.
To have the Flow Mirror buffer discard any additional mirrored frames once the buffer is full, enter flow
--control-feature mirror-disable_wrap.
The -enable_wrap and -disable_wrap keywords affect only Flow Mirror flows, but they apply to all
Flow Mirror flows, so you cannot specify a flow name. By default, -enable_wrap is active.
ATTENTION
All Flow Mirror flows must be inactive to use -enable_wrap or -disable_wrap as part of a flow -control command. If any Flow Mirror flow is active when you run the command, it will fail and an error
message will be displayed in the interface.
To see the current buffer setting, enter flow--show-ctrlcfg (the buffer status appears in the last line
of the following example, and is called out).
switch:admin> flow --show -ctrlcfg
SimPort Information
Addressing mode information
Port Addressing Mode : index
Device Addressing Mode: PID
Flow Generator Information
Size: 2048
Pattern: Random (Default)
Flow mirror Information
enable_wrap <- current buffer setting
84Flow Vision Administrators Guide
53-1003168-01
Mirroring traffic flowing to remote fabrics
Flow Vision allows you to mirror traffic that is flowing to a remote fabric.
To mirror traffic that is flowing to a remote fabric, in the flow definition you must specify the imported
port ID or real PWWN of the device in the other fabric.
The following illustration shows how such a mirroring situation might be constructed. In this illustration, if
the flow definition is made on Device A (a switch in Fabric 1), then you must use the imported port ID for
B′ to mirror to a port on device B in Fabric 2. If the flow definition is given in WWN mode, then the real
PWWN of Device B can be used instead.
FIGURE 15 Mirroring traffic flowing to a remote fabric
Mirroring traffic flowing to remote fabrics
The following example creates shows the proxy identifications and output of such a flow.
switchP1:admin> fcrproxydevshow
Proxy WWN Proxy Device Physical State
Created PID Exists PID
in Fabric in Fabric
+ Denotes feature is currently activated for the flow
switchP2:admin> flow --show fm_edge1_edge2 -feature mirror
=======================================================================================================
Name : fm_edge1_edge2 Features: mir(Activated) noConfig: Off
Definition: IngrPort(3/22),SrcDev(0x010000),DstDev(0x02f001),MirPort(3/43)
Flow Mirror (Activated):
-------------------------------------------------------------------------------------------No of Mirrored Frames : 1903144, No of RX Mirrored Frames : 1903144, No of TX Mirrored Frames : 0
The following use cases describe how to use Flow Mirror to troubleshoot typical fabric performance
problems.
Diagnosing excessive SCSI reserve and release activity
If there is excessive SCSI reserve and release activity in a virtualized environment, you can use Flow
Mirror to identify the affected LUNs.
The following example creates a flow to mirror all the SCSI release frames from multiple servers to
LUNs on the target on port 1/20. You can then analyze the mirrored frames to determine the impacted
LUNs.
A slow-draining F_Port can be challenging to diagnose. Bottleneck detection allows you to identify the
slow draining F_Port, and Flow Mirroring helps you identify the affected LUN on that F_Port.
The following example creates a flow to mirror traffic passing in both directions from device 0x020200
to F_Port 15 on device 0x040F00, and then displays the output. (The “Frame Contents” column has
been trimmed in this example.) The following image provides a illustration of what is happening in the
example.
------------------------------------------------------------------------------------------- No of Mirrored Frames : 530, No of RX Mirrored Frames : 530, No of TX Mirrored Frames : 0
There are many reasons why you might want to see the SCSI commands being initiated by a host. For
example, such a flow could be used to find all the targets that the host is communicating with. Getting
this data can help identify the favorite targets of a host, which would then allow you to provide additional
privileges like QoS or TI path creation between those devices.
If you want to see all the SCSI frames being initiated by a host device (for example, the host H1
connected to port F1 on switch SW Dom1 in the following figure), you would create a pair of flow
definitions such as the following on the switch SW Dom 2:
Then you would create a flow definition similar to the following on the switch SW Dom 1:
switch:admin> flow -create SCSIflow2 -feature mirror -ingrport F1 -frametype scsicmd
This flow will mirror all the frames containing SCSI commands that ingress through port F1. As you can
have only one mirror flow active at a time for a chassis or fixed port switch, you cannot trap all the
frames initiated by H1 to both T2 and T3 at the same time. This makes it almost impossible to capture
all the SCSI command frames initiated by H1. However, by using the –frametype option along with –
ingrport option, you can still track frames between a given initiator and target pair. This will help you
view any of the SCSI frames which are being sent out by H1 to any target in the zone.
Flow Vision Administrators Guide87
53-1003168-01
Tracking latency between a host and all connected targets
FIGURE 17 SCSI command tracking
Tracking latency between a host and all connected targets
In order to smooth out application performance, you may want to track the latency of SCSI InitiatorTarget pairs so that you can load balance them.
The following examples capture all the SCSI commands and their status frames initiated by device H1
ingressing through port F1, as illustrated by the following figure. This will capture all the SCSI
commands and status frames that can be viewed using Flow Vision. You can then deduce the latency
between a SCSI command and its respective status frame for a CPU-mirrored flow at the host port by
viewing the output of the Flow Mirror flow using the flow--show command, and for a local mirrored
flow by viewing the mirrored frame data.
FIGURE 18 SCSI command tracking for latency
NOTE
In both of the following examples, specifying -frametypescsicmdsts implicitly makes the flow capture
bidirectional.
88Flow Vision Administrators Guide
53-1003168-01
Troubleshooting protocol errors
Tracking latency using a CPU-mirrored flow
To track the latency using a CPU-mirrored flow, you create the flow and then use the flow--show
command to view the captured results. In this case, the latency is an approximate latency (best effort
latency), because the latency is an approximate latency block completion time. You can use the time
stamps on the appropriate frames and deduce the latency from those values. The following example
shows a typical command for this purpose; be aware that the output is dependent on the fabric
topology.
switch:admin> flow --create fm_scsicmdsts -feature mirror -srcdev 10:00:8c:7c:ff:25:aa:00 -ingrport
3/11 -frametype scsicmdsts
Mirror feature(s) have been activated.
switch:admin> flow --show fm_scsicmdsts -feature mirror
=======================================================================================================
Name : fm_scsicmdsts Features: mir(Activated) noConfig: Off
Definition: IngrPort(3/11),SrcDev(10:00:8c:7c:ff:25:aa:00),FrameType(scmdsts)
Flow Mirror (Activated):
-----------------------------------------------------------------------------------------------| DID(*) | OXID | RXID | SOF | EOF | Frame_type | LUN(*) | Dir | Time-Stamp |
----------------------------------------------------------------------------------------------- No of Mirrored Frames : 5120, No of RX Mirrored Frames : 2567, No of TX Mirrored Frames : 2553
To track the latency using a locally mirrored flow, you must first specify the mirror port, and then create
the flow using that mirror port. You can then deduce the latency by viewing the mirrored frames. In this
case, the latency is close to the exact latency, because the latency I/O Block completion time is close to
the actual I/O Block time. The following example shows a typical command for this purpose; the output
can be viewed on an analyzer.
You can use Flow Mirror to mirror protocol error frames by creating a flow that tracks the error frames
you want to know about.
The following example mirrors only SCSI abort (ABTS) frames egressing through port 1/20. The Flow
Mirror output provides you with samples of the ABTS frames for detailed analysis.
This can also be set up to mirror frames based on the total ABTS count provided by Flow Monitor. The
following example creates such a flow to the CPU and then shows the output. IF you wanted to mirror to
a local port (LFM), you would add -mirrorportport_ID at the end of the command.
switch:admin> flow --create fm_abts -feature mirror -srcdev "*" -dstdev "*" -ingrport 3/4 -frametype
abts
Mirror feature(s) have been activated.
Flow Vision Administrators Guide89
53-1003168-01
Flow Mirror and High Availability
switch:admin> flow --show fm_abts
=======================================================================================================
=
Name : fm_abts Features: mir(Activated) noConfig: Off
Definition: IngrPort(3/4),SrcDev(*),DstDev(*),FrameType(abts)
------------------------------------------------------------------------------------------- No of Mirrored Frames : 5120, No of RX Mirrored Frames : 5120, No of TX Mirrored Frames : 0
On High Availability (HA) failover, HA reboot, or a power cycle, Flow Mirror will stop mirroring frames
until the system recovers; at which point it will resume mirroring. This could be as early as when the
hashow command indicates that both control processor units (CPUs) are in sync, but it could occur
after HA sync, in which case switchshow output would then indicate the correct switch port status. All
flow statistics are cleared and reset after a failover recovery. Refer to High Availability and Flow Vision
on page 32 for more information.
90Flow Vision Administrators Guide
53-1003168-01
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.