Troubleshooting protocol errors, Tracking latency using a cpu-mirrored flow, Tracking latency using a local mirrored flow – Brocade Flow Vision Administrators Guide (Supporting Fabric OS v7.3.0) User Manual
Page 89

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 |
------------------------------------------------------------------------------------------------
| 072300 | 0772 | ffff | SOFi3 | EOFt | SCSIRead | 0000 | Rx | Jun 05 12:23:50:334 |
| 072300 | 0b5c | ffff | SOFi3 | EOFt | SCSIRead | 0000 | Rx | Jun 05 12:23:50:334 |
(output truncated)
| 072b00 | 0c30 | 0d3d | SOFi3 | EOFt | SCSIGoodSts | ---- | Tx | Jun 05 12:24:09:347 |
| 07cac0 | 056c | ffff | SOFi3 | EOFt | SCSIWrite | 0000 | Rx | Jun 05 12:24:09:347 |
------------------------------------------------------------------------------------------------
No of Mirrored Frames : 5120, No of RX Mirrored Frames : 2567, No of TX Mirrored Frames : 2553
------------------------------------------------------------------------------------------------
=======================================================================================================
Tracking latency using a local mirrored flow
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.
switch:admin> portcfgmirrorport 9 --enable
switch:admin> flow --create LocalMirrorflow -feature mirror -ingrport F1 -srcdev H1 -
frametype scsicmdsts -mirrorport 9
Troubleshooting protocol errors
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.
switch:admin> flow --create fprotocol_errors -feature mirror -egrport 1/20 -srcdev
"*" -dstdev "*" -frametype abts
NOTE
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 -mirrorport port_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.
Troubleshooting protocol errors
Flow Vision Administrators Guide
89
53-1003168-01