IBNODES(8)
π IBNODES(8) π
OpenIB Diagnostics Β· the lil' star of the family, and yes bestie, we're getting into all of it πΈ
β¨ NAME β¨
IBNODES β show InfiniBand nodes in topology π¦
π SYNOPSIS π
ibnodes [options] [<topology-file>]
π DESCRIPTION π
So like, ibnodes is a script, right? And it does one of two things: either it goes for a lil' walk through the IB subnet topology π, or it reads a topology file you already saved (iconic, saving things) and pulls the IB nodes out of it β that's your CAs and your switches, both, together, no cap. π
β OPTIONS β
-C,--Ca<ca_name> β use the specified ca_name. like, this exact one, please and thank you πββοΈ-P,--Port<ca_port> β use the specified ca_port.-t,--timeout<timeout_ms> β override the default timeout for the solicited mads. yes we're micromanaging the mads now, it's fine β°-h,--helpβ show the usage message π«Ά--config,-z<config_file> β Specify alternate config file.- Default:
/etc/infiniband-diags/ibdiag.conf
- Default:
πΈ Local port Selection πΈ
Multiple port / Multiple CA support, okay so listen: when you don't specify an IB device or port (peep the "local umad parameters" below π), the libibumad library picks the port for you using this criteria:
- the first port that is ACTIVE. π₯
- 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 tried its best, and its best was not enough π)
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.
π¦ 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. (it's giving "one config to rule them all" π)
π NODE NAME MAP FILE FORMAT π
The node name map is used to specify user friendly names for nodes in the output. GUIDs are used to perform the lookup. π
This functionality is provided by the opensm-libs package. See opensm(8) for the file location for your installation.
Generically:
# comment
<guid> "<name>"
Example:
# IB1
# Line cards
0x0008f104003f125c "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D"
0x0008f104003f125d "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D"
0x0008f104003f10d2 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D"
0x0008f104003f10d3 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D"
0x0008f104003f10bf "IB1 (Rack 11 slot 12 ) ISR9288/ISR9096 Voltaire sLB-24D"
# Spines
0x0008f10400400e2d "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
0x0008f10400400e2e "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
0x0008f10400400e2f "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
0x0008f10400400e31 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D"
0x0008f10400400e32 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D"
# GUID Node Name
0x0008f10400411a08 "SW1 (Rack 3) ISR9024 Voltaire 9024D"
0x0008f10400411a28 "SW2 (Rack 3) ISR9024 Voltaire 9024D"
0x0008f10400411a34 "SW3 (Rack 3) ISR9024 Voltaire 9024D"
0x0008f104004119d0 "SW4 (Rack 3) ISR9024 Voltaire 9024D"
π SEE ALSO π
π DEPENDENCIES π
ibnetdiscover, ibnetdiscover format
π AUTHOR π
Hal Rosenstock <<halr@voltaire.com>>
okay that's the whole thing bestie, you literally know ibnodes now π
β¨
this was brought to you by the OpenIB Diagnostics crew, dated 2012-05-14, filed under IBNODES(8) β periodt π
π¦ 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