IBCCCONFIG(8)

✨ NAME ✨

ibccconfig β€” configure congestion control settings πŸ’…


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, ibccconfig is your girl for setting up congestion control stuff β€” specifically on switches and HCAs. that's the whole job. that's the vibe. πŸ’–

⚠️ WARNING β€” bestie, you gotta actually understand what you're doing before you run this. Misuse of this tool could result in a broken fabric. like, actually broken. not cute. 😭

πŸ‘‘ OPTIONS πŸ‘‘

Current supported operations and their parameters, slay:

  • CongestionKeyInfo (CK) β€” <lid|guid> <cckey> <cckeyprotectbit> <cckeyleaseperiod> <cckeyviolations>
  • SwitchCongestionSetting (SS) β€” <lid|guid> <controlmap> <victimmask> <creditmask> <threshold> <packetsize> <csthreshold> <csreturndelay> <markingrate>
  • SwitchPortCongestionSetting (SP) β€” <lid|guid> <portnum> <valid> <control_type> <threshold> <packet_size> <cong_parm_marking_rate>
  • CACongestionSetting (CS) β€” <lid|guid> <port_control> <control_map> <ccti_timer> <ccti_increase> <trigger_threshold> <ccti_min>
  • CongestionControlTable (CT) β€” <lid|guid> <cctilimit> <index> <cctentry> <cctentry> ...
  • --cckey, -c, <cckey> β€” specify a congestion control (CC) key. If you don't give one, a key of 0 gets used. default queen behavior. πŸŽ€

πŸ› Debugging flags

  • -d β€” raises the IB debugging level. can be used several times (-ddd or -d -d -d). go feral.
  • -e β€” show send and receive errors (timeouts and others). we love a lil visibility.
  • -h, --help β€” show the usage message.
  • -v, --verbose β€” increases the application verbosity level. may be used several times (-vv or -v -v -v). yap mode activated πŸ’¬
  • -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. heads up though: SMP (SMI directed-route/LID-routed) MADs always use P_Key index 0. no exceptions, periodt.

πŸ’œ Local port Selection

Multiple port / Multiple CA support, bestie: 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 said what it said. πŸ’…

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. spicy. 🌢️
  • --config, -z <config_file> β€” specify alternate config file.

Default: /etc/infiniband-diags/ibdiag.conf


πŸ”₯ EXAMPLES πŸ”₯

here's the good stuff, copy-paste royalty:

ibccconfig SwitchCongestionSetting 2 0x1F 0x1FFFFFFFFF 0x0 0xF 8 0 0:0 1  # Configure Switch Congestion Settings
ibccconfig CACongestionSetting 1 0 0x3 150 1 0 0                          # Configure CA Congestion Settings to SL 0 and SL 1
ibccconfig CACongestionSetting 1 0 0x4 200 1 0 0                          # Configure CA Congestion Settings to SL 2
ibccconfig CongestionControlTable 1 63 0 0:0 0:1 ...                      # Configure first block of Congestion Control Table
ibccconfig CongestionControlTable 1 127 0 0:64 0:65 ...                   # Configure second block of Congestion Control Table

πŸ“ 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 supplied config file for details. iykyk πŸ’–


🌟 AUTHOR 🌟

Albert Chu

<chu11@llnl.gov>


okok that's the whole thing, you're literally so set bestie πŸ«ΆπŸ’– this was OpenIB Diagnostics IBCCCONFIG(8), dated 2012-05-31 β€” iconic since day one, no cap. go configure responsibly πŸ‘‘βœ¨

πŸ“¦ 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