SYNOPSIS

#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);

DESCRIPTION

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.

RETURN VALUE

ibv_attach_mcast() and ibv_detach_mcast() returns 0 on success, or the value of errno on failure (which indicates the failure reason).

NOTES

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.

RELATED TO ibv_attach_mcast…

AUTHORS

Dotan Barak <[email protected]>