opareport

(All) Provides powerful fabric analysis and reporting capabilities. Must be run on a host connected to the Intel® Omni-Path Fabric with the Intel® Omni-Path Fabric Suite FastFabric Toolset installed.

Syntax

opareport [-v][-q] [-h hfi] [-p port]
[-o report] [-d detail] [-P|-H] [-N] [-x]
[-X snapshot_input] [-T topology_input] [-s] [-r] [-V] 
[-i seconds] [-C] [-a] [-m] [-K mkey] [-M] [-A] [-c file] [-L] 
[-F point] [-S point] [-D point] [-Q]

or

opareport --help

Options

--help

Produces full help text.

-v/--verbose

Returns verbose output.

-q/--quiet

Disables progress reports.

-h hfi

HFI, numbered 1..n. Using 0 specifies that the -p port port is a system-wide port number. Default is 0.

-p port

Port, numbered 1..n. If -h hfi is 0 then port is a system-wide port number. Default is 1.

-o/--output report

Report type for output. Refer to Report Types for details.

-d/--detail detail

Level of detail 0-n for output. Default is 2.

-P/--persist

Includes data persistent across reboots.

-H/--hard

Includes permanent hardware data.

-N/--noname

Omits node and IOC names.

-x/--xml

Produces output in XML.

-X/--infile snapshot_input

Generates a report using the data in the snapshot_input file. snapshot_input must have been generated during a previous -o snapshot run. When used, the -s, -i, -C, and -a options are ignored. Not permitted with -o route and -F route. '-' may be used as the snapshot_input to specify stdin.

-T/--topology topology_input

Uses topology_input file to augment and verify fabric information. When used, various reports can be augmented with information not available electronically (such as cable labels and lengths). '-' may be used to specify stdin.

-s/--stats

Gets performance statistics for all ports.

-i/--interval seconds

Obtains performance statistics over interval seconds, clears all statistics, waits interval seconds, then generates report. Implies -s option.

-C/--clear

Clears performance statistics for all ports. Only statistics with error thresholds are cleared. A clear occurs after generating the report.

-a/--clearall

Clears all performance statistics for all ports.

-m/--smadirect

Accesses fabric information directly from SMA.

-K/--mkey mkey

SMA M_Key for direct SMA query. Default is 0.

-M/--pmadirect

Accesses performance statistics using direct PMA.

-A/--allports

Gets PortInfo for down switch ports. Uses direct SMA to get this data. If used with -M, also gets PMA stats for down-switch ports.

-c/--config file

Error thresholds configuration file. Default is /etc/sysconfig/opa/opamon.conf file.

-L/--limit

Limits operation to exact specified focus with -F for port error counters check (-o errors) and port counters clear (-C or -i). Normally, the neighbor of each selected port is also checked/cleared. Does not affect other reports.

-F/--focus point

Focus area for report. Used for all reports except route to limit scope of report. Refer to Point Syntax for details.

-S/--src point

Source for trace route, default is local port. Refer to Point Syntax for details.

-D/--dest point

Destination for trace route. Refer to Point Syntax for details.

-Q/--quietfocus

Excludes focus description from report.

-h 0

First active port in system (default).

-h 0 -p 0

First active port in system.

-h x

First active port on HFI x.

-h x -p 0

First active port on HFI x.

-h 0 -p y

Port within system (no matter which ports are active).

-h x -p y

HFI x, port y.

-r/--routes

Gets routing tables for all switches.

-V/--vltables

Gets QOS VL-related tables for all ports.

Report Types

comps

Summary of all systems and SMs in fabric.

brcomps

Brief summary of all systems and SMs in fabric.

nodes

Summary of all node types and SMs in fabric.

brnodes

Brief summary of all node types and SMs in fabric.

ious

Summary of all IO units in the fabric.

lids

Summary of all LIDs in the fabric.

links

Summary of all links.

extlinks

Summary of links external to systems.

slowlinks

Summary of links running slower than expected.

slowconfiglinks

Summary of links configured to run slower than supported, includes slowlinks.

slowconnlinks

Summary of links connected with mismatched speed potential, includes slowconfiglinks.

misconfiglinks

Summary of links configured to run slower than supported.

misconnlinks

Summary of links connected with mismatched speed potential.

errors

Summary of links whose errors exceed counts in the configuration file.

otherports

Summary of ports not connected to the fabric.

linear

Summary of linear forwarding data base (FDB) for each switch.

mcast

Summary of multicast FDB for each switch in the fabric.

portusage

Summary of ports referenced in linear FDB for each switch, broken down by NodeType of DLID.

pathusage

Summary of number of FI to FI paths routed through each switch port.

treepathusage

Analysis of number of FI to FI paths routed through each switch port for a FAT tree.

