RDMA-NDD(8)
π RDMA-NDD(8) β bestie edition π
okay so first thing, the vibe check: this is the manual page for RDMA-NDD, part of the OpenIB Diagnostics lineup. Pull up a chair, grab a strawberry π, and let's get into it.
β¨ NAME β¨
RDMA-NDD β the RDMA device Node Description update daemon π¦
β¨ SYNOPSIS β¨
rdma-ndd <options>
that's it, that's the whole summoning ritual π
β¨ DESCRIPTION β¨
rdma-ndd is a system daemon, meaning it just chills in the background doing its little job forever. What's the job? It watches for changes to your rdma devices and/or changes to your hostname, and then updates the Node Description of the rdma devices based on whatever changed. Like a friend who notices you changed your profile pic and immediately updates the group chat nickname. no cap. π
β¨ DETAILS β¨
For this daemon to do its full thing, you need kernels that support polling of the procfs hostname file, and you need libudev. Both. The whole package. π
If your system doesn't support either of those features, it's not the end of the world β the daemon will just set the Node Descriptions at start up and then sleep forever. main character energy of a nap. π΄
π§ Node Description configuration
The daemon reads the environment variable RDMA_NDD_ND_FORMAT to figure out what to set the node description to. And listen β you can drop wild cards in there for way more dynamic control:
%hβ gets replaced with the current hostname (not including the domain, so keep your expectations realistic bestie)%dβ gets replaced with the device name (for examplemlx4_0,qib0, etc.)
If you don't specify anything at all, the default is "%h %d". cute, sensible, iconic.
NOTE: At startup, and on new device detection, the Node Description is always written, so that the SM and rdma-ndd are in sync. Every subsequent event will only write the Node Description on a device if it has actually changed. no unnecessary writes, we respect the storage. π
π§ Using systemd
Setting the environment variable for the daemon is normally done via a systemd drop in unit. For example, you could add the following to a file named /etc/systemd/system/rdma-ndd.service.d/nd-format.conf if you want to use only the hostname as your node description:
[Service] Environment="RDMA_NDD_ND_FORMAT=%%h"
NOTE: Systemd requires an extra '%'. yes, an extra one. do not fight it, just accept it. π
β¨ OPTIONS β¨
-f,--foregroundβ Run in the foreground instead of as a daemon. For when you want to watch it happen live, like a livestream but for your node descriptions π«Ά-d,--debugβ Log additional debugging information to syslog. for the girlies who need the receipts π--systemdβ Enable systemd integration.
β¨ AUTHOR β¨
Ira Weiny < ira.weiny@intel.com >
and that's the whole page babes πΈ β brought to you by OpenIB Diagnostics, signed off on the RDMA-NDD(8) page itself. go update some node descriptions, you've got this πβ¨
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- 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
- centos-stream 10: rdma-core 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: rdma-core 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: rdma-core 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: rdma-core 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: rdma-ndd 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-ndd 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-ndd 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-ndd 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: rdma-core 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdma-core 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: rdma-core 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: rdma-core 56.1-1ubuntu1
- ubuntu resolute: rdma-core 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: rdma-core 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