rdma_cap_ib_mcast(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rdma_cap_ib_mcast β€” a Kernel API Manual moment ✨

okay bestie, welcome to rdma_cap_ib_mcast(9), a genuine little kernel helper from the RDMA corner of the world, and it's lowkey the vibe check you run before you let a port touch InfiniBand multicast πŸ¦‹


🌸 NAME 🌸

rdma_cap_ib_mcast β€” check if the port of a device has the InfiniBand Multicast capability, no cap πŸ’…


✨ SYNOPSIS ✨

bool rdma_cap_ib_mcast (const struct ib_device *device , u32 port_num );

πŸŽ€ ARGUMENTS πŸŽ€

  • device β€” the device you want to check, bestie. hand it over and let it be examined 🫢
  • port_num β€” the port number you're checking, like literally which port, be specific πŸ’–

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so this is the part where it gets iconic. InfiniBand multicast registration is more complex than your normal IPv4 or IPv6 multicast registration β€” like, not even the same tax bracket 😭

Every Host Channel Adapter has to register with the Subnet Manager when it wants to join a multicast group. That's the rule, no cap.

And the important bit: it should do so only once, regardless of how many queue pairs it subscribes to that group. Like, one registration, that's it, we're not doing it forty times, that's not the vibe πŸ’€

And it should leave the group only after all queue pairs attached to the group have been detached. Periodt. Every single one has to be gone first 🌈


⭐ RETURN ⭐

returns true if the port has to undertake that extra administrative overhead β€” the registering/unregistering dance with the SM, plus tracking the total number of queue pairs attached to the multicast group 🧚


πŸ¦‹ SEE ALSO πŸ¦‹

Everything in the group chat, fr fr β€” the kernel file is ./include/rdma/ib_verbs.h and here's the whole squad:


πŸ’€ friendly reminder bestie: this whole page is about the capability check. it tells you true when the port has to carry that extra SM registration overhead and do the queue-pair counting. it does not do the registering for you, okay? that's somebody else's job πŸ™ˆ

and that's the whole page, mwah πŸ“ this cutie lives over in ./include/rdma, dated October 2026, and it's filed under rdma_cap_ib_mcast(9) in the Kernel API Manual β€” go be iconic with it πŸ’œπŸ‘‘

πŸ“¦ where this page comes from