opapmaquery(1)

๐ŸŒธ NAME ๐ŸŒธ

okay bestie, welcome to opapmaquery(1) โ€” a page straight out of the IFSFFCLIRG man set, and honestly? it's a good one. ๐Ÿ’–

opapmaquery โ€” (All) performs individual PMA queries against a specific LID. It is very useful in displaying port runtime information. like, that's its whole thing and it ate. โœจ


๐ŸŽ€ Syntax ๐ŸŽ€

no cap, here's the shape of it:

opapmaquery [-v] [-s  sl] [-l  lid] [-h  hfi] [-p  port] [-o  otype]
[-m  port] [-n  mask] [-e  mask] [-w  mask]

โœจ Options โœจ

every single one, we're not skipping a thing, periodt. ๐Ÿ‘‘

  • --help โ€” Produces full help text. ๐Ÿ’…
  • -v โ€” Specifies the verbose output. Can be specified more than once for additional openib debugging and libibumad debugging. ๐Ÿ” (yes, stack it up, it just gets louder)
  • -s sl โ€” Specifies different service level. Default is SM SL. ๐ŸŒˆ
  • -l lid โ€” Specifies the destination LID. Default is local port. ๐Ÿ“
  • -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. ๐ŸŽ€
  • -o otype โ€” Specifies the output type. Default is getportstatus. Refer to otype options vary by report for supported options. ๐Ÿ‘€

Valid output types are:

  • classportinfo โ€” Specifies the class of port info.
  • getportstatus โ€” Specifies the list of port counters. Supported options:
    • [-m port] [-w vl mask]
  • clearportstatus โ€” Clears the port counters. Supported options:
    • [-n port mask] [-e counter mask] [-w vl mask]
  • getdatacounters โ€” Specifies the list of data counters. Supported options:
    • [-n port mask] [-w vl mask]
  • geterrorcounters โ€” Specifies the list of error counters. Supported options:
    • [-n port mask] [-w vl mask]
  • geterrorinfo โ€” Specifies the list of error info. Supported options:
    • [-n port mask]
  • clearerrorinfo โ€” Clears the error info. Supported options:
    • [-n port mask] [-e counter mask]

okay so the -h and -p options permit a variety of selections, and the way that this works is genuinely so satisfying. 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.

๐Ÿฆ‹ otype options vary by report ๐Ÿฆ‹

  • -m port โ€” Specifies the port in destination device to query/clear. Required when using -l option for all but -o classportinfo. โš ๏ธ (required, fr fr, don't forget it)
  • -n mask โ€” Specifies the port mask, in hexadecimal. Bits represent ports 63-0. For example: 0x2 for port 1, 0x6 for ports 1, 2. ๐Ÿงฎ
  • -e mask โ€” Specifies the counter/error select mask, in hexadecimal. The following lists "Mask - Bit - Location for Counters". Where applicable, location "for Error Info" is presented. Default is all bits set (0xffffffe0). ๐Ÿ’œ
    • 0x80000000 - 31 - Transmit Data (XmitData) For Error Info: Receive Error Info
    • 0x40000000 - 30 - Receive Data (RcvData) For Error Info: Excessive Buffer Overrun
    • 0x20000000 - 29 - Transmit Packets (XmitPkts) For Error Info: Transmit Const Error Info
    • 0x10000000 - 28 - Receive Packets (RcvPkts) For Error Info: Receive Const Error Info
    • 0x08000000 - 27 - Multicast Transmit Packets (MulticastXmitPkts) For Error Info: Receive Switch Relay Error Info
    • 0x04000000 - 26 - Multicast Receive Packets (MulticastRcvPkts) For Error Info: Uncorrectable Error Info
    • 0x02000000 - 25 - Transmit Wait (XmitWait) For Error Info: FM Configuration Error Info
    • 0x01000000 - 24 - Congestion Discards (CongDiscards)
    • 0x00800000 - 23 - Receive FECN (RcvFECN)
    • 0x00400000 - 22 - Receive BECN (RcvBECN)
    • 0x00200000 - 21 - Transmit Time Congestion (XmitTimeCong)
    • 0x00100000 - 20 - Transmit Time Wasted BW (XmitWastedBW)
    • 0x00080000 - 19 - Transmit Time Wait Data (XmitWaitData)
    • 0x00040000 - 18 - Receive Bubble (RcvBubble)
    • 0x00020000 - 17 - Mark FECN (MarkFECN)
    • 0x00010000 - 16 - Receive Constraint Errors (RcvConstraintErrors)
    • 0x00008000 - 15 - Receive Switch Relay (RcvSwitchRelayErrors)
    • 0x00004000 - 14 - Transmit Discards (XmitDiscards)
    • 0x00002000 - 13 - Transmit Constraint Errors (XmitConstraintErrors)
    • 0x00001000 - 12 - Receive Remote Physical Errors (RcvRemotePhysicalErrors)
    • 0x00000800 - 11 - Local Link Integrity (LocalLinkIntegrityErrors)
    • 0x00000400 - 10 - Receive Errors (RcvErrors)
    • 0x00000200 - 9 - Excessive Buffer Overrun (ExcessiveBufferOverruns)
    • 0x00000100 - 8 - FM Configuration Errors (FMConfigErrors)
    • 0x00000080 - 7 - Link Error Recovery (LinkErrorRecovery)
    • 0x00000040 - 6 - Link Error Downed (LinkDowned)
    • 0x00000020 - 5 - Uncorrectable Errors (UncorrectableErrors)
  • -w mask โ€” Specifies the Virtual Lane Select Mask, in hexadecimal. Bits represent VL number 31-0. For example, 0x1 for VL 0, 0x3 for VL 0,1. Default is none. ๐ŸŒŠ

๐Ÿ’– Examples ๐Ÿ’–

here's the whole lineup, copied character-for-character, comments and all, because we do not edit the facts in this house ๐Ÿซถ

opapmaquery -o classportinfo

opapmaquery -o getportstatus

# get data and error counts, local port

opapmaquery -o getdatacounters -n 0x2

# get data counts, local port 1

opapmaquery -o geterrorcounters -n 0x2

# get error counts, local port 1

opapmaquery -o clearportstatus -n 0x2

# clear all counters local port 1

opapmaquery -o geterrorinfo -n 0x2

# get error info for local port 1

opapmaquery -o clearerrorinfo -n 0x2

# clear all error info, local port 1

opapmaquery -o getdatacounters -l 6 -n 0x7e -w 0x1

# for device at LID 6, get data counters on ports 1-6, inclusive of VL 0
data

opapmaquery -o clearportstatus -l 6 -n 0x2 -e 0x1ffff

# for device at LID 6, on port 1, clear only error counters

opapmaquery -o clearerrorinfo -l 6 -n 0x2 -e 0x04000000

# for device at LID 6, on ports 1, clear uncorrectable error info
๐Ÿ’€ gentle reminder bestie: clearportstatus and clearerrorinfo literally clear things. clearing counters is not a vibe check you can undo, so double-check your -l, -n and -e before you hit enter. ๐Ÿ™ˆ

๐Ÿ‘‘ the sign-off ๐Ÿ‘‘

that's the whole page, no crumbs left. this one's Copyright(C) 2015-2019 Intel Corporation, and it's the opapmaquery(1) page from the IFSFFCLIRG (Man Page) set โ€” so go query some ports, you absolute icon. ๐Ÿ’…โœจ๐ŸŒˆ๐Ÿฆ‹๐Ÿ’–