portgroups

Summary of adaptive routing port groups for each switch.

quarantinednodes

Summary of quarantined nodes.

validateroutes

Validates all routes in the fabric.

validatepgs

Validates all port groups in the fabric.

validatecreditloops

Validates topology configuration of the fabric to identify any existing credit loops.

vfinfo

Summary of virtual fabric (vFabric) information.

vfmember

Summary of vFabric membership information.

verifyfis

Compares fabric (or snapshot) FIs to supplied topology and identifies differences and omissions.

verifysws

Compares fabric (or snapshot) switches to supplied topology and identifies differences and omissions.

verifynodes

Returns verifyfis and verifysws reports.

verifysms

Compares fabric (or snapshot) SMs to supplied topology and identifies differences and omissions.

verifylinks

Compares fabric (or snapshot) links to supplied topology and identifies differences and omissions.

verifyextlinks

Compares fabric (or snapshot) links to supplied topology and identifies differences and omissions. Limits analysis to links external to systems.

verifyall

Returns verifyfis, verifysws, verifysms, and verifylinks reports.

all

Returns comps, nodes, ious, links, extlinks, slowconnlinks, and errors reports.

route

Traces route between -S and -D points.

bfrctrl

Reports Buffer Control Tables for all ports.

snapshot

Outputs snapshot of the fabric state for later use as snapshot_input. This implies -x. May not be combined with other reports. When selected, -F, -P, -H, and -N options are ignored.

topology
Outputs the topology of the fabric for later use as topology_input. This implies -x. May not be combined with other reports.
none

No report, useful to clear statistics.

Point Syntax

gid:value

value is numeric port GID of form: subnet:guid.

lid:value

value is numeric LID.

lid:value:node

value is numeric LID, selects entire node with given LID.

lid:value:port:value2

value is numeric LID of node, value2 is port number.

portguid:value

value is numeric port GUID.

nodeguid:value

value is numeric node GUID.

nodeguid:value1:port: value2

value1 is numeric node GUID, value2 is port number.

iocguid:value

value is numeric IOC GUID.

iocguid:value1:port:value2

value1 is numeric IOC GUID, value2 is port number.

systemguid:value

value is numeric system image GUID.

systemguid:value1:port:value2

value1 is the numeric system image GUID, value2 is port number.

ioc:value

value is IOC Profile ID String (IOC Name).

ioc:value1:port:value2

value1 is IOC Profile ID String (IOC Name), value2 is port number.

iocpat:value

value is global pattern for IOC Profile ID String (IOC Name).

iocpat:value1:port:value2

value1 is global pattern for IOC Profile ID String (IOC Name), value2 is port number.

ioctype:value

value is IOC type (VNIC or SRP).

ioctype:value1:port:value2

value1 is IOC type (VNIC or SRP), value2 is port number.

node:value

value is node description (node name).

node:value1:port:value2

value1 is node description (node name), value2 is port number.

nodepat:value

>value is global pattern for node description (node name).

nodepat:value1:port:value2

value1 is the global pattern for the node description (node name), value2 is port number.

nodedetpat:value

value is global pattern for node details.

nodedetpat:value1:port:value2

value1 is the global pattern for the node details, value2 is port number.

nodetype:value

value is node type (SW, FI, or RT).

nodetype:value1:port:value2

value1 is node type (SW, FI, or RT), value2 is port number.

rate:value

value is string for rate (25g, 50g, 75g, 100g), omits switch mgmt port 0.

portstate:value

value is a string for state (init, armed, active).

portphysstate:value

value is a string for PHYs state (polling, disabled, training, linkup, recovery, offline, test)

mtucap:value

value is MTU size (2048, 4096, 8192, 10240), omits switch mgmt port 0.

labelpat:value

value is global pattern for cable label.

lengthpat:value

value is global pattern for cable length.

cabledetpat:value

value is global pattern for cable details.

cabinflenpat:value

value is global pattern for cable info length.

cabinfvendnamepat:value

value is global pattern for cable info vendor name.

cabinfvendpnpat:value

value is global pattern for cable info vendor part number.

cabinfvendrevpat:value

value is global pattern for cable info vendor revision.

cabinfvendsnpat:value

value is global pattern for cable info vendor serial number.

linkdetpat:value

value is global pattern for link details.

portdetpat:value

value is global pattern for port details.

sm

Master subnet manager (SM).

smdetpat:value

value is global pattern for SM details.

route:point1:point2

All ports along the routes between the two given points.

linkqual:value

Ports with a link quality equal to value.

linkqualLE:value

Ports with a link quality less than or equal to value.

linkqualGE:value

Ports with a link quality greater than or equal to value.

Examples

