opasaquery(1)
π opasaquery(1) π
IFSFFCLIRG (Man Page) β yeah bestie, that's the family this one lives in π
β¨ NAME β¨
opasaquery β (All) does a whole bunch of different queries against the subnet manager / subnet agent and hands you back detailed fabric info. It's giving fabric detective energy π΅οΈββοΈβ¨
So like, opareport and opareports from the Intel(R) Omni-Path Fabric Suite are honestly a more powerful tool overall. But sometimes opasaquery is just the girl for the job β especially when you're messing with virtual fabrics, service records, and multicast. iykyk π
By default, opasaquery uses the first active port on the local system. But lowkey, if your node is connected to more than one fabric (like, a subnet), you can specify the Intel(R) Omni-Path Host Fabric Interface (HFI) and port to pick exactly which fabric's SA you're querying. main character selection energy π
πΈ Syntax πΈ
opasaquery [-v [-v] [-v]] [-I] [-h hfi|-b addr] [-p port] [--timeout]
[-x gid] [-E] [-T ssl_params] [-o type] [-l lid] [-t type] [-s
guid]
[-n guid] [-g guid] [-k pkey] [-i vfIndex] [-S serviceId] [-L sl]
[-u gid] [-m gid] [-d nodeDescription] [-D dg_name] [-P 'guid
guid']
[-G 'gid gid'] [-H mask]
π Options π
--helpβ spills the full help text, no cap π«Ά-v,--verboseβ gives you verbose output. Hit it a second time and it turns on openib debugging; a third time turns on libibumad debugging. Three layers deep, obsessed π-I,--IBβ issues the query in legacy InfiniBand* format. vintage, but make it fashion β¨-h,--hfihfi β specifies the HFI, numbered1..n. Using0means the-p portport is a system-wide port number. Default is0.-b,--oobaddress β specifies the Out-of-Band address of the node running the FE. Can be a hostname, an IPv4, or an IPv6 address. Default is"127.0.0.1".-p,--portport β specifies the port. Details:- In-band: numbered
1..n. Using0specifies the first active port. Default is0. - Out-of-band: the port the FE is listening on. Default is
3245.
- In-band: numbered
--timeoutβ specifies the timeout (aka the wait time for a response) in ms. Default is1000ms. she's patient but not that patient π-x,--source-gidsrc_gid β specifies the source GID of the local GID. (This is required for most Path and Trace Record Queries when Out-of-Band.) β οΈ don't forget it-E,--feEsmβ specifies the ESM FE.-T,--ssl-paramsfile β specifies the SSL/TLS parameters XML file. Default is/etc/opa/opamgt_tls.xml. π-otype β output type for the query. Default isnode. See Output Types for the deets.-l,--lidlid β query a specific LID.-t,--typenode_type β queries by node type. See Node Types for the deets.-s,--sysguidsystem_image_guid β queries by system image GUID.-n,--nodeguidnode_guid β queries by node GUID.-g,--portguidport_guid β queries by port GUID.-k,--pkeypkey β queries a specific PKey.-i,--vfindexvfIndex β queries a specific vfindex.-S,--serviceIdserviceId β queries a specific service ID.-L,--SLSL β queries by service level.-u,--portgidport_gid β queries by port GID. See GIDs for the deets.-m,--mcgidmulticast_gid β queries by multicast GID. See GIDs for the deets.-d,--descnode_description β queries by node name/description.-D,--dgnamedg_name β queries by device group name/description.-P,--guidpairguid guid β queries by a pair of port GUIDs.-G,--gidpairgid gid β queries by a pair of GIDs. See GIDs for the deets.
π¦ -h and -p options permit a variety of selections π¦
like, mix and match, bestie:
-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.
π Node Types π
fiβ Fabric Interfaceswβ Switch
short and sweet, periodt π
β GIDs β
Specifies a 64-bit subnet and a 64-bit interface ID in the form:
subnet:interface
NOTE: In the following example, the GID corresponds to a PortGID. In this case, the interface ID coincides with the lower 64-bits of the GUID of the card. The interface ID will be different if the GID is a MGID (that is, multicast GID). See opafm.xml for MGID examples. π
0xfe80000000000000:0x00117500a0000380
π Output Types π
Default is node. Here's the whole roster, no skips:
classportinfoβ Specifies the classportinfo of the SA.systemguidβ Lists the system image GUIDs.nodeguidβ Lists the node GUIDs.portguidβ Lists the port GUIDs.lidβ Lists the LIDs.descβ Lists the node descriptions/names.pathβ Lists the path records.nodeβ Lists the node records.portinfoβ Lists the port info records.sminfoβ Lists the SM info records.swinfoβ Lists the switch info records.linkβ Lists the link records.scscβ Lists the SC to SC mapping table records.slscβ Lists the SL to SC mapping table records.scslβ Lists the SC to SL mapping table records.scvltβ Lists the SC to VLt table records.scvlrβ Lists the SC to VLr table records.scvlntβ Lists the SC to VLnt table records.vlarbβ Lists the VL arbitration table records.pkeyβ Lists the PKey table records.serviceβ Lists the service records.mcmemberβ Lists the multicast member records.informβ Lists the inform info records.linfdbβ Lists the switch linear forwarding database (FDB) records.mcfdbβ Lists the switch multicast FDB records.traceβ Lists the trace records.vfinfoβ Lists the vFabrics.vfinfocsvβ Lists the vFabrics in CSV format.vfinfocsv2β Lists the vFabrics in CSV format with enums.fabricinfoβ Specifies the summary of fabric devices.quarantineβ Lists the quarantined nodes.conginfoβ Lists the Congestion Info Records.swcongsetβ Lists the Switch Congestion Settings.swportcongβ Lists the Switch Port Congestion Settings.hficongsetβ Lists the HFI Congestion Settings.hficongconβ Lists the HFI Congestion Control Settings.bfrctrlβ Lists the buffer control tables.cableinfoβ Lists the Cable Info records.portgroupβ Lists the AR Port Group records.portgroupfdbβ Lists the AR Port Group FWD records.dglistβ Lists the Device Group Names.dgmemberβ Lists the Device Group records.dtreeβ Lists the Device Tree records.swcostβ Lists the switch cost records.
The vfinfocsv and vfinfocsv2 output formats are designed to make it easier to script vfinfo queries. One line is output per vFabric, of the form:
name:index:pkey:sl:mtu:rate:optionflag::mcastSl
The only difference between these two formats is how the MTU and rate get output. vfinfocsv outputs MTU and rate in human/text readable format. vfinfocsv2 outputs MTU and rate as enumerations defined for the SMA protocol. The opagetvf command is based on this capability of opasaquery. For more information, see opagetvf. π₯
π§ Example π§
opasaquery -o desc -t fi
π¦ Input Options vs. Output Permitted π¦
okay bestie, this next bit is so important and it's literally the whole vibe check of opasaquery: not every input option lets you ask for every output. like, some combos just are not it. here's the full rundown of what input (the assorted query you make with options) plays nice with which outputs (-o) π
β¨ None β¨
no input option at all? you still get options, bestie π
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,path,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,vfinfo,vfinfocsv,vfinfocsv2,scsc,slsc,scvlt,scnlmt,linfdb,classportinfo,fabricinfo,quarantine,conginfo,swcongset,swportcong,hficongset,hficongcon,bfrctl,cableinfo,portgroup,portgroupfdb,dglist,dgmember,dtree - β
-ooutput not permitted:trace
yes, linfdb really is in there twice. that's the manpage's business, not mine. π«Ά
-t node_type
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,node,dglist,dgmember,dtree - β
-ooutput not permitted:portinfo,sminfo,swinfo,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,trace,vfinfo,vfinfocsv,vfinfocsv2
-l lid
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,path,node,portinfo,swinfo,slvl,vlarb,pkey,mcmember,linfdb,mcfdb,dgmember,dtree - β
-ooutput not permitted:sminfo,link,inform,service,trace,vfinfo,vfinfocsv,vfinfocsv2,dglist
-k pkey
- β
-ooutput permitted:mcmember,path,vfinfo,vfinfocsv,vfinfocsv2 - β
-ooutput not permitted:systemimageguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
iykyk β yes,mcmemberis in both lists for-k. that's exactly what the page says. don't come for me π
-i vfindex
- β
-ooutput permitted:vfinfo,vfinfocsv,vfinfocsv2 - β
-ooutput not permitted:systemimageguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
-s system_image_guid
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,node - β
-ooutput not permitted:portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,trace,vfinfo,vfinfocsv,vfinfocsv2,dglist,dgmember,dtree
-n node_guid
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,node - β
-ooutput not permitted:portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,trace,vfinfo,vfinfocsv,vfinfocsv2,dglist,dgmember,dtree
-g port_guid
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,path,node,trace,dgmember - β
-ooutput not permitted:portinfo,sminfo,swinfo,link,vlarb,pkey,linfdb,mcfdb,vfinfo,vfinfocsv,vfinfocsv2,dglist,dtree,service,mcmember,inform
-u port_gid
- β
-ooutput permitted:path,service,mcmember,inform,trace - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,linfdb,mcfdb,vfinfo,vfinfocsv,vfinfocsv2,dglist,dgmember,dtree
-m multicast_gid
- β
-ooutput permitted:mcmember,vfinfo,vfinfocsv,vfinfocsv2 - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,path,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,inform,linfdb,mcfdb,trace,dglist,dgmember,dtree
-d node_description
- β
-ooutput permitted:systemguid,nodeguid,portguid,lid,desc,node,dgmember - β
-ooutput not permitted:trace,dglist,dtree
-D dg_name
- β
-ooutput permitted:dgmember - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,path,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,inform,linfdb,mcfdb,trace,dglist,dtree
-P port_guid_pair
- β
-ooutput permitted:path,trace - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
-S serviceId
- β
-ooutput permitted:path,vfinfo,vfinfocsv,vfinfocsv2,service - β
-ooutput not permitted:systemimageguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
-L SL
- β
-ooutput permitted:path,vfinfo,vfinfocsv,vfinfocsv2 - β
-ooutput not permitted:systemimageguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
-G gid_pair
- β
-ooutput permitted:path,trace - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,dglist,dgmember,dtree
-a port_guid_list
- β
-ooutput permitted:path - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,trace,dglist,dgmember,dtree
-A gid_list
- β
-ooutput permitted:path - β
-ooutput not permitted:systemguid,nodeguid,portguid,lid,desc,node,portinfo,sminfo,swinfo,link,vlarb,pkey,service,mcmember,inform,linfdb,mcfdb,trace,dglist,dgmember,dtree
so yeah β that's the whole compatibility grid, bestie. if you try an input/output pair that's in the "not permitted" column, don't be shocked when it doesn't vibe. πΈ
π also peep that a couple of these lists usesystemimageguidwhile theNonelist usessystemguid. that's literally what's written, so that's literally what you get. no cap.
and that's a wrap on opasaquery(1)! π big Copyright(C) 2015-2019 Intel Corporation energy up in here β that's the source and version info this page belongs to, bestie, and honestly? iconic. go query some fabrics, main character. β¨π¦π
π¦ where this page comes from
- centos-stream 9: opa-basic-tools 1:10.12.1.0.6-1.el9 Β· BSD or GPLv2
- debian bookworm: opa-basic-tools 10.10.3.0.11-1+b1 Β· BSD-3-clause-top
- debian trixie: opa-basic-tools 10.10.3.0.11-1+b2 Β· BSD-3-clause-top
- opensuse-leap 16.0: opa-basic-tools 10.14.4.0.20-160000.3.2 Β· BSD-3-Clause OR GPL-2.0-only
- ubuntu jammy: opa-basic-tools 10.10.3.0.11-1ubuntu1 Β· BSD-3-clause-top
- ubuntu noble: opa-basic-tools 10.10.3.0.11-1ubuntu3 Β· BSD-3-clause-top
- ubuntu questing: opa-basic-tools 10.10.3.0.11-1ubuntu3
- ubuntu resolute: opa-basic-tools 10.10.3.0.11-1ubuntu4 Β· BSD-3-clause-top
- ubuntu stonking: opa-basic-tools 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