• Sean Hefty's avatar
    RDMA/cma: Add multicast communication support · c8f6a362
    Sean Hefty authored
    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: default avatarRoland Dreier <rolandd@cisco.com>
    c8f6a362
ucma.c 24.5 KB