]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ofed/librdmacm/man/rdma_join_multicast.3
MFV: r329072
[FreeBSD/FreeBSD.git] / contrib / ofed / librdmacm / man / rdma_join_multicast.3
1 .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
2 .TH "RDMA_JOIN_MULTICAST" 3 "2008-01-02" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
3 .SH NAME
4 rdma_join_multicast \- Joins a multicast group.
5 .SH SYNOPSIS
6 .B "#include <rdma/rdma_cma.h>"
7 .P
8 .B "int" rdma_join_multicast
9 .BI "(struct rdma_cm_id *" id ","
10 .BI "struct sockaddr *" addr ","
11 .BI "void *" context ");"
12 .SH ARGUMENTS
13 .IP "id" 12
14 Communication identifier associated with the request.
15 .IP "addr" 12
16 Multicast address identifying the group to join.
17 .IP "context" 12
18 User-defined context associated with the join request.
19 .SH "DESCRIPTION"
20 Joins a multicast group and attaches an associated QP to the group.
21 .SH "RETURN VALUE"
22 Returns 0 on success, or -1 on error.  If an error occurs, errno will be
23 set to indicate the failure reason.
24 .SH "NOTES"
25 Before joining a multicast group, the rdma_cm_id must be bound to
26 an RDMA device by calling rdma_bind_addr or rdma_resolve_addr.  Use of
27 rdma_resolve_addr requires the local routing tables to resolve the
28 multicast address to an RDMA device, unless a specific source address
29 is provided.  The user must call rdma_leave_multicast to leave the
30 multicast group and release any multicast resources.  After the join
31 operation completes, if a QP is associated with the rdma_cm_id,
32 it is automatically attached to the multicast group when the multicast
33 event is retrieved by the user.  Otherwise, the user is responsible
34 for calling ibv_attach_mcast to bind the QP to the multicast group.
35 The join context is returned to the user through the private_data
36 field in the rdma_cm_event.
37 .SH "SEE ALSO"
38 rdma_leave_multicast(3), rdma_bind_addr(3), rdma_resolve_addr(3), rdma_create_qp(3),
39 rdma_get_cm_event(3)