opareport(8)
π opareport β the IFSFFCLIRG (Man Page) glow-up β¨
NAME πΈ
opareport
Bestie. Okay so. This is the tool for fabric analysis and reporting β it's giving main character energy for your whole fabric. It's (All) flavors of useful, and it's got powerful fabric analysis and reporting capabilities, no cap.
π¨ Real talk though: you must run this on a host that's connected to the Intel(R) Omni-Path Fabric, and you must have the Intel(R) Omni-Path Fabric Suite FastFabric Toolset installed. No toolset, no report, periodt.
Syntax β¨
opareport [-v][-q] [-h hfi] [-p port] [--timeout] [-o report]
[-d detail] [-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]
Options π
--helpβ spills the full help text. Like, the whole thing. Full tea.-v/--verboseβ returns verbose output. Extra detail, extra yapping, we love her for it.-q/--quietβ disables progress reports. She's shy now. No running commentary.-h/--hfihfi β specifies the HFI, numbered1..n. Using0specifies that the-p portport is a system-wide port number. Default is0.-p/--portport β specifies the port, numbered1..n. Using0specifies the first active port. Default is0.--timeoutβ specifies the timeout (that's the wait time for a response, iykyk) in ms. Default is1000ms.-o/--outputreport β specifies the report type for output. Peep the Report Types section for the deets.-d/--detaillevel β specifies the level of detail0-nfor output. Default is2.-P/--persistβ only includes data persistent across reboots.-H/--hardβ only includes permanent hardware data.-N/--nonameβ omits node and IOC names. Anonymous era. π-x/--xmlβ produces output in XML.-X/--infilesnapshot_input β generates a report using the data in thesnapshot_inputfile. Thatsnapshot_inputmust have been generated during a previous-o snapshotrun. When you use this, the-s,-i,-C, and-aoptions are ignored (they're just not invited to the party).'-'may be used as thesnapshot_inputto specify stdin.-T/--topologytopology_input β uses thetopology_inputfile to augment and verify fabric information. When you use it, various reports can be augmented with info that isn't available electronically β like cable labels, bestie, the physical receipts.'-'may be used to specify stdin.-s/--statsβ gets performance statistics for all ports.-i/--intervalseconds β obtains performance statistics overintervalseconds. It clears all statistics, waitsintervalseconds, then generates the report. Implies-soption.-b/--begindate_time β obtains performance stats beginning atdate_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.
- If
date_time may 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_time β obtains performance stats ending atdate_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.
- If
date_time may 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/--clearβ clears performance statistics for all ports. Heads up: only statistics with error thresholds are cleared. And the clear happens after generating the report. Order matters, babe. π-a/--clearallβ clears all performance statistics for all ports. Everything. Gone. Iconic but also terrifying.-m/--smadirectβ accesses fabric information directly from SMA.-M/--pmadirectβ accesses performance statistics using direct PMA.-A/--allportsβ getsPortInfofor down switch ports. Uses direct SMA to get this data. If used with-M, also gets PMA stats for down switch ports.-c/--configfile β specifies the error thresholds configuration file. Default is the/etc/opa/opamon.conffile.-L/--limitβ limits operation to the exact specified focus with-Ffor the port error counters check (-o errors) and the port counters clear (-Cor-i). Normally, the neighbor of each selected port is also checked/cleared. Does not affect other reports. She stays in her lane.-F/--focuspoint β specifies the focus area for the report.
Limits output to reflect a subsection of the fabric. Heads up though: it may not work with all reports. (For example, route, mcgroups, and the verify* reports may ignore the option or not generate useful results.) So likeβ¦ she's picky. π
-S/--srcpoint β specifies the source for the trace route. Default is local port.-D/--destpoint β specifies the destination for the trace route.-Q/--quietfocusβ excludes the focus description from the report.
π¦ The -h and -p combo menu π¦
Okay so -h and -p options permit a variety of selections. Pick your fighter:
-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 y within system (no matter which ports are active).-h x -p yβ HFI x, port y.
Snapshot-Specific Options πΈ
-r/--routesβ gets routing tables for all switches.-V/--vltablesβ gets the P-Key tables for all nodes and the QoS VL-related tables for all ports. Two for one, ate. π
πβ¨ Report Types β¨π
okay bestie, so these are all the report types you can ask for. each one is a different flavor of tea, and you literally just pick the one you need. let's get into it:
compsβ a summary of every single system and SM in the fabric. it's giving the whole squad. πbrcompsβ a brief summary of all systems and SMs in the fabric. the TL;DR version, no cap. β¨nodesβ a summary of all node types and SMs in the fabric.brnodesβ a brief summary of all node types and SMs in the fabric.iousβ a summary of all IO units in the fabric.lidsβ a summary of all LIDs in the fabric.linkinfoβ a summary of all links with LIDs in the fabric.linksβ a summary of all links.extlinksβ a summary of links external to systems.filinksβ a summary of links to FIs.islinksβ a summary of inter-switch links.extislinksβ a summary of inter-switch links external to systems.slowlinksβ a summary of links running slower than expected.slowconfiglinksβ a summary of links configured to run slower than supported, includesslowlinks.slowconnlinksβ a summary of links connected with mismatched speed potential, includesslowconfiglinks.misconfiglinksβ a summary of links configured to run slower than supported.misconnlinksβ a summary of links connected with mismatched speed potential.errorsβ a summary of links whose errors exceed counts in the configuration file.otherportsβ a summary of ports not connected to the fabric.linearβ a summary of linear forwarding data base (FDB) for each switch.mcastβ a summary of multicast FDB for each switch in the fabric.mcgroupsβ a summary of multicast groups.
when you use it with -d, here's what you can get:
-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.
portusageβ a summary of ports referenced in linear FDB for each switch, broken down by NodeType of DLID.pathusageβ a 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β a summary of adaptive routing port groups for each switch.quarantinednodesβ a summary of quarantined nodes.validateroutesβ validates all routes in the fabric.validatevlroutesβ validates all routes in the fabric using SLSC, SCSC, and SCVL tables.validatepgsβ validates all port groups in the fabric.validatecreditloopsβ validates topology configuration of the fabric to identify any existing credit loops.validatevlcreditloopsβ validates topology configuration of the fabric including SLSC, SCSC, and SCVL tables to identify any existing credit loops.validatemcroutesβ validates multicast routes of the fabric to identify loops in multicast forwarding tables and detect MFT-multicast membership inconsistencies.vfinfoβ a summary of virtual fabric (vFabric) information.vfmemberβ a summary of vFabric membership information.dgmemberβ a summary of DeviceGroup 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β returnsverifyfisandverifyswsreports.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.verifyfilinksβ compares fabric (or snapshot) links to supplied topology and identify differences and omissions. limits analysis to links to FIs.verifyislinksβ compares fabric (or snapshot) links to supplied topology and identify differences and omissions. limits analysis to inter-switch links.verifyextislinksβ compares fabric (or snapshot) links to supplied topology and identify differences and omissions. limits analysis to inter-switch links external to systems.verifyallβ returnsverifyfis,verifysws,verifysms, andverifylinksreports.allβ returnscomps,nodes,ious,links,extlinks,slowconnlinks, anderrorsreports.routeβ traces route between-Sand-Dpoints.bfrctrlβ reports Buffer Control Tables for all ports.snapshotβ outputs snapshot of the fabric state for later use assnapshot_input. this implies-x. may not be combined with other reports. when selected,-F,-P,-H, and-Noptions are ignored.topologyβ outputs the topology of the fabric for later use astopology_input. this implies-x. may not be combined with other reports. use with detail level 3 or more to get Port element under Node in output xml.noneβ no report, useful to clear statistics.
π¦π Point Syntax π π¦
okay so when you're pointing at stuff, you use these syntaxes. each one is a little key to a specific thing. let's go:
gid:valueβvalueis numeric port GID of form:subnet:guid.lid:valueβvalueis numeric LID.lid:value:nodeβvalueis numeric LID, selects entire node with given LID.lid:value:port:value2βvalueis numeric LID of node,value2is port number.portguid:valueβvalueis numeric port GUID.nodeguid:valueβvalueis numeric node GUID.nodeguid:value1:port:value2βvalue1is numeric node GUID,value2is port number.iocguid:valueβvalueis numeric IOC GUID.iocguid:value1:port:value2βvalue1is numeric IOC GUID,value2is port number.systemguid:valueβvalueis numeric system image GUID.systemguid:value1:port:value2βvalue1is the numeric system image GUID,value2is port number.ioc:valueβvalueis IOC Profile ID String (IOC Name).ioc:value1:port:value2βvalue1is IOC Profile ID String (IOC Name),value2is port number.iocpat:valueβvalueis glob pattern for IOC Profile ID String (IOC Name).iocpat:value1:port:value2βvalue1is glob pattern for IOC Profile ID String (IOC Name),value2is port number.ioctype:valueβvalueis IOC type (SRP or OTHER).ioctype:value1:port:value2βvalue1is IOC type (SRP or OTHER);value2is port number.node:valueβvalueis node description (node name).node:value1:port:value2βvalue1is node description (node name),value2is port number.nodepat:valueβvalueis glob pattern for node description (node name).nodepat:value1:port:value2βvalue1is the glob pattern for the node description (node name),value2is port number.nodedetpat:valueβvalueis glob pattern for node details.nodedetpat:value1:port:value2βvalue1is the glob pattern for the node details,value2is port number.nodetype:valueβvalueis node type (SW or FI).nodetype:value1:port:value2βvalue1is node type (SW or FI),value2is port number.rate:valueβvalueis string for rate (25g,50g,75g,100g), omits switch mgmt port 0.portstate:valueβvalueis a string for state (down,init,armed,active,notactive,initarmed).portphysstate:valueβvalueis a string for PHYs state (polling,disabled,training,linkup,recovery,offline,test)mtucap:valueβvalueis MTU size (2048,4096,8192,10240), omits switch mgmt port 0.labelpat:valueβvalueis glob pattern for cable label.lengthpat:valueβvalueis glob pattern for cable length.cabledetpat:valueβvalueis glob pattern for cable details.cabinflenpat:valueβvalueis glob pattern for cable info length.cabinfvendnamepat:valueβvalueis glob pattern for cable info vendor name.cabinfvendpnpat:valueβvalueis glob pattern for cable info vendor part number.cabinfvendrevpat:valueβvalueis glob pattern for cable info vendor revision.cabinfvendsnpat:valueβvalueis glob pattern for cable info vendor serial number.cabinftype:valueβvalueis eitheroptical,passive_copper,active_copper, orunknown.linkdetpat:valueβvalueis glob pattern for link details.portdetpat:valueβvalueis glob pattern for port details.smβ specifies the master subnet manager (SM).smdetpat:valueβvalueis glob pattern for SM details.route:point1:point2β specifies all ports along the routes between the two given points.led:valueβvalueis eitheronorofffor LED port beacon.linkqual:valueβ specifies the ports with a link quality equal tovalue.linkqualLE:valueβ specifies the ports with a link quality less than or equal tovalue.linkqualGE:valueβ specifies the ports with a link quality greater than or equal tovalue.nodepatfile:FILENAMEβ specifies the name of file with the list of nodepats or node descriptions.nodepairpatfile:FILENAMEβ specifies the name of file with the list of node pairs, separated by a colon.ldrβ specifies the ports with a non-zero link down reason or neighbor link down reason.ldr:valueβ specifies the ports with a link down reason or neighbor link down reason equal tovalue.
β¨ Examples β¨
okay bestie, so opareport can generate hundreds of different reports. The ones people actually run all the time? Say less. Here's the iconic cheat sheet, copy-paste responsibly:
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 π«
Okay so opareport also vibes 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. periodt.
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. ate.
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 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. iykyk.
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). slay.
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(R) Omni-Path Host Fabric Interface (HFI) and port may be specified to select the fabric to analyze. main character energy.
π That's the whole vibe, bestie! This page is from Intel Corporation, copyright 2015-2019, and it's the opareport(8) manual. Go query that fabric and slay. β¨π¦
π¦ where this page comes from
- centos-stream 9: opa-fastfabric 1:10.12.1.0.6-1.el9 Β· BSD or GPLv2
- debian bookworm: opa-fastfabric 10.10.3.0.11-1+b1 Β· BSD-3-clause-top
- debian trixie: opa-fastfabric 10.10.3.0.11-1+b2 Β· BSD-3-clause-top
- opensuse-leap 16.0: opa-fastfabric 10.14.4.0.20-160000.3.2 Β· BSD-3-Clause OR GPL-2.0-only
- ubuntu jammy: opa-fastfabric 10.10.3.0.11-1ubuntu1 Β· BSD-3-clause-top
- ubuntu noble: opa-fastfabric 10.10.3.0.11-1ubuntu3 Β· BSD-3-clause-top
- ubuntu questing: opa-fastfabric 10.10.3.0.11-1ubuntu3
- ubuntu resolute: opa-fastfabric 10.10.3.0.11-1ubuntu4 Β· BSD-3-clause-top
- ubuntu stonking: opa-fastfabric 10.10.3.0.11-1ubuntu5 Β· BSD-3-clause-top
- Copyright 2015-2019, Intel Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms