SIMPLE SOLUTIONS

RDMA_JOIN_MULTICAST_EX(3) - Linux man page online | Library functions

Joins a multicast group with extended options.

Chapter
2017-11-17
RDMA_JOIN_MULTICAST_EX(3) Librdmacm Programmer's Manual RDMA_JOIN_MULTICAST_EX(3)

NAME

rdma_join_multicast_ex - Joins a multicast group with extended options.

SYNOPSIS

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

ARGUMENTS

id Communication identifier associated with the request. mc_join_attr Is an rdma_cm_join_mc_attr_ex struct, as defined in <rdma/rdma_cma.h>. context User-defined context associated with the join request.

DESCRIPTION

Joins a multicast group (MCG) with extended options. Currently supporting MC join with a specified join flag. struct rdma_cm_join_mc_attr_ex { uint32_t comp_mask; /* Bitwise OR between "rdma_cm_join_mc_attr_m ↲ ask" enum */ uint32_t join_flags; /* Use a single flag from "rdma_cm_mc_join_fl ↲ ags" enum */ struct sockaddr *addr; /* Multicast address identifying the group to ↲ join */ }; The supported join flags are: RDMA_MC_JOIN_FLAG_FULLMEMBER - Create multicast group, Send multicast messages to MCG, Receive multicast messages from MCG. RDMA_MC_JOIN_FLAG_SENDONLY_FULLMEMBER - Create multicast group, Send multicast messages to MCG, Don't receive multicast messages from MCG (send-only). Initiating a MC join as "Send Only Full Member" on InfiniBand requires SM support, other‐ wise joining will fail. Initiating a MC join as "Send Only Full Member" on RoCEv2/ETH will not send any IGMP mes‐ sages unlike a Full Member MC join. When "Send Only Full Member" is used the QP will not be attached to the MCG.

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 call‐ ing 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 multi‐ cast 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_join_multicast(3), rdma_leave_multicast(3), rdma_bind_addr(3), rdma_resolve_addr(3), rdma_create_qp(3), rdma_get_cm_event(3)

AUTHORS

Alex Vesker <@mellanox.com>
librdmacm 2017-11-17 RDMA_JOIN_MULTICAST_EX(3)
This manual Reference Other manuals
rdma_join_multicast_ex(3) referred by
refer to rdma_bind_addr(3) | rdma_create_qp(3) | rdma_get_cm_event(3) | rdma_join_multicast(3) | rdma_leave_multicast(3) | rdma_resolve_addr(3)
Download raw manual
Main page Librdmacm Programmer's Manual (+52) librdmacm (+65) № 3 (+68044)
Go top