opaextractsellinks(8)

okay bestie, so you know how you need a spreadsheet of every link in your fabric?? this is that. opaextractsellinks spits out a CSV file listing all or some of the links in the fabric, and it's literally a front end to the opareport tool. the output can get imported into a spreadsheet or parsed by other scripts. so versatile. so iconic. πŸ’…


✨ NAME ✨

opaextractsellinks

Produces a CSV file listing all or some of the links in the fabric. opaextractsellinks is a front end to the opareport tool. The output from this tool can be imported into a spreadsheet or parsed by other scripts.


πŸ¦‹ SYNTAX πŸ¦‹

opaextractsellinks [opareport  options]

πŸŽ€ OPTIONS πŸŽ€

  • --help β€” produces full help text, like a little map of everything. πŸ—ΊοΈ

🌸 opareport options 🌸

The following options are passed to opareport. This subset is considered typical and useful for this command. By design, the tool ignores the -o/--output report option. (yes, ignores it. it said what it said. πŸ™ˆ)

  • -h/--hfi hfi β€” Specifies the HFI, numbered 1..n. Using 0 specifies that the -p port port is a system-wide port number. Default is 0.
  • -p/--port port β€” Specifies the port, numbered 1..n. Using 0 specifies the first active port. Default is 0.
  • -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. '-' 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). '-' may be used to specify stdin.
  • -F/--focus point β€” Specifies the focus area for report. Used for all reports except route to limit scope of report. Refer to Point Syntax for details.

πŸ’œ h and p options permit a variety of selections πŸ’œ

like, a whole buffet of selections. pick your fave:

  • -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.

🌈 POINT SYNTAX 🌈

the way this syntax has so many flavors… let's go one by one, no skips, we're thorough in this house πŸ’–

  • 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 glob pattern for IOC Profile ID String (IOC Name).
  • iocpat:value1:port:value2 β€” value1 is glob pattern for IOC Profile ID String (IOC Name), value2 is port number.
  • ioctype:value β€” value is IOC type (SRP or OTHER).
  • ioctype:value1:port:value2 β€” value1 is IOC type (SRP or OTHER); 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 glob pattern for node description (node name).
  • nodepat:value1:port:value2 β€” value1 is the glob pattern for the node description (node name), value2 is port number.
  • nodedetpat:value β€” value is glob pattern for node details.
  • nodedetpat:value1:port:value2 β€” value1 is the glob pattern for the node details, value2 is port number.
  • nodetype:value β€” value is node type (SW or FI).
  • nodetype:value1:port:value2 β€” value1 is node type (SW or FI), 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 (down, init, armed, active, notactive, initarmed).
  • 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 glob pattern for cable label.
  • lengthpat:value β€” value is glob pattern for cable length.
  • cabledetpat:value β€” value is glob pattern for cable details.
  • cabinflenpat:value β€” value is glob pattern for cable info length.
  • cabinfvendnamepat:value β€” value is glob pattern for cable info vendor name.
  • cabinfvendpnpat:value β€” value is glob pattern for cable info vendor part number.
  • cabinfvendrevpat:value β€” value is glob pattern for cable info vendor revision.
  • cabinfvendsnpat:value β€” value is glob pattern for cable info vendor serial number.
  • cabinftype:value β€” value is either optical, passive_copper, active_copper, or unknown.
  • linkdetpat:value β€” value is glob pattern for link details.
  • portdetpat:value β€” value is glob pattern for port details.
  • sm β€” Specifies the master subnet manager (SM).
  • smdetpat:value β€” value is glob pattern for SM details.
  • route:point1:point2 β€” Specifies all ports along the routes between the two given points.
  • led:value β€” value is either on or off for LED port beacon.
  • linkqual:value β€” Specifies the ports with a link quality equal to value.
  • linkqualLE:value β€” Specifies the ports with a link quality less than or equal to value.
  • linkqualGE:value β€” Specifies the ports with a link quality greater than or equal to value.
  • 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 to value.

⭐ EXAMPLES ⭐

the moment you've all been waiting for 🫢

# List all the links in the fabric:

opaextractsellinks

# List all the links to a switch named "coresw1":

opaextractsellinks -F "node:coresw1"

# List all the connections to end-nodes:

opaextractsellinks -F "nodetype:FI"

# List all the links on the 2nd HFI's fabric of a multi-plane fabric:

opaextractsellinks -h 2

πŸ’€ heads up bestie: opaextractsellinks ignores -o/--output by design. that's just the vibe. don't fight it.

okay that's the whole page, we ate and left no crumbs πŸ‘‘ this was the opaextractsellinks(8) page from the IFSFFCLIRG (Man Page) set, and the bottom-of-the-page realness is Copyright(C) 2015-2019 Intel Corporation β€” so yeah, shoutout Intel, mwah πŸ’‹ go extract those links, you got this, periodt. πŸŽ€πŸ¦‹βœ¨