Name
opareport — Provides powerful fabric analysis and reporting capabilities.
Syntax
opareport [-v] [-q] [-h hfi] [-p port] [--timeout] [-o report] [-d level] [-P|-H] [-N] [-x] [-X snapshot_input] [-T topology_input] [-s] [-r] [-V] [-i seconds] [-b date_time] [-e date_time] [-C] [-a] [-m] [-M] [-A] [-c file] [-L] [-F point] [-S point] [-D point] [-Q]
Description
Must be run on a host connected to the CN5000 Omni-Path Fabric with the FastFabric Toolset installed.
Options
--helpProduces full help text.
-v/--verboseReturns verbose output.
-q/--quietDisables progress reports.
-h/--hfihfiSpecifies the SuperNIC, numbered 1..n. Using 0 specifies that the
-p portport is a system-wide port number. Default is 0.-p/--portportSpecifies the port, numbered 1..n. Using 0 specifies the first active port. Default is 0.
--timeoutSpecifies the timeout (wait time for response) in ms. Default is 1000 ms.
-o/--outputreportSpecifies the report type for output. Refer to for details.
-d/--detaillevelSpecifies the level of detail
0-nfor output. Default is 2.-P/--persistOnly includes data persistent across reboots.
-H/--hardOnly includes permanent hardware data.
-N/--nonameOmits node and IOC names.
-x/--xmlProduces output in XML.
-X/--infilesnapshot_inputGenerates a report using the data in the
snapshot_inputfile.snapshot_inputmust have been generated during a previous-o snapshotrun. When used, the-s,-i,-C, and-aoptions are ignored.'-'may be used as thesnapshot_inputto specifystdin.-T/--topologytopology_inputUses
topology_inputfile to augment and verify fabric information. When used, various reports can be augmented with information not available electronically (such as cable labels).'-'may be used to specifystdin.-s/--statsGets performance statistics for all ports.
-i/--intervalsecondsObtains performance statistics over interval
seconds. Clears all statistics, waits intervalseconds, then generates report. Implies-soption.-b/--begindate_timeObtains performance stats beginning at
date_time. Implies-soption.If
-b/--beginand-e/--endare specified, the performance stats are provided over the specified interval.If only
-b/--beginis specified, the absolute value of the performance stats at the specified time is provided.
date_timemay be a time entered as HH:MM[:SS] or date as mm/dd/YYYY, dd.mm.YYYY, YYYY-mm-dd or date followed by time; for example, "2016-07-04 14:40". Relative times are taken as "x [second|minute|hour|day](s) ago".-e/--enddate_timeObtains performance stats ending at
date_time. Implies-soption.If
-b/--beginand-e/--endare specified, the performance stats are provided over the specified interval.If only
-e/--endis specified, the absolute value of the performance stats at the specified time is provided.
date_timemay be a time entered as HH:MM[:SS] or date as mm/dd/YYYY, dd.mm.YYYY, YYYY-mm-dd or date followed by time; for example, "2016-07-04 14:40". Relative times are taken as "x [second|minute|hour|day](s) ago.-C/--clearClears performance statistics for all ports. Only statistics with error thresholds are cleared. A clear occurs after generating the report.
-a/--clearallClears all performance statistics for all ports.
-m/--smadirectAccesses fabric information directly from SMA.
-M/--pmadirectAccesses performance statistics using direct PMA.
-A/--allportsGets 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/--configfileSpecifies the error thresholds configuration file. Default is
/etc/opa/opamon.conffile.-L/--limitLimits operation to exact specified focus with
-Ffor port error counters check (-o errors) and port counters clear (-Cor-i). Normally, the neighbor of each selected port is also checked/cleared. Does not affect other reports.-F/--focuspointSpecifies the focus area for report.
Limits output to reflect a subsection of the fabric. May not work with all reports. (For example, route, mcgroups, and the verify* reports may ignore the option or not generate useful results.)
-S/--srcpointSpecifies the source for trace route. Default is local port.
-D/--destpointSpecifies the destination for trace route.
-Q/--quietfocusExcludes focus description from report.
-h and -p options permit a variety of selections:
-h 0First active port in the system (Default).
-h 0 -p 0First active port in the system.
-hxFirst active port on SuperNIC
x.-hx-p 0First active port on SuperNIC
x.-h 0 -pyPort
ywithin the system (no matter which ports are active).-hx-pySuperNIC
x, porty.
Snapshot-Specific Options
-r/--routesGets routing tables for all switches.
-V/--vltablesGets the PKey tables for all nodes and the QoS VL-related tables for all ports.
Report Types
compsSummary of all systems and SMs in fabric.
brcompsBrief summary of all systems and SMs in fabric.
nodesSummary of all node types and SMs in fabric.
brnodesBrief summary of all node types and SMs in fabric.
iousSummary of all IO units in the fabric.
lidsSummary of all LIDs in the fabric.
linkinfoSummary of all links with LIDs in the fabric.
linksSummary of all links.
extlinksSummary of links external to systems.
filinksSummary of links to FIs.
islinksSummary of inter-switch links.
extislinksSummary of inter-switch links external to systems.
slowlinksSummary of links running slower than expected.
slowconfiglinksSummary of links configured to run slower than supported, includes
slowlinks.slowconnlinksSummary of links connected with mismatched speed potential, includes
slowconfiglinks.misconfiglinksSummary of links configured to run slower than supported.
misconnlinksSummary of links connected with mismatched speed potential.
errorsSummary of links whose errors exceed counts in the configuration file.
otherportsSummary of ports not connected to the fabric.
linearSummary of linear forwarding database (FDB) for each switch.
mcastSummary of multicast FDB for each switch in the fabric.
mcgroupsSummary of multicast groups.
When used in conjunction with
-d, the following report details are possible:-d0: Shows the number of multicast groups-d1: Shows a list of multicast groups-d2: Shows a list of members per multicast group
This report can be used with option
-X.portusageSummary of ports referenced in linear FDB for each switch, broken down by NodeType of DLID.
pathusageSummary of number of FI-to-FI paths routed through each switch port.
treepathusageAnalysis of number of FI-to-FI paths routed through each switch port for a FAT tree.
portgroupsSummary of adaptive routing port groups for each switch.
quarantinednodesSummary of quarantined nodes.
validateroutesValidates all routes in the fabric.
validatevlroutesValidates all routes in the fabric using SLSC, SCSC, and SCVL tables.
validatepgsValidates all port groups in the fabric.
validatecreditloopsValidates topology configuration of the fabric to identify any existing credit loops.
Note
The command
opareport -o validatecreditloopsis only supported in a fat tree topology. When the command is used in a hypercube topology, it will cause false credit loops in the fabric.validatevlcreditloopsValidates topology configuration of the fabric including SLSC, SCSCC, and SCVL tables to identify any existing credit loops.
validatemcroutesValidates multicast routes of the fabric to identify loops in multicast forwarding tables and detect MFT-multicast membership inconsistencies.
vfinfoSummary of virtual fabric (vFabric) information.
vfmemberSummary of vFabric membership information.
dgmemberSummary of DeviceGroup membership information.
verifyfisCompares fabric (or snapshot) FIs to supplied topology and identifies differences and omissions.
verifyswsCompares fabric (or snapshot) switches to supplied topology and identifies differences and omissions.
verifynodesReturns
verifyfisandverifyswsreports.verifysmsCompares fabric (or snapshot) SMs to supplied topology and identifies differences and omissions.
verifylinksCompares fabric (or snapshot) links to supplied topology and identifies differences and omissions.
verifyextlinksCompares fabric (or snapshot) links to supplied topology and identifies differences and omissions. Limits analysis to links external to systems.
verifyfilinksCompares fabric (or snapshot) links to supplied topology and identify differences and omissions. Limits analysis to links to FIs.
verifyislinksCompares fabric (or snapshot) links to supplied topology and identify differences and omissions. Limits analysis to inter-switch links.
verifyextislinksCompares fabric (or snapshot) links to supplied topology and identify differences and omissions. Limits analysis to inter-switch links external to systems.
verifyallReturns
verifyfis,verifysws,verifysms, andverifylinksreports.allReturns
comps,nodes,ious,links,extlinks,slowconnlinks, anderrorsreports.routeTraces route between
-Sand-Dpoints.bfrctrlReports Buffer Control Tables for all ports.
snapshotOutputs snapshot of the fabric state for later use as
. This impliessnapshot_input-x. May not be combined with other reports. When selected,-F,-P,-H, and-Noptions are ignored.topologyOutputs the topology of the fabric for later use as
. This impliestopology_input-x. May not be combined with other reports. Use with detail level 3 or more to get Port element under Node in output XML.noneNo report, useful to clear statistics.
Point Syntax
gid:valueis numeric port GID of form:valuesubnet:guid.lid:valueis numeric LID.valuelid:value:nodelid:value:port:value2is numeric LID of node,valueis port number.value2portguid:valueis numeric port GUID.valuenodeguid:valueis numeric node GUID.valuenodeguid:value1:port:value2is numeric node GUID,value1is port number.value2iocguid:valueiocguid:value1:port:value2systemguid:valueis numeric system image GUID.valuesystemguid:value1:port:value2is the numeric system image GUID,value1is port number.value2ioc:valueioc:value1:port:value2is IOC Profile ID String (IOC Name),value1is port number.value2iocpat:valueiocpat:value1:port:value2isvalue1globpattern for IOC Profile ID String (IOC Name),is port number.value2ioctype:valueioctype:value1:port:value2node:valueis node description (node name).valuenode:value1:port:value2is node description (node name),value1is port number.value2nodepat:valueisvalueglobpattern for node description (node name).nodepat:value1:port:value2is thevalue1globpattern for the node description (node name),is port number.value2nodedetpat:valueisvalueglobpattern for node details.nodedetpat:value1:port:value2is thevalue1globpattern for the node details,is port number.value2nodetype:valueis node type (SW or FI).valuenodetype:value1:port:value2is node type (SW or FI),value1is port number.value2rate:valueis string for rate (25g, 50g, 75g, 100g), omits switch mgmt port 0.valueportstate:valueis a string for state (down, init, armed, active, notactive, initarmed).valueportphysstate:valueis a string for PHYs state (polling, disabled, training, linkup, recovery, offline, test)valuemtucap:valueis MTU size (2048, 4096, 8192, 10240), omits switch mgmt port 0.valuelabelpat:valueisvalueglobpattern for cable label.lengthpat:valueisvalueglobpattern for cable length.cabledetpat:valueisvalueglobpattern for cable details.cabinflenpat:valueisvalueglobpattern for cable info length.cabinfvendnamepat:valueisvalueglobpattern for cable info vendor name.cabinfvendpnpat:valueisvalueglobpattern for cable info vendor part number.cabinfvendrevpat:valueisvalueglobpattern for cable info vendor revision.cabinfvendsnpat:valueisvalueglobpattern for cable info vendor serial number.cabinftype:valueis eithervalueoptical,passive_copper,active_copper, orunknown.linkdetpat:valueisvalueglobpattern for link details.portdetpat:valueisvalueglobpattern for port details.smSpecifies the primary subnet manager (SM).
smdetpat:valueisvalueglobpattern for SM details.route:point1:point2Specifies all ports along the routes between the two given points.
led:valueis eithervalueonorofffor LED port beacon.linkcrc:valueSpecifies ports with an active link CRC equal to
.valuecan be:value14-bit,16-bit,48-bit, or12-16/laneOr their aliases:
14b,16b,48b, orper_laneOmits switch mgmt port 0.
linkcrcNE:valueSpecifies ports with an active link CRC not equal to
.valuecan be:value14-bit,16-bit,48-bit, or12-16/laneOr their aliases:
14b,16b,48b, orper_laneOmits switch mgmt port 0.
linkqual:valueSpecifies the ports with a link quality equal to
.valuelinkqualLE:valueSpecifies the ports with a link quality less than or equal to
.valuelinkqualGE:valueSpecifies the ports with a link quality greater than or equal to
.valuenodepatfile:FILENAMESpecifies the name of file with the list of nodepats or node descriptions.
nodepairpatfile:FILENAMESpecifies the name of file with the list of node pairs, separated by a colon.
ldrSpecifies the ports with a non-zero link down reason or neighbor link down reason.
ldr:valueSpecifies the ports with a link down reason or neighbor link down reason 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 led:on opareport -o nodes -F led:off 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:SRP opareport -o nodes -F ioctype:SRP:port:2 opareport -o extlinks -F rate:100g 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:*hitachi*' 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 -o treepathusage -F nodepairpatfile:FILENAME opareport -o pathusage -F nodepatfile:FILENAME opareport -s -o snapshot > file opareport -o topology > topology.xml opareport -o errors -X file opareport -s --begin "2 days ago" opareport -s --begin "12:30" --end "14:00" opareport -o linkinfo -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 PM, it automatically issues any required PortCounter queries and clears to the PM to access the PMs running totals. If a PM 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 PM 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 counters from the Fabric Manager PM/PA or directly from the fabric PMAs using the -M option.
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 Cornelis 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 SuperNIC and port may be specified to select the fabric to analyze.