IBROUTERS(8)

πŸ’« IBROUTERS πŸ’«

okay so bestie, welcome to IBROUTERS, part of the OpenIB Diagnostics fam πŸ’–. Yes the man page header says IBROUTERS(8) but honestly you can just call her ibrouters, she answers to both 🫢.


✨ SYNOPSIS ✨

ibrouters [options] [<topology-file>]

🌸 DESCRIPTION 🌸

so ibrouters is a script, and she has two modes bestie: either she walks the IB subnet topology herself (main character energy, fr), or she reads an already-saved topology file you hand her and pulls the router nodes out of it. That's it. That's the whole job. Iconic, honestly. ✨


πŸŽ€ OPTIONS πŸŽ€

  • -C, --Ca <ca_name> β€” use the specified ca_name, okay bestie, pick your CA.
  • -P, --Port <ca_port> β€” use the specified ca_port, like, exactly that one.
  • -t, --timeout <timeout_ms> β€” override the default timeout for the solicited mads πŸ‘‘
  • -y, --m_key <key> β€” use the specified M_key for requests. and listen: if you give a non-numeric value (like 'x'), she will prompt you for a value instead. so cute of her honestly πŸŽ€
  • -h, --help β€” show the usage message πŸ’…
  • --config, -z <config_file> β€” specify an alternate config file. Default: /etc/infiniband-diags/ibdiag.conf

πŸ¦‹ Local port Selection πŸ¦‹

Multiple port / Multiple CA support: when no IB device or port is specified (peep the "local umad parameters" below πŸ‘€), the libibumad library picks the port to use with 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 tries really hard to fulfill the user request, and will fail if it is not possible. no cap 😀

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 the tools. See the supplied config file for details, bestie, it's all in there πŸ“–βœ¨

🌈 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 πŸ‘€

ibnetdiscover(8)


🧚 DEPENDENCIES 🧚

ibnetdiscover, ibnetdiscover format


πŸ‘‘ AUTHOR πŸ‘‘

Hal Rosenstock < halr@voltaire.com >


2016-12-20 vibes only πŸ’– that's the date and version stamp this page was serving, so if you're reading this from the future, bestie, know that she's been an icon since 2016 ✨ stay slay, go read your topology πŸ¦‹πŸ’…

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