#include <infiniband/verbs.h> int ibv_attach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid); int ibv_detach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid);
ibv_attach_mcast() attaches the QP qp to the multicast group having MGID gid and MLID lid.
Only QPs of Transport Service Type IBV_QPT_UD may be attached to multicast groups.
If a QP is attached to the same multicast group multiple times, the QP will still receive a single copy of a multicast message.
In order to receive multicast messages, a join request for the multicast group must be sent to the subnet administrator (SA), so that the fabric's multicast routing is configured to deliver messages to the local port.
Dotan Barak <email@example.com>