Sean Hefty [Tue, 9 May 2006 18:25:10 +0000 (18:25 +0000)]
r7019: Introduce event channels. Event channels allow the application to direct
how RDMA CM events are reported, by directing events on different rdma_cm_id's
to different event channels. These are similar to completion channels used
in verbs.
Sean Hefty [Wed, 26 Apr 2006 22:54:45 +0000 (22:54 +0000)]
r6674: If librdmacm has an error processing an ESTABLISHED event, it will report a
CONNECT_ERROR event to the user. However, the kernel will list the cm_id
state as connected. This can result in librdmacm receiving a DISCONNECTED
event on a cm_id that it failed to fully connect from userspace. This event
should not be reported to the user.
This condition can occur when the remote side establishes a connection, then
disconnects before the local side processes the ESTABLISHED event. When the
ESTABLISHED event is finally processed, the local side will get a failure
transitioning the QP, causing librdmacm to report CONNECT_ERROR. Since the
connection was never reported as ESTABLISHED to the user, do not report the
DISCONNECTED event.
A similar situation exists between the CONNECT_RESPONSE and REJECTED events.
Sean Hefty [Tue, 25 Apr 2006 17:02:48 +0000 (17:02 +0000)]
r6628: Update to support calling listen without having previously bound. After
listen is called, we need to query for the route information to know which
port has been assigned.
Sean Hefty [Mon, 17 Apr 2006 22:35:31 +0000 (22:35 +0000)]
r6503: Remove ABI check surrounding call to query route information after performing
a local bind. We always need to get the route information in order to bind
to the local device, or DAPL breaks.
Sean Hefty [Fri, 7 Apr 2006 23:49:48 +0000 (23:49 +0000)]
r6335: Reset ABI version to 1. We will not maintain backwards compatibility until
the RDMA CM has been merged upstream. This removes the ABI version hack that
tried to handle the case where the ABI version was not exported into userspace.
Sean Hefty [Fri, 31 Mar 2006 20:07:25 +0000 (20:07 +0000)]
r6135: If the user calls rdma_bind_addr(), but specifies either a zero IP address
or the loopback address, bind will succeed, but the cm_id will not be
attached to an RDMA device. This will result in a failure if rdma_resolve_addr
is called. Fix rdma_resolve_addr(), so that it handles this condition
properly.
Also fix the userspace interface to allow querying for address information
after binding to the zero or loopback address. This breaks the behavior of
the current ABI, so bump the ABI version, and add the proper support to
allow checking the kernel ABI version from the userspace library.
Steve Wise [Sat, 11 Feb 2006 00:12:10 +0000 (00:12 +0000)]
r5368: Implement an RDMA ping-ping test over an RC connection. This program
uses send, recv, RDMA read, and RDMA write operations, as well as CQ
channels to get CQ events.
Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Sean Hefty [Fri, 11 Nov 2005 00:33:09 +0000 (00:33 +0000)]
r4019: Add support for userspace RDMA connection management abstraction (CMA).
- Adds common user/kernel data structures and copy routines in ib_uverbs and
libibverbs.
- Update ib_ucm and libibcm to use common structures and copy routines.
- Add new kernel module, rdma_ucm, to support userspace CMA.
- Add userspace CMA library, librdmacm.
- Add userspace CMA test program.
- Update kernel CMA to support userspace CMA library.
- Add support for users to transition QP states.
- Add backlog parameter to rdma_listen API.