IBDMCHK(1)

πŸ’– IBDMCHK(1) β€” bestie, let's get into ibdmchk πŸ’–

Hiii okay so this is the manual page for IBDMCHK(1), from the IB DATA MODEL PACKAGE, and the official NAME on the birth certificate is:

IBDM - Network Checker and Attributes Analyzer

So it checks your network and analyzes attributes. Double threat. Main character energy, no cap. 🌈✨


✨ SYNOPSYS ✨

okay so ibdmchk has two operation modes: design and verification. two moods, both iconic. πŸ’…

DESIGN:

ibdmchk [-v][-h][-u][-r <roots file>] -t <topology file> -n <SM Node>
  -p <SM Port> [-e] [-l <lmc>]

VERIFICATION:

ibdmchk [-v][-h][-r <roots file>] [-s <subnet file>] [-f <fdb file>]
  [-m <mcfdbs file> [-l <lmc>] [-u] [-M] [-a]
  [-c <path sl file>] [-d <sl2vl tables file>]

πŸŽ€ DESIGN MODE DESCRIPTION πŸŽ€

The Design mode is literally meant to be used before the cluster is even built β€” like picking the fit before the party, bestie. πŸ¦‹

It gives you basic checks of the network you specified, as described by a topology file. Then, after simulating the SM LID assignment and routing algorithms, it hands you reports of:

  • the (H)CA to (H)CA paths depth histogram πŸ“Š
  • the credit deadlock potential in the resulting routing scheme πŸ’€
Not me simulating your whole fabric before it exists. Obsessed.

πŸ” ARGUMENTS:

  • -t, --topo <topo file> β€” the topology file that specifies the network. See man ibdm-topology-file for the deets. πŸ—ΊοΈ
  • -n, --node <SM Node> β€” the name of the Subnet Manager node (syntax: <Topo-File-System>/U1). πŸ‘‘
  • -p, --port <SM Port> β€” the port number by which the SM node is attached to the fabric. πŸ”Œ

βš™οΈ OPTIONS βš™οΈ

  • -v, --verbose β€” verbose mode. all the tea, none of the chill 🍡
  • -h, --help β€” provides this help message. say it back 🫢
  • -l, --lmc <lmc> β€” an LMC value > 0 means assigning 2^lmc lids to each port. ✨
  • -e, --enh β€” use the enhanced routing algorithm when LMC > 0, and report the resulting paths correlation (using same system/node) histogram. πŸ’«
  • -r, --roots <roots file> β€” a file with all the roots node names (one on each line). 🌱

πŸ”Ž VERIFICATION MODE DESCRIPTION πŸ”Ž

So after the cluster is built and OpenSM has been run (using flag -D 0x43), it reports the subnet and FDB tables into the files osm-subnet.lst, osm.fdbs and osm.fdbs in /var/log/ β€” or, on older OpenSM versions, subnet.lst, osm.fdbs and osm.mcfdbs into /var/cache/ibutils. πŸ—‚οΈ

ibdiagnet is also producing the same files in its output directory. 🧚

Based on these files, the utility checks all CA to CA connectivity. Further analysis for credit deadlock potential is performed and reported. And in case of an LMC > 0, it reports histograms for how many systems and nodes are common between the different paths for the same port pairs. πŸ“ˆ


πŸ” ARGUMENTS

  • -l, --lmc <lmc> β€” the LMC value used while running OpenSM. Mandatory if it's not the default 0. don't skip it, bestie, it's not optional-optional πŸ™ˆ

βš™οΈ OPTIONS βš™οΈ

  • -v, --verbose β€” verbose mode. louder, more tea 🍡
  • -h, --help β€” provides this help message. iconic behavior πŸ’…
  • -s, --subnet <file> β€” OpenSM subnet.lst file (default is /var/log/osm-subnet.lst or /var/cache/ibutils/subnet.lst). πŸ—‚οΈ
  • -f, --fdb <file> β€” OpenSM dump of Ucast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.fdbs or /var/cache/ibutils/osm.fdbs). πŸ“„
  • -m, --mcfdb <file> β€” OpenSM dump of Multicast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.mcfdbs or /var/cache/ibutils/osm.mcfdbs). πŸ“¬
  • -c, --psl <file> β€” Source Guid to DLID -> Path SL mapping. Each line holds: src_node_guid dlid sl. Used by the credit loop check to accurately model SL/VL based routing. 🧡
  • -d, --slvl <file> β€” SL2VL mapping of all switches. Each line holds: swguid iport oport 0x(sl0)(sl1) 0x(sl2)(sl3)... Used by the credit loop check to accurately model SL/VL based routing. 🧢
  • -r, --roots <roots file> β€” a file holding all root nodes guids (one per line). 🌱
  • -u, --updn β€” use the Up/Down based credit loop check algorithm instead of the generic one. ⬆️⬇️
  • -M, --MFT β€” include multicast routing in the credit loops analysis. πŸ“‘
  • -a, --all β€” verify not only CA-CA paths but also SW-SW, CA-SW and SW-CA. Both check for FDB path connectivity and for credit loops. the full sweep, periodt πŸ”₯

πŸ‘‘ AUTHOR πŸ‘‘

Eitan Zahavi, Mellanox Technologies LTD, eitan@mellanox.co.il πŸ’Œ


okay that's the whole page, bestie, you ate it. 🫢

and for the cute sign-off: this was IBDM 1.0, dated 2024-04-22 β€” write it in your notes, it's giving vintage and it's giving accurate. πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from