ib_register_client(9)
π 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
addmethod gets called β and they fire in the order the clients were registered β¨ first come, first called. - when a device is removed, each client's
removemethod 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:
rdma_dev_access_netns(9)rdma_dev_has_raw_cap(9)ib_device_put(9)_ib_alloc_device(9)ib_dealloc_device(9)ib_port_immutable_read(9)ib_register_device(9)ib_unregister_device(9)ib_unregister_device_and_put(9)ib_unregister_driver(9)ib_unregister_device_queued(9)ib_unregister_client(9)ib_get_client_nl_info(9)ib_set_client_data(9)ib_register_event_handler(9)ib_unregister_event_handler(9)ib_query_port(9)ib_device_set_netdev(9)ib_query_netdev_port(9)ib_device_get_by_netdev(9)ib_enum_roce_netdev(9)ib_enum_all_roce_netdevs(9)ib_device_enable_gid_updates(9)ib_device_disable_gid_updates(9)ib_query_pkey(9)ib_modify_device(9)ib_modify_port(9)ib_find_gid(9)ib_find_pkey(9)ib_get_net_dev_by_params(9)
π«Ά reminder:ib_unregister_client(9)exists and she's right there in the list. register responsibly, bestie. also go read./drivers/infiniband/core/device.cif 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms