FreeBSD manual
download PDF document: rdma_join_multicast.3.pdf
RDMA_JOIN_MULTICAST(3) Librdmacm Programmer's Manual RDMA_JOIN_MULTICAST(3)
NAME
rdma_join_multicast - Joins a multicast group.
SYNOPSIS
#include <rdma/rdma_cma.h>
int rdma_join_multicast (struct rdma_cm_id *id, struct sockaddr *addr,
void *context);
ARGUMENTS
id Communication identifier associated with the request.
addr Multicast address identifying the group to join.
context User-defined context associated with the join request.
DESCRIPTION
Joins a multicast group and attaches an associated QP to the group.
RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will
be set to indicate the failure reason.
NOTES
Before joining a multicast group, the rdma_cm_id must be bound to an
RDMA device by calling rdma_bind_addr or rdma_resolve_addr. Use of
rdma_resolve_addr requires the local routing tables to resolve the
multicast address to an RDMA device, unless a specific source address
is provided. The user must call rdma_leave_multicast to leave the
multicast group and release any multicast resources. After the join
operation completes, if a QP is associated with the rdma_cm_id, it is
automatically attached to the multicast group when the multicast event
is retrieved by the user. Otherwise, the user is responsible for
calling ibv_attach_mcast to bind the QP to the multicast group. The
join context is returned to the user through the private_data field in
the rdma_cm_event.
SEE ALSO
rdma_leave_multicast(3), rdma_bind_addr(3), rdma_resolve_addr(3),
rdma_create_qp(3), rdma_get_cm_event(3)
librdmacm 2008-01-02 RDMA_JOIN_MULTICAST(3)