IBCCQUERY(8)

πŸ’« IBCCQUERY β€” it's giving OpenIB Diagnostics energy πŸ’«

okay bestie, so ibccquery is from the OpenIB Diagnostics family (section 8, system admin tools, we love a managerial era πŸ‘‘). Also heads up, its NAME is literally rendered as IBCCQUERY in the header, but everyone calls it ibccquery in the shell, and that's the whole brand. Let's get into it πŸ¦‹


✨ SYNOPSIS ✨

ibccquery [common_options] [-c cckey] <op> <lid|guid> [port]

🌸 DESCRIPTION 🌸

ibccquery is your girl for querying settings and other info related to congestion control. like, if congestion control info is the main character, this tool is the group chat asking it how it's doing. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

Here are the currently supported operations and their parameters, bestie, and I need you to read all of them because they're all important, no cap:

  • CongestionInfo (CI) <addr>
  • CongestionKeyInfo (CK) <addr>
  • CongestionLog (CL) <addr>
  • SwitchCongestionSetting (SS) <addr>
  • SwitchPortCongestionSetting (SP) <addr> [<portnum>]
  • CACongestionSetting (CS) <addr>
  • CongestionControlTable (CT) <addr>
  • Timestamp (TI) <addr>
  • --cckey, -c <cckey> β€” specify a congestion control (CC) key. if you don't specify one, a key of 0 gets used, that's just the default and it's fine fr fr.

πŸ› Debugging flags

  • -d β€” raise the IB debugging level. you can stack it, like -ddd or -d -d -d, because sometimes you just need MORE.
  • -e β€” show send and receive errors (timeouts and others). the receipts, basically 🫢
  • -h, --help β€” show the usage message.
  • -v, --verbose β€” increase the application verbosity level. stackable too, so -vv or -v -v -v are both valid vibes.
  • -V, --version β€” show the version info.

🧭 Addressing Flags

  • -G, --Guid β€” the address specified is a Port GUID.
  • -L, --Lid β€” the address specified is a LID.
  • -s, --sm_port <smlid> β€” use smlid as the target lid for SA queries.

🌈 Port Selection flags

  • -C, --Ca <ca_name> β€” use the specified ca_name.
  • -P, --Port <ca_port> β€” use the specified ca_port.
  • -Y, --pkey-idx <idx> β€” P_Key table index (0-65535, default 0) used for the outgoing SA/GMP MADs. SMP (SMI directed-route/LID-routed) MADs always use P_Key index 0, like, they do not take requests on this one, periodt.

🏠 Local port Selection

Multiple port / multiple CA support, okay so listen: when no IB device or port is specified (peep the "local umad parameters" below), the libibumad library picks the port to use by these criteria:

  1. the first port that is ACTIVE.
  2. if not found, the first port that is UP (physical link up).

If a port and/or CA name is specified, the libibumad library attempts to fulfill the user request, and will fail if it is not possible. it's giving "we tried our best but the vibe check failed" 😭

For example:

ibaddr                 # use the first port (criteria #1 above)
ibaddr -C mthca1       # pick the best port from "mthca1" only.
ibaddr -P 2            # use the second (active/up) port from the first available IB device.
ibaddr -C mthca0 -P 2  # use the specified port only.

βš™οΈ Configuration flags

  • -y, --m_key <key> β€” use the specified M_key for requests. if a non-numeric value (like 'x') is specified, then a value will be prompted for. yes, it will ask you. be ready 🫣
  • --config, -z <config_file> β€” specify alternate config file.
    • Default: /etc/infiniband-diags/ibdiag.conf

πŸ“ FILES πŸ“

CONFIG FILE

/etc/infiniband-diags/ibdiag.conf

A global config file is provided to set some of the common options for all tools. see the supplied config file for details. lowkey iconic that one file runs the whole friend group πŸ’œ


πŸ”₯ EXAMPLES πŸ”₯

ibccquery CongestionInfo 3              # Congestion Info by lid
ibccquery SwitchPortCongestionSetting 3 # Query all Switch Port Congestion Settings
ibccquery SwitchPortCongestionSetting 3 1 # Query Switch Port Congestion Setting for port 1

πŸ‘‘ AUTHOR πŸ‘‘

Albert Chu < <chu11@llnl.gov> >


and that's the tea, bestie πŸ“ this page is dated 2012-05-31 and it's chillin' in the OpenIB Diagnostics collection as IBCCQUERY(8) β€” go query something, you're literally so good at this πŸ’–βœ¨

πŸ“¦ where this page comes from
  • arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
  • ubuntu stonking: infiniband-diags 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms