-
- Downloads
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>
Showing
- drivers/infiniband/core/cma.c 315 additions, 44 deletionsdrivers/infiniband/core/cma.c
- drivers/infiniband/core/ucma.c 201 additions, 3 deletionsdrivers/infiniband/core/ucma.c
- include/rdma/rdma_cm.h 20 additions, 1 deletioninclude/rdma/rdma_cm.h
- include/rdma/rdma_cm_ib.h 2 additions, 2 deletionsinclude/rdma/rdma_cm_ib.h
- include/rdma/rdma_user_cm.h 11 additions, 2 deletionsinclude/rdma/rdma_user_cm.h
Loading
Please register or sign in to comment