smpdump(8)

πŸ’– smpdump(8) β€” dump InfiniBand subnet management attributes πŸ’–

okay bestie, pull up a chair, we're doing Open IB Diagnostics today and the star of the show is smpdump. it lives in section 8 of your manual, she's iconic, she's a little cryptic, and she is going to tell you literally everything about a subnet management attribute if you ask her nicely. 🫢


✨ NAME ✨

smpdump β€” dump InfiniBand subnet management attributes πŸ’…


✨ SYNOPSIS ✨

smpdump [options] <dlid|dr_path> <attribute> [attribute_modifier]

✨ DESCRIPTION ✨

so smpdump is your general purpose SMP utility, right? it goes and gets SM attributes from a specified SMA. that's the whole job. no drama, no side quests. πŸŽ€

and the result? dumped in hex by default. that's just the vibe, we don't make the rules.


✨ OPTIONS ✨

here's where it gets good. buckle up, there's a lot, but every single one of them matters:

  • dlid|drpath β€” the LID or the DR path to the SMA. like, where are we going, bestie? πŸ“
  • attribute β€” the IBA attribute ID for the SM attribute. which one are we looking at?
  • attribute_modifier β€” the IBA modifier for that SM attribute. optional lil garnish ✨
  • -s, --string β€” prints strings in the packet if it possibly can. if it can, it will. 🌸

πŸ’« Addressing Flags πŸ’«

  • -D, --Direct β€” the address you specified is a directed route.

Examples, and yes these are exact:

[options] -D [options] "0"          # self port
[options] -D [options] "0,1,2,1,4"  # out via port 1, then 2, ...
(Note the second number in the path specified must match the port being used. This can be specified using the port selection flag '-P' or the port found through the automatic selection process.)
  • -L, --Lid β€” the address you specified is a LID.

πŸ’« 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 tho: SMP (SMI directed-route/LID-routed) MADs always use P_Key index 0. no exceptions, no cap. πŸ’€

πŸ’« Local port Selection πŸ’«

Multiple port / multiple CA support, iykyk: when no IB device or port is specified (see 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).

and if you do specify a port and/or CA name, the libibumad library tries to fulfill your request, and will just fail if it can't. sorry babe, it tried. 😭

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.

πŸ’« Debugging flags πŸ’«

  • -d β€” raise the IB debugging level. can be used several times (-ddd or -d -d -d). more d's more chaos ✨
  • -e β€” show send and receive errors (timeouts and others). our little tattletale.
  • -h, --help β€” show the usage message. the classic.
  • -v, --verbose β€” increase the application verbosity level. can be used several times (-vv or -v -v -v).
  • -V, --version β€” show the version info.

πŸ’« Configuration flags πŸ’«

  • -t, --timeout <timeout_ms> β€” override the default timeout for the solicited mads. ⏳
  • --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 so you can set some of the common options for all the tools. see the supplied config file for details. one file to rule them all, main character energy fr fr πŸ‘‘


✨ EXAMPLES ✨

Direct Routed Examples, get into it:

smpdump -D 0,1,2,3,5 16 # NODE DESC
smpdump -D 0,1,2 0x15 2 # PORT INFO, port 2

LID Routed Examples, part two:

smpdump 3 0x15 2        # PORT INFO, lid 3 port 2
smpdump 0xa0 0x11       # NODE INFO, lid 0xa0

✨ SEE ALSO ✨

smpquery (8) β€” go say hi, she's family πŸ¦‹


✨ AUTHOR ✨

Hal Rosenstock < <halr@voltaire.com> >


okay and that's the whole page, bestie, you ate that. πŸ’–

to send you off with the receipts: this one's straight out of the Open IB Diagnostics set, stamped 2017-08-21, and it belongs to manual section 8 β€” so smpdump(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