On Mon, Jul 29, 2024 at 01:10:29PM -0400, Andrew Sheinberg wrote: > Hello all, > > I’m not sure if this the right place to ask, but I will give it a try. > > I have a system with many initialized UD queue pairs (info for address handle creations and qp numbers exchanged out-of-band). I am only using libibverbs for establishment (purposefully not using librdmacm, to allow for more flexible environment configuration) — everything is working smoothly for unicast. Now I would like to create a multicast group and attach some of these queue pairs (ibv_mcast_attach); however I am struggling to find any details on how to create such a group (and obtain a proper MGID and MLID). First call to ibv_attach_mcast() will create a new multicast group. > > I found a few examples online but am left with questions: > - There is code within perftest's "multicast_resources.c", but this seems a bit hacky and oddly verbose > - There is code within Nvidia Docs’ "Programming Examples using IBV” showcasing joining an already created multicast group at a given IP address using rdma_cm, but It is unclear how to create the group in the first place > > > Questions (please correct me if these do not make sense): > > 1. What is the role of the OpenSM — is there a C API? SM stands for subnet management and its goal to oversee fabric topology and manage path routing among the nodes. Thanks