ibv_attach_mcast man page
ibv_attach_mcast, ibv_detach_mcast — attach and detach a queue pair (QPs) to/from a multicast group
#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.
ibv_detach_mcast() detaches the QP qp to the multicast group having MGID gid and MLID lid.
ibv_attach_mcast() and ibv_detach_mcast() returns 0 on success, or the value of errno on failure (which indicates the failure reason).
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>