1RDMA_JOIN_MULTICAST_EX(3)Librdmacm Programmer's ManualRDMA_JOIN_MULTICAST_EX(3)
2
3
4

NAME

6       rdma_join_multicast_ex - Joins a multicast group with extended options.
7

SYNOPSIS

9       #include <rdma/rdma_cma.h>
10
11       int    rdma_join_multicast_ex    (struct    rdma_cm_id    *id,   struct
12       rdma_cm_join_mc_attr_ex *mc_join_attr, void *context);
13

ARGUMENTS

15       id                  Communication  identifier   associated   with   the
16                           request.
17
18       mc_join_attr        Is an rdma_cm_join_mc_attr_ex struct, as defined in
19                           <rdma/rdma_cma.h>.
20
21       context             User-defined  context  associated  with  the   join
22                           request.
23

DESCRIPTION

25       Joins  a  multicast  group (MCG) with extended options.  Currently sup‐
26       porting MC join with a specified join flag.
27
28       struct rdma_cm_join_mc_attr_ex {
29               uint32_t                comp_mask;      /* Bitwise OR between "rdma_cm_join_mc_attr_mask" enum */
30               uint32_t                join_flags;     /* Use a single flag from "rdma_cm_mc_join_flags" enum */
31               struct sockaddr         *addr;          /* Multicast address identifying the group to join */
32       };
33
34       The supported join flags are:
35
36       RDMA_MC_JOIN_FLAG_FULLMEMBER - Create multicast group,  Send  multicast
37       messages to MCG, Receive multicast messages from MCG.
38
39       RDMA_MC_JOIN_FLAG_SENDONLY_FULLMEMBER  -  Create  multicast group, Send
40       multicast messages to MCG, Don't receive multicast  messages  from  MCG
41       (send-only).
42
43       Initiating  a MC join as "Send Only Full Member" on InfiniBand requires
44       SM support, otherwise joining will fail.
45
46       Initiating a MC join as "Send Only Full Member" on RoCEv2/ETH will  not
47       send  any  IGMP messages unlike a Full Member MC join.  When "Send Only
48       Full Member" is used the QP will not be attached to the MCG.
49

RETURN VALUE

51       Returns 0 on success, or -1 on error.  If an error occurs,  errno  will
52       be set to indicate the failure reason.
53

NOTES

55       Before  joining  a  multicast group, the rdma_cm_id must be bound to an
56       RDMA device by calling rdma_bind_addr  or  rdma_resolve_addr.   Use  of
57       rdma_resolve_addr requires the local routing tables to resolve the mul‐
58       ticast address to an RDMA device, unless a specific source  address  is
59       provided.   The user must call rdma_leave_multicast to leave the multi‐
60       cast group and release any multicast resources.  After the join  opera‐
61       tion  completes, if a QP is associated with the rdma_cm_id, it is auto‐
62       matically attached to the multicast group when the multicast  event  is
63       retrieved  by the user.  Otherwise, the user is responsible for calling
64       ibv_attach_mcast to bind the QP to the multicast group.  The join  con‐
65       text  is  returned  to  the  user through the private_data field in the
66       rdma_cm_event.
67

SEE ALSO

69       rdma_join_multicast(3),   rdma_leave_multicast(3),   rdma_bind_addr(3),
70       rdma_resolve_addr(3), rdma_create_qp(3), rdma_get_cm_event(3)
71

AUTHORS

73       Alex Vesker <valex@mellanox.com>
74
75
76
77librdmacm                         2017-11-17         RDMA_JOIN_MULTICAST_EX(3)
Impressum