Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
"RDMA_JOIN_MULTICAST" 3 "2008-01-02" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
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" 12
Communication identifier associated with the request.
"addr" 12
Multicast address identifying the group to join.
"context" 12
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)