1. 10 10月, 2007 1 次提交
  2. 25 4月, 2007 1 次提交
  3. 07 3月, 2007 1 次提交
  4. 17 2月, 2007 1 次提交
    • S
      RDMA/cma: Add multicast communication support · c8f6a362
      Sean Hefty 提交于
      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: NRoland Dreier <rolandd@cisco.com>
      c8f6a362
  5. 13 2月, 2007 1 次提交
  6. 08 1月, 2007 2 次提交
    • S
      RDMA/ucma: Don't report events with invalid user context · 0cefcf0b
      Sean Hefty 提交于
      There's a problem with how rdma cm events are reported to userspace
      that can lead to application crashes.
      
      When a new connection request arrives, a context for the connection is
      allocated in the kernel.  The connection event is then reported to
      userspace.  The userspace library retrieves the event and allocates
      its own context for the connection.  The userspace context is
      associated with the kernel's context when accepting.  This allows the
      kernel to give userspace context with other events.
      
      A problem occurs if a second event for the same connection occurs
      before the user has had a chance to call accept.  The userspace
      context has not yet been set, which causes the librdmacm to crash.
      (This has been seen when the app takes too long to call accept,
      resulting in the remote side timing out and rejecting the connection)
      
      Fix this by ignoring events for new connections until userspace has
      set their context.  This can only happen if an error occurs on a new
      connection before the user accepts it.  This is okay, since the accept
      will just fail later.
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      0cefcf0b
    • S
      RDMA/ucma: Fix struct ucma_event leak when backlog is full · 30a5ec98
      Sean Hefty 提交于
      We discard new connection requests while the listen backlog is full,
      but leak a struct ucma_event in the process.  Free the structure in
      this case.
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      30a5ec98
  7. 13 12月, 2006 1 次提交