From: Sean Hefty sean.he...@intel.com
The following behavior difference was reported between rsockets and
sockets:
when remote end is suddenly closed, recv() waiting on it receives
tcp/ip = ECONNRESET error
rsockets = 0 value
Update rrecv() to return ECONNRESET if no data is available
From: Sean Hefty sean.he...@intel.com
Standard sockets allows an application to call listen() multiple
times on the same socket without error. This allows a multi-threaded
app to call listen from all threads.
rsockets will fail the second listen call. Modify the behavior to
match standard
From: Sean Hefty sean.he...@intel.com
When the keepalive time of an rsocket is updated, the
updated information is forwarded to the keepalive service
thread. However, the thread updates the time for the
wrong service as shown:
tcp_svc_timeouts[svc-cnt] = rs_get_time() + msg.rs-keepalive_time
From: Sean Hefty sean.he...@intel.com
When removing an rsocket from a service thread, we replace
the removed service with the one at the end of the service list.
This keeps the array tightly packed. However, rs_svc_rm_rs
decrements the rsocket count before doing the swap. The result
From: Sean Hefty sean.he...@intel.com
If an application has allocated an SRQ on an rdma_cm_id, use
it when creating a QP.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/cma.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/cma.c b/src/cma.c
index 1a88e5c
From: Sean Hefty sean.he...@intel.com
alloca doesn't return a NULL pointer on failure.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/cma.c |3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/src/cma.c b/src/cma.c
index 9a49a5b..1a88e5c 100644
--- a/src/cma.c
From: Sean Hefty sean.he...@intel.com
XRC QPs and SRQs are associated by an XRC domain. Provide a
call to allocate an XRCD, similar to how the rdmacm allocates
a PD for the user.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/cma.c | 22 +-
1 files changed, 21
From: Sean Hefty sean.he...@intel.com
Remove internal defines, and use libibverbs exported values
instead.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/addrinfo.c | 14 +++---
1 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/addrinfo.c b/src/addrinfo.c
From: Sean Hefty sean.he...@intel.com
Modify autotools to check for and require a libibverbs
version that includes XRC and extension support.
Remove any code used to support older versions of
libibverbs.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
configure.ac |8 ++--
src/cma.h
From: Sean Hefty sean.he...@intel.com
Add extended SRQ creation call, to support allocating
XRC SRQs. Use the rdma_cm_id qp type field to
determine which type of SRQ should be allocated.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
include/rdma/rdma_verbs.h |3 +-
src/cma.c
From: Sean Hefty sean.he...@intel.com
Update the XRC support in the librdmacm to match the upstream
libibverbs XRC support, plus verbs extensions.
This patch aligns the librdmacm with the latest libibverbs
version, and removes compatibility with earlier version
of libibverbs that do not support
From: Sean Hefty sean.he...@intel.com
The following crash was reported by Hal Rosenstock,
h...@mellanox.com, with keepalive enabled. The crash
occurs in the keepalive thread attempting to send a
keepalive message.
report:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread
From: Sean Hefty sean.he...@intel.com
Free memory allocated for index map entries when they are no
longer in use. To handle this, count the number of entries
stored by the index map item arrays and release the arrays when
no items are being tracked.
This reduces valgrind noise.
Problem
From: Sean Hefty sean.he...@intel.com
Rsockets currently tracks how many control messages (i.e.
entries in the send queue) that are available using a
single ctrl_avail counter. Seems simple enough.
However, control messages currently require the use of
inline data. In order to support control
From: Sean Hefty sean.he...@intel.com
The number of SQEs allocated for control messages is set
to 1 of 2 constant values (either 4 or 2). A default
value is used unless the size of the SQ is below a certain
threshold (16 entries). This results in additional code
complexity, and it is highly
From: Sean Hefty sean.he...@intel.com
If a join request fails, the dest pointer may not be initialized.
This can result in the ibacm daemon crashing. Fix the crash and
ensure that the multicast state is set correctly in case the
join fails by initializing the state to ACM_INIT before sending
From: Ira Weiny ira.we...@intel.com
Currently only reports events to the log
Signed-off-by: Ira Weiny ira.we...@intel.com
---
src/acm.c | 86 +
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/src/acm.c b/src/acm.c
From: Ira Weiny ira.we...@intel.com
Signed-off-by: Ira Weiny ira.we...@intel.com
---
linux/acme_linux.c | 17 -
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/linux/acme_linux.c b/linux/acme_linux.c
index 6978db7..201ff19 100644
--- a/linux/acme_linux.c
+++
From: Sean Hefty sean.he...@intel.com
The following patch series implements dynamic system IP address updates for
ibacm. System IP's are read at start up and Netlink is monitored to respond to
system IP address changes.
IP's are no longer required or supported in ibacm_addr.cfg after
From: Ira Weiny ira.we...@intel.com
This builds on the previous patch by reacting to the IP address changes
monitored there.
Signed-off-by: Ira Weiny ira.we...@intel.com
---
src/acm.c | 112 +++-
1 files changed, 110 insertions(+), 2
From: Ira Weiny ira.we...@intel.com
---
linux/acme_linux.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/linux/acme_linux.c b/linux/acme_linux.c
index ef5b107..6978db7 100644
--- a/linux/acme_linux.c
+++ b/linux/acme_linux.c
@@ -102,7 +102,7 @@ get_sgid(struct ifreq
From: Ira Weiny ira.we...@intel.com
Again this is in prep for sharing this code with ibacm and ib_acme
get_devaddr uses globals which are specific to ib_acme. Move toward this
function being ib_acme specific while the code in get_addr_ip becomes generic.
Signed-off-by: Ira Weiny
From: Ira Weiny ira.we...@intel.com
Signed-off-by: Ira Weiny ira.we...@intel.com
---
src/acm.c |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/acm.c b/src/acm.c
index c5da791..ebb48f4 100644
--- a/src/acm.c
+++ b/src/acm.c
@@ -92,7 +92,7 @@ enum
From: Ira Weiny ira.we...@intel.com
The use of this function and the callback mechanism it used is now unnecessary
since ib_acme does not scan for IP's
Signed-off-by: Ira Weiny ira.we...@intel.com
---
src/acm.c | 102 +++-
src/acm_util.c
From: Ira Weiny ira.we...@intel.com
ibX:Y devices don't have sysfs files directly. They use the base interface
of ibX. The ioctl calls however include the full aliased name.
Netlink does not have this problem as the interface name is reported as it
appears in sysfs.
Signed-off-by: Ira Weiny
From: Ira Weiny ira.we...@intel.com
Signed-off-by: Ira Weiny ira.we...@intel.com
---
linux/acme_linux.c | 80 ---
src/acm_util.c | 81
2 files changed, 81 insertions(+), 80 deletions(-)
From: Ira Weiny ira.we...@intel.com
This is in preparation for netlink support which will do this dynamically.
Signed-off-by: Ira Weiny ira.we...@intel.com
---
src/acm.c | 73
1 files changed, 58 insertions(+), 15 deletions(-)
diff
From: Ira Weiny ira.we...@intel.com
ibacm_addr.cfg is read after system is read which can add endpoints which are
not active at start up.
ibacm_addr.cfg can still specify names for end points
Signed-off-by: Ira Weiny ira.we...@intel.com
---
Makefile.am|2 +-
src/acm.c | 66
From: Ira Weiny ira.we...@intel.com
Signed-off-by: Ira Weiny ira.we...@intel.com
---
Makefile.am|3 +-
linux/acme_linux.c | 95
man/ib_acme.1 |3 +-
src/acme.c | 12 ++-
4 files changed, 5 insertions(+),
From: Ira Weiny ira.we...@intel.com
ib_acme build defines ACME_PRINTS which overrides acm_log to printf
Signed-off-by: Ira Weiny ira.we...@intel.com
---
Makefile.am|2 +-
src/acm.c |6 ++
src/acm_util.c | 21 +
src/acm_util.h | 12
4
From: Ira Weiny ira.we...@intel.com
This is in preparation for these functions to be included ib both ibacm and
ib_acme build.
Also rename to more global appropriate name acm_if_*
Signed-off-by: Ira Weiny ira.we...@intel.com
---
Makefile.am|7 ++-
linux/acme_linux.c | 87
From: Sean Hefty sean.he...@intel.com
Adjust when we take a reference on the client connection.
Increment the client reference when we begin processing
the client's request, and release it when the response
has been sent.
The client reference will no longer be associated with the
lifetime of any
From: Sean Hefty sean.he...@intel.com
Create a subroutine to process joining a single
endpoint that can be called directly in place of
joining all endpoints on a port.
This will make it easier to handle future changes that
affect a single endpoint, such as a pkey change.
Signed-off-by: Sean
From: Sean Hefty sean.he...@intel.com
An endpoint will be set to the ACM_READY state after
joining its multicast group. If we later receive a
reregister event or port down followed by port up and
try to join the group again but fail, we will leave the
endpoint state as READY, rather than reset
From: Sean Hefty sean.he...@intel.com
Release the reference on the client that we're referencing,
and not the one at the front of the array.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/acm.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/acm.c b/src
From: Sean Hefty sean.he...@intel.com
In order to support other mechanisms for address and route resolution,
such that those being defined for ibssa (scalable SA), ibacm will be
restructured to support the concept of 'plug-in' providers. The
existing resolution mechanism will be converted
From: Sean Hefty sean.he...@intel.com
Endpoints are given a string identifer (base name) that matches
the first address assigned to the endpoint. Store the endpoint
string identifier separately from the address name, and identify
the endpoint using the device name, port, and pkey.
The endpoint
From: Sean Hefty sean.he...@intel.com
Use local variables and memcpy to defeat the
compiler warning: dereferencing type-punned
pointer will break strict-aliasing rules
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/acm.c | 11 +++
1 files changed, 7 insertions(+), 4 deletions
From: Sean Hefty sean.he...@intel.com
Record the base GID of a port with acm_port. This avoids
needing to query again for it later.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/acm.c | 17 ++---
1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/acm.c b
From: Sean Hefty sean.he...@intel.com
Rename the client array to client_array, to make it easier
to distinguish between the array and local variables, which
are also named client.
And, hey, this found the bug in the previous patch.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
src/acm.c
From: Sean Hefty sean.he...@intel.com
When processing a resolve route message, record what
index the source and destination addresses were located
at directly into the message. This replaces returning
pointers to the source and destination address that must
then be passed around.
When provider
From: Sean Hefty sean.he...@intel.com
Problem reported by Avneesh Pant avneesh.p...@oracle.com:
It looks like we are triggering a bug in RDMA CM/UCM interaction.
The bug specifically hits when we have an incoming connection request
and the connecting process dies BEFORE the passive end
From: Sean Hefty sean.he...@intel.com
cmtime is a new sample program that measures how long it
takes for each step in the connection process to complete.
It can be used to analyze the performance of the various
CM steps.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
Makefile.am |4
From: Sean Hefty sean.he...@intel.com
cmtime is a new sample program that measures how long it
takes for each step in the connection process to complete.
It can be used to analyze the performance of the various
CM steps.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
Makefile.am
From: Sean Hefty sean.he...@intel.com
Add support for AF_IB to rsockets and enhance the librdmacm samples
to verify AF_IB operation.
Include one fix for rsetsockopt to return 0 on success when setting
SOL_RDMA.
Sean Hefty (5):
rsockets: Support native IB addressing on connected rsockets
From: Sean Hefty sean.he...@intel.com
Update rsockets to support AF_IB addresses on connected rsockets.
Support for datagram rsockets is more difficult as a result of
using real UDP sockets for QP resolution, so that support is
deferred. For connected sockets, we need to update internal
checks
From: Sean Hefty sean.he...@intel.com
Add an RDMA specific rsocket option that allows the user
to program the RDMA route directly. This is useful
for apps that have path record data available, e.g. from
ibacm.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
include/rdma/rsocket.h |3
From: Sean Hefty sean.he...@intel.com
If we're using GID addressing, rdma_getaddrinfo can return
routing data directly. Add an option for the user to
indicate that rdma_getaddrinfo should be called in place of
getaddrinfo. And if routing data is available, call
rsetsockopt to set the route
From: Sean Hefty sean.he...@intel.com
Calling cma_save_ib_info for CM SIDR REQs results in a crash
accessing an invalid path record pointer.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git
From: Sean Hefty sean.he...@intel.com
If a application is using AF_IB with a UD QP, but does not
provide any private data, we will end up accessing invalid
memory. Check for this case and handle it appropriately.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c
/core/cma.c:426:5: note: ‘port’ was declared here
This is a false positive, as port will always be initialized if we're
at found. But if we assign to id_priv-id.port_num directly, we can
drop port. That will, obviously, silence GCC.
Signed-off-by: Paul Bolle pebo...@tiscali.nl
Signed-off-by: Sean
From: Sean Hefty sean.he...@intel.com
Additional testing of the latest AF_IB patch series showed that bugs
were introduced when mixing AF_IB with UD QPs. Full support for
AF_IB with UD QPs is limited, but we should at least avoid crashing
the kernel! Please apply two fixes for crashes to 3.11
From: Sean Hefty sean.he...@intel.com
When the librdmacm is configured, it sets the USE_IB_ACM option
if infininband/acm.h is found. We can remove this option with
very little overhead, which would allow a user to install
ACM after installing the librdmacm, and the librdmacm would be
able
From: Sean Hefty sean.he...@intel.com
The librdmacm needs message definitions used to communicate
with the ibacm. It currently pulls these from infiniband/acm.h,
which is installed by ibacm. This creates an install order
dependency on ibacm. However, work on the scalable SA has
the ibacm using
From: Sean Hefty sean.he...@intel.com
Provide an option for the user to indicate the type of
addresses used as input. Support hostname, IPv4, IPv6,
and GIDs.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
examples/cmatose.c | 44 +++-
examples
From: Sean Hefty sean.he...@intel.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
man/ibv_open_qp.3 | 50 ++
1 files changed, 50 insertions(+), 0 deletions(-)
create mode 100644 man/ibv_open_qp.3
diff --git a/man/ibv_open_qp.3 b/man
don't see that ABI 3 was in a release).
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Tzahi Oved tza...@mellanox.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
include/infiniband/driver.h |3 +
include/infiniband/kern-abi.h | 43 +--
include/infiniband
From: Sean Hefty sean.he...@intel.com
XRC introduces several new concepts and structures, one of
which is the XRC domain.
XRC domains: xrcd's are a type of protection domain used to
associate shared receive queues with xrc queue pairs. Since
xrcd are meant to be shared among multiple processes
From: Sean Hefty sean.he...@intel.com
XRC queue pairs: xrc defines two new types of QPs. The
initiator, or send-side, xrc qp behaves similar to a send-
only RC qp. xrc send qp's are managed through the existing
QP functions. The send_wr structure is extended in a back-
wards compatible way
From: Sean Hefty sean.he...@intel.com
XRC support requires the use of a new type of SRQ.
XRC shared receive queues: xrc srq's are similar to normal
srq's, except that they are bound to an xrcd, rather
than to a protection domain. Based on the current spec
and implementation, they are only
From: Jay Sternberg jay.e.sternb...@intel.com
Signed-off-by: Jay Sternberg jay.e.sternb...@intel.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
Makefile.am |4 +-
examples/xsrq_pingpong.c | 885 ++
2 files changed, 888
From: Sean Hefty sean.he...@intel.com
XRC receive QPs are shareable across multiple processes. Allow
any process with access to the xrc domain to open an existing
QP. After opening the QP, the process will receive events
related to the QP and be able to modify the QP.
Signed-off-by: Sean Hefty
From: Sean Hefty sean.he...@intel.com
Extend XRC support to user space through libibverbs. Because XRC requires
new verbs and extensions to existing verbs, we first introduce a generic
mechanism for extending verbs in a backward compatible manner. XRC support
is built on top
From: Sean Hefty sean.he...@intel.com
This patch series adds support for native IB addressing to the
rdma cm. The full patch series is available from:
git://git.openfabrics.org/~shefty/rdma-dev.git for-next
The rdma cm is the only widely usable interface for establishing
communication
From: Sean Hefty sean.he...@intel.com
Define AF_IB and sockaddr_ib to allow the rdma_cm to use native IB
addressing.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
include/linux/socket.h |2 +
include/rdma/ib.h | 89
2 files
From: Sean Hefty sean.he...@intel.com
The rdma_cm only allows setting reuseaddr if the corresponding
rdma_cm_id is in the idle state. Allow setting this value in
other states. This brings the behavior more inline with
sockets.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers
From: Sean Hefty sean.he...@intel.com
Enhance checks for loopback and any address to support AF_IB
in addition to AF_INET and AF_INT6. This will allow future
patches to use AF_IB when binding and resolving addresses.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core
From: Sean Hefty sean.he...@intel.com
The AF_IB uses a 64-bit service id (SID), which the
user can control through the use of a mask. The rdma_cm
will assign values to the unmasked portions of the SID
based on the selected port space and port number.
Because the IB spec divides the SID range
From: Sean Hefty sean.he...@intel.com
Add support for AF_IB to ip_addr_size, and rename the function
to account for the change. Give the compiler more control over
whether the call should be inline or not by moving the definition
into the .c file, removing the static inline, and exporting
From: Sean Hefty sean.he...@intel.com
cma_resolve_loopback is called after an rdma_cm_id has been
bound to a specific sa_family and port. Once the
source sa_family for the id has been set, do not modify it.
Only the actual IP address portion of the source address
needs to be set.
As part
From: Sean Hefty sean.he...@intel.com
Modify rdma_bind_addr to allow the user to specify AF_IB when
binding to a device. AF_IB indicates that the user is not
mapping an IP address to the native IB addressing. (The mapping
may have already been done, or is not needed.)
Signed-off-by: Sean Hefty
From: Sean Hefty sean.he...@intel.com
Allow the user to specify the remote address using AF_IB format.
When AF_IB is used, the remote address simply needs to be recorded,
and no resolution using ARP is done. The local address may still
need to be matched with a local IB device.
Signed-off
From: Sean Hefty sean.he...@intel.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c |8 +++-
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index c6cc3a4..67aaadc 100644
From: Sean Hefty sean.he...@intel.com
If a user specifies AF_IB as the source address for a loopback
connection, limit the resolution to IB devices only.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c | 28
1 files changed, 20
From: Sean Hefty sean.he...@intel.com
Allow user space applications to join multicast groups using MGIDs
directly. MGIDs may be passed using AF_IB addresses. Since the
current multicast join command only supports addresses as large as
sockaddr_in6, define a new structure for joining addresses
From: Sean Hefty sean.he...@intel.com
cma_get_service_id forms the service ID based on the port space
and port number of the rdma_cm_id. Extend the call to support
AF_IB, which contains the service ID directly. This will
be needed to support any arbitrary SID.
Signed-off-by: Sean Hefty sean.he
From: Sean Hefty sean.he...@intel.com
Provide inline helpers to extract source and destination address
data from the rdma_cm_id.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c | 138 +
1 files changed, 71 insertions
From: Sean Hefty sean.he...@intel.com
Report AF_IB source and destination addresses through
netlink interface.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c | 37 ++---
1 files changed, 10 insertions(+), 27 deletions(-)
diff
From: Sean Hefty sean.he...@intel.com
Allow user space applications to call resolve_addr using
AF_IB. To support sockaddr_ib, we need to define a new
structure capable of handling the larger address size.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/ucma.c
From: Sean Hefty sean.he...@intel.com
Support user space binding to addresses using AF_IB. Since
sockaddr_ib is larger than sockaddr_in6, we need to define
a larger structure when binding using AF_IB. This time we
use sockaddr_storage to cover future cases.
Signed-off-by: Sean Hefty sean.he
From: Sean Hefty sean.he...@intel.com
If an rdma_cm_id is bound to AF_IB, with a wild card address,
only listen on IB devices.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers
From: Sean Hefty sean.he...@intel.com
The sockaddr structure for AF_IB is larger than sockaddr_in6.
The rdma cm user space ABI uses the latter to exchange address
information between user space and the kernel.
To support querying for larger addresses, define a new query
command that exchanges
From: Sean Hefty sean.he...@intel.com
Allow converting from struct ib_sa_path_rec to the IB defined
SA path record wire format. This will be used to report path
data from the rdma cm into user space.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/sa_query.c |6
From: Sean Hefty sean.he...@intel.com
The current query_route call can return up to two path records.
The assumption being that one is the primary path, with optional
support for an alternate path. In both cases, the paths are
assumed to be reversible and are used to send CM MADs
From: Sean Hefty sean.he...@intel.com
Allow the rdma_ucm to query the IB service ID formed or
allocated by the rdma_cm by exporting the cma_get_service_id
functionality.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c | 13 +++--
include/rdma/rdma_cm.h
From: Sean Hefty sean.he...@intel.com
Part of address resolution is mapping IP addresses to IB GIDs.
With the changes to support querying larger addresses and more
path records, also provide a way to query IB GIDs after
resolution completes.
Signed-off-by: Sean Hefty sean.he...@intel.com
From: Sean Hefty sean.he...@intel.com
If the source or destination address is AF_IB, then do not
reserve a portion of the private data in the IB CM REQ or SIDR
REQ messages for the cma header. Instead, all private data
should be exported to the user. When AF_IB is used, the
rdma cm does
From: Sean Hefty sean.he...@intel.com
The SDP protocol was never merged upstream. Remove unused
SDP related code from the RDMA CM.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers/infiniband/core/cma.c | 176 +++-
1 files changed, 31 insertions
From: Sean Hefty sean.he...@intel.com
RDMA connections to a loopback address must map to a physical
RDMA device/port. By default, a connection to a loopback address
automatically binds the corresponding cm_id to the first active
RDMA device/port. The result is that all loopback connections
From: Sean Hefty sean.he...@intel.com
The rdma_cm only allows setting reuseaddr if the corresponding
rdma_cm_id is in the idle state. Allow setting this value in
other states. This brings the behavior more inline with
sockets.
Signed-off-by: Sean Hefty sean.he...@intel.com
---
drivers
From: Sean Hefty sean.he...@intel.com
iWarp does not support RDMA writes with immediate data.
Instead of sending messages using immediate data, allow
the rsocket protocol to exchange messages using sends.
The rsocket protocol remains the same. RDMA writes are
used for data transfers, with send
From: Sean Hefty sean.he...@intel.com
Extend XRC support to user space through libibverbs. Because XRC requires
new verbs and extensions to existing verbs, we first introduce a generic
mechanism for extending verbs in a backward compatible manner. XRC support
is built on top
From: Sean Hefty sean.he...@intel.com
XRC introduces several new concepts and structures, one of
which is the XRC domain.
XRC domains: xrcd's are a type of protection domain used to
associate shared receive queues with xrc queue pairs. Since
xrcd are meant to be shared among multiple processes
don't see that ABI 3 was in a release).
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Tzahi Oved tza...@mellanox.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
change from v4:
Bumped minimum ABI support to 3.
include/infiniband/driver.h |3 +
include/infiniband/kern
From: Sean Hefty sean.he...@intel.com
XRC queue pairs: xrc defines two new types of QPs. The
initiator, or send-side, xrc qp behaves similar to a send-
only RC qp. xrc send qp's are managed through the existing
QP functions. The send_wr structure is extended in a back-
wards compatible way
From: Sean Hefty sean.he...@intel.com
XRC receive QPs are shareable across multiple processes. Allow
any process with access to the xrc domain to open an existing
QP. After opening the QP, the process will receive events
related to the QP and be able to modify the QP.
Signed-off-by: Sean Hefty
From: Sean Hefty sean.he...@intel.com
XRC support requires the use of a new type of SRQ.
XRC shared receive queues: xrc srq's are similar to normal
srq's, except that they are bound to an xrcd, rather
than to a protection domain. Based on the current spec
and implementation, they are only
From: Jay Sternberg jay.e.sternb...@intel.com
Signed-off-by: Jay Sternberg jay.e.sternb...@intel.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
Makefile.am |4 +-
examples/xsrq_pingpong.c | 885 ++
2 files changed, 888
From: Sean Hefty sean.he...@intel.com
Signed-off-by: Sean Hefty sean.he...@intel.com
---
man/ibv_open_qp.3 | 50 ++
1 files changed, 50 insertions(+), 0 deletions(-)
create mode 100644 man/ibv_open_qp.3
diff --git a/man/ibv_open_qp.3 b/man
From: Yishai Hadas yish...@mellanox.com
Signed-off-by: Yishai Hadas yish...@mellanox.com
Signed-off-by: Tzahi Oved tza...@mellanox.com
---
Change from v5:
Reverted support to include provider ABI 2
src/mlx4.c | 82 ---
src/mlx4.h |8
1 - 100 of 369 matches
Mail list logo