ib_register_client(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ib_register_client(9)

okay bestie, welcome to the Kernel API Manual β€” yes we're reading kernel API manual pages now, we contain multitudes πŸŽ€ today's main character is ib_register_client, and honestly? she's kind of a big deal in the IB world.


✨ SYNOPSIS ✨

int ib_register_client (struct ib_client *client );

🌸 ARGUMENTS 🌸

  • client β€” the client you're registering. that's it, that's the whole argument. she's lowkey simple like that 🫢

πŸ’– DESCRIPTION πŸ’–

so. upper level users of the IB drivers can call ib_register_client to register callbacks for IB device addition and removal β€” like, you're telling the kernel "hey, ping me when devices show up and when they dip" πŸ“£

here's the tea on the ordering, and this part is real, so pay attention πŸ™ˆ

  • when an IB device is added, each registered client's add method gets called β€” and they fire in the order the clients were registered ✨ first come, first called.
  • when a device is removed, each client's remove method gets called β€” but in the reverse order that clients were registered πŸ”„ so the last one in is the first one out. it's giving stack energy, iykyk.

plus (and this is the iconic bonus detail πŸ’…): when ib_register_client itself is called, the client receives an add callback for all devices already registered. so you don't miss the ones that showed up before you did. no cap, she backfills for you 🧚

🌈 SEE ALSO 🌈

the kernel file πŸ‘‰ ./drivers/infiniband/core/device.c

and the whole friend group, alphabetically-adjacent and honestly a lot:


🫢 reminder: ib_unregister_client(9) exists and she's right there in the list. register responsibly, bestie. also go read ./drivers/infiniband/core/device.c if you want the full lore β€” that's where the actual magic lives.

and that's the page! brought to you by ./drivers/infiniband/core, dated October 2026 β€” same title, same manual section, ib_register_client(9) forever and always πŸ’œβœ¨ go slay your RDMA setup, mwah πŸŽ€

πŸ“¦ where this page comes from