opareport can generate hundreds of different reports. Commonly generated reports include the following:

   opareport -o comps -d 3
   opareport -o errors -o slowlinks
   opareport -o nodes -F portguid:0x00117500a000447b
   opareport -o nodes -F nodeguid:0x001175009800447b:port:1
   opareport -o nodes -F nodeguid:0x001175009800447b
   opareport -o nodes -F 'node:duster hfi1_0'
   opareport -o nodes -F 'node:duster hfi1_0:port:1'
   opareport -o nodes -F 'nodepat:d*'
   opareport -o nodes -F 'nodepat:d*:port:1'
   opareport -o nodes -F 'nodedetpat:compute*'
   opareport -o nodes -F 'nodedetpat:compute*:port:1'
   opareport -o nodes -F nodetype:FI
   opareport -o nodes -F nodetype:FI:port:1
   opareport -o nodes -F lid:1
   opareport -o nodes -F lid:1:node
   opareport -o nodes -F lid:1:port:2
   opareport -o nodes -F gid:0xfe80000000000000:0x00117500a000447b
   opareport -o nodes -F systemguid:0x001175009800447b
   opareport -o nodes -F systemguid:0x001175009800447b:port:1
   opareport -o nodes -F iocguid:0x00117501300001e0
   opareport -o nodes -F iocguid:0x00117501300001e0:port:2
   opareport -o nodes -F 'ioc:Chassis 0x001175005000010C, Slot 2, IOC 1'
   opareport -o nodes -F 'ioc:Chassis 0x001175005000010C, Slot 2, IOC 1:port:2'
   opareport -o nodes -F 'iocpat:*Slot 2*'
   opareport -o nodes -F 'iocpat:*Slot 2*:port:2'
   opareport -o nodes -F ioctype:VNIC
   opareport -o nodes -F ioctype:VNIC:port:2
   opareport -o extlinks -F rate:5g
   opareport -o extlinks -F portstate:armed
   opareport -o extlinks -F portphysstate:linkup
   opareport -o extlinks -F 'labelpat:S1345*'
   opareport -o extlinks -F 'lengthpat:11m'
   opareport -o extlinks -F 'cabledetpat:*gore*'
   opareport -o extlinks -F 'linkdetpat:*core ISL*'
   opareport -o extlinks -F 'portdetpat:*mgmt*'
   opareport -o links -F mtucap:2048
   opareport -o nodes -F sm
   opareport -o nodes -F 'smdetpat:primary*'
   opareport -o nodes -F 'route:node:duster hfi1_0:node:cuda hfi1_0'
   opareport -o nodes -F 'route:node:duster hfi1_0:port:1:node:cuda hfi1_0:port:2'
   opareport -s -o snapshot > file
   opareport -o topology > topology.xml
   opareport -o errors -X file

Other Information

opareport also supports operation with the Fabric Manager Performance Manager (PM)/Performance Manager Agent (PMA). When opareport detects the presence of a PMA, it automatically issues any required PortCounter queries and clears to the PMA to access the PMs running totals. If a PMA is not detected, then opareport directly accesses the PMAs on all the nodes. The -M option can force access to the PMA even if a PMA is present.

opareport takes advantage of these interfaces to obtain extensive information about the fabric from the subnet manager and the end nodes. Using this information, opareport is able to cross-reference it and produce analysis greatly beyond what any single subnet manager request could provide. As such, it exceeds the capabilities previously available in tools such as opasaquery and opafabricinfo.

opareport obtains and displays 64-bit data movement counters from the Fabric Manager PM/PA or directly from the fabric using the -M option. Snapshots generated by this version of opareport, in conjunction with the -s option, may report value out of range errors when used as input to older versions of opareport. However, the thresholds specified in opamon.conf and other input configuration files continue to only support 32-bit values for data movement counter thresholds.

opareport internally cross-references all this information so its output can be in user-friendly form. Reports include GUIDs, LIDs, and names for components. Obviously, these reports are easiest to read if the end user has taken the time to provide unique names for all the components in the fabric (node names and IOC names). All Intel components support this capability. For hosts, the node names are automatically assigned based on the network host name of the server. For switches and line cards, the names can be assigned using the element managers for each component.

Each run of opareport obtains up-to-date information from the fabric. At the start of the run opareport takes a few seconds to obtain all the fabric data, then it is output to stdout. The reports are sorted by GUIDs and other permanent information so they can be rerun in the future and produce output in the same order even if components have been rebooted. This is useful for comparison using simple tools like diff. opareport permits multiple reports to be requested for a single run (for example, one of each report type).

By default, opareport uses the first active port on the local system. However, if the Management Node is connected to more than one fabric (for example, a subnet), the Intel® Omni-Path Host Fabric Interface (HFI) and port may be specified to select the fabric to analyze.