RDMA/cma: Add multicast communication support
Extend rdma_cm to support multicast communication. Multicast support is added to the existing RDMA_PS_UDP port space, as well as a new RDMA_PS_IPOIB port space. The latter port space allows joining the multicast groups used by IPoIB, which enables offloading IPoIB traffic to a separate QP. The port space determines the signature used in the MGID when joining the group. The newly added RDMA_PS_IPOIB also allows for unicast operations, similar to RDMA_PS_UDP. Supporting the RDMA_PS_IPOIB requires changing how UD QPs are initialized, since we can no longer assume that the qkey is constant. This requires saving the Q_Key to use when attaching to a device, so that it is available when creating the QP. The Q_Key information is exported to the user through the existing rdma_init_qp_attr() interface. Multicast support is also exported to userspace through the rdma_ucm. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:

committed by
Roland Dreier

parent
faec2f7b96
commit
c8f6a362bf
@@ -44,7 +44,7 @@
|
||||
int rdma_set_ib_paths(struct rdma_cm_id *id,
|
||||
struct ib_sa_path_rec *path_rec, int num_paths);
|
||||
|
||||
/* Global qkey for UD QPs and multicast groups. */
|
||||
#define RDMA_UD_QKEY 0x01234567
|
||||
/* Global qkey for UDP QPs and multicast groups. */
|
||||
#define RDMA_UDP_QKEY 0x01234567
|
||||
|
||||
#endif /* RDMA_CM_IB_H */
|
||||
|
Reference in New Issue
Block a user