[PATCH] rsocket: Return ECONNRESET when socket in recv is disconnected

2014-10-08 Thread sean . hefty
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

[PATCH] rsockets: Support calling listen multiple times on same rsocket

2014-09-04 Thread sean . hefty
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

[PATCH 2/2] rsocket: Update correct rsocket keepalive time

2014-07-03 Thread sean . hefty
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

[PATCH 1/2] rsocket: Fix removing rsocket from service thread

2014-07-03 Thread sean . hefty
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

[PATCH 2/8] librdmacm: Use SRQ in rdma_create_qp

2014-07-02 Thread sean . hefty
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

[PATCH 1/8] librdmacm: Remove NULL checks after calling alloca

2014-07-02 Thread sean . hefty
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

[PATCH 4/8] rdmacm: Add functionality to allocate an XRCD

2014-07-02 Thread sean . hefty
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

[PATCH 7/8] rdmacm: Update addrinfo with XRC support

2014-07-02 Thread sean . hefty
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

[PATCH 3/8] build: Add build support for XRC

2014-07-02 Thread sean . hefty
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

[PATCH 5/8] rdmacm: Add support for allocating XRC SRQs

2014-07-02 Thread sean . hefty
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

[PATCH 0/8] librdmacm: Add support for XRC QPs

2014-07-02 Thread sean . hefty
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

[PATCH] rsocket: Fix crash resulting from keepalive timeout

2014-07-02 Thread sean . hefty
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

[PATCH] indexer: Free index_map resources when cleared

2014-05-23 Thread sean . hefty
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

[PATCH librdmacm 3/4] rsocket: Modify when control messages are available

2014-04-18 Thread sean . hefty
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

[PATCH librdmacm 2/4] rsocket: Dedicate a fixed number of SQEs for control messages

2014-04-18 Thread sean . hefty
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

[PATCH] ibacm: Fix invalid memory dereference in acm_process_join_resp

2014-04-13 Thread sean . hefty
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

[PATCH 11/16] ibacm: Add thread to monitor IP address changes

2014-03-27 Thread sean . hefty
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

[PATCH 02/16] ibacm: pass interface name rather than 'struct ifreq' to get_devaddr, get_sgid, and get_pkey

2014-03-27 Thread sean . hefty
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 +++

[PATCH 00/16] ibacm: Implement dynamic IP support

2014-03-27 Thread sean . hefty
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

[PATCH 12/16] ibacm: add/remove addr's in EP's when added/removed from the system.

2014-03-27 Thread sean . hefty
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

[PATCH 01/16] ibacm: get_devaddr remove unused variable from signature

2014-03-27 Thread sean . hefty
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

[PATCH 05/16] ibacm: Move calling of helper functions out of get_devaddr

2014-03-27 Thread sean . hefty
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

[PATCH 10/16] ibacm: add locking around end point address arrays

2014-03-27 Thread sean . hefty
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

[PATCH 15/16] ibacm: remove acm_if_iter_sys function

2014-03-27 Thread sean . hefty
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

[PATCH 13/16] ibacm: fix handling of aliased IPoIB devices

2014-03-27 Thread sean . hefty
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

[PATCH 06/16] ibacm: move acm_if_iter_sys to acm_util.c

2014-03-27 Thread sean . hefty
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(-)

[PATCH 08/16] ibacm: add separate acm_ep_insert_addr function

2014-03-27 Thread sean . hefty
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

[PATCH 09/16] ibacm: read system IP's into endpoints at startup

2014-03-27 Thread sean . hefty
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

[PATCH 14/16] ibacm: ib_acme remove IP addresses from ibacm_addr.cfg file generation

2014-03-27 Thread sean . hefty
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(+),

[PATCH 07/16] ibacm: convert logging in acm_util.c to acm_log

2014-03-27 Thread sean . hefty
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

[PATCH 04/16] ibacm: move sysfs helper functions to acm_util 'module'

2014-03-27 Thread sean . hefty
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

[PATCH 4/9] ibacm: Relocate client refcnt

2014-03-23 Thread sean . hefty
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

[PATCH 9/9] ibacm: Restructure acm_port_join

2014-03-23 Thread sean . hefty
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

[PATCH 7/9] ibacm: Reset endpoint state on error

2014-03-23 Thread sean . hefty
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

[PATCH 1/9] ibacm: Release the refcnt on the correct client

2014-03-23 Thread sean . hefty
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

[PATCH 0/9] ibacm: Preparation for supporting different providers

2014-03-23 Thread sean . hefty
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

[PATCH 6/9] ibacm: Change base endpoint name

2014-03-23 Thread sean . hefty
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

[PATCH 3/9] ibacm: Eliminate strict aliasing compiler warnings

2014-03-23 Thread sean . hefty
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

[PATCH 8/9] ibacm: Store the base GID with acm_port

2014-03-23 Thread sean . hefty
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

[PATCH 2/9] ibacm: Rename client array

2014-03-23 Thread sean . hefty
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

[PATCH 5/9] ibacm: Record index for source and destination addresses

2014-03-23 Thread sean . hefty
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

[PATCH] rdma/cm: Discard events for IDs not yet claimed by user space

2013-11-01 Thread sean . hefty
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

[PATCH librdmacm] cmtime: Add example program that times rdma cm calls

2013-08-08 Thread sean . hefty
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

[PATCH librdmacm] cmtime: Add example program that times rdma cm calls

2013-08-08 Thread sean . hefty
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

[PATCH librdmacm 0/5] Add support and tests for AF_IB

2013-08-02 Thread sean . hefty
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

[PATCH librdmacm 1/5] rsockets: Support native IB addressing on connected rsockets

2013-08-02 Thread sean . hefty
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

[PATCH librdmacm 3/5] rsockets: Add ability to set the IB route directly

2013-08-02 Thread sean . hefty
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

[PATCH librdmacm 5/5] rstream: Use rsocket option to set route directly

2013-08-02 Thread sean . hefty
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

[PATCH for-3.11 3/3] rdma/cm: Only call cma_save_ib_info for CM REQs

2013-07-24 Thread sean . hefty
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

[PATCH for-3.11 2/3] rdma/cm: Fix accessing invalid private data for UD

2013-07-24 Thread sean . hefty
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

[PATCH for-3.11 1/3] [v2] RDMA/cma: silence GCC warning

2013-07-24 Thread sean . hefty
/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

[PATCH for-3.11 0/3] rdma/cm: Fixes for AF_IB patch series

2013-07-24 Thread sean . hefty
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

[PATCH librdmacm 3/3] init: Remove USE_IB_ACM configuration option

2013-07-18 Thread sean . hefty
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

[PATCH librdmacm 2/3] acm: Define needed ACM protocol messages

2013-07-18 Thread sean . hefty
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

[PATCH librdmacm 1/3] cmatose: Allow user to specify address format

2013-07-18 Thread sean . hefty
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

[PATCH libibverbs v6 6/7] libibverbs: Add man page for ibv_open_qp

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 1/7] Infrastructure to support verbs extensions

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 2/7] libibverbs: Introduce XRC domains

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 4/7] libibverbs: Add support for XRC QPs

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 3/7] livibverbs: Add support for XRC SRQs

2013-06-04 Thread 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

[PATCH libibverbs v6 7/7] libibverbs: Add XRC sample application

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 5/7] libibverbs: Add ibv_open_qp

2013-06-04 Thread sean . hefty
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

[PATCH libibverbs v6 0/7] Add extension and XRC QP support

2013-06-04 Thread 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

[PATCH v5 00/28] rdma/cm: Add support for native IB addressing

2013-05-29 Thread sean . hefty
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

[PATCH v5 01/28] rdma/cm: define native IB address

2013-05-29 Thread sean . hefty
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

[PATCH v5 02/28] rdma/cm: Allow enabling reuseaddr in any state

2013-05-29 Thread sean . hefty
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

[PATCH v5 03/28] rdma/cm: Include AF_IB in loopback and any address checks

2013-05-29 Thread sean . hefty
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

[PATCH v5 05/28] rdma/cm: Update port reservation to support AF_IB

2013-05-29 Thread sean . hefty
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

[PATCH v5 04/28] ib/addr: Add AF_IB support to ip_addr_size

2013-05-29 Thread sean . hefty
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

[PATCH v5 07/28] rdma/cm: Do not modify sa_family when setting loopback address

2013-05-29 Thread sean . hefty
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

[PATCH v5 06/28] rdma/cm: Allow user to specify AF_IB when binding

2013-05-29 Thread sean . hefty
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

[PATCH v5 11/28] rdma/cm: Add support for AF_IB to rdma_resolve_addr

2013-05-29 Thread 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

[PATCH v5 10/28] rdma/cm: Verify that source and dest sa_family are the same

2013-05-29 Thread sean . hefty
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

[PATCH v5 09/28] rdma/cm: Restrict AF_IB loopback to binding to IB devices only

2013-05-29 Thread sean . hefty
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

[PATCH v5 27/28] rdma/ucm: Allow user space to specify AF_IB when joining multicast

2013-05-29 Thread sean . hefty
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

[PATCH v5 13/28] rdma/cm: Add support for AF_IB to cma_get_service_id

2013-05-29 Thread sean . hefty
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

[PATCH v5 08/28] rdma/cm: Add helper functions to return id address information

2013-05-29 Thread sean . hefty
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

[PATCH v5 28/28] rdma/cm: Export AF_IB statistics

2013-05-29 Thread sean . hefty
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

[PATCH v5 26/28] rdma/ucm: Allow user space to pass AF_IB into resolve

2013-05-29 Thread sean . hefty
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

[PATCH v5 25/28] rdma/ucm: Allow user space to bind to AF_IB

2013-05-29 Thread sean . hefty
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

[PATCH v5 18/28] rdma/cm: Only listen on IB devices when using AF_IB

2013-05-29 Thread sean . hefty
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

[PATCH v5 19/28] rdma/ucm: Support querying for AF_IB addresses

2013-05-29 Thread sean . hefty
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

[PATCH v5 20/28] ib/sa: Export function to pack a path record into wire format

2013-05-29 Thread sean . hefty
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

[PATCH v5 21/28] rdma/ucm: Support querying when IB paths are not reversible

2013-05-29 Thread sean . hefty
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

[PATCH v5 22/28] rdma/cm: Export cma_get_service_id

2013-05-29 Thread sean . hefty
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

[PATCH v5 23/28] rdma/ucm: Add ability to query GID addresses

2013-05-29 Thread sean . hefty
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

[PATCH v5 16/28] rdma/cm: Expose private data when using AF_IB

2013-05-29 Thread sean . hefty
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

[PATCH v5 14/28] rdma/cm: Remove unused SDP related code

2013-05-29 Thread sean . hefty
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

[PATCH 1/2] rdma/cm: Allow user to select specific RDMA loopback device

2013-05-03 Thread sean . hefty
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

[PATCH 2/2] rdma/cm: Allow enabling reuseaddr in any state

2013-05-03 Thread sean . hefty
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

[PATCH] rsocket: Add support for iWarp

2013-04-26 Thread sean . hefty
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

[PATCH libibverbs v5 0/7] Provide verbs extension mechanism and add XRC support

2013-03-26 Thread 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

[PATCH libibverbs v5 2/7] libibverbs: Introduce XRC domains

2013-03-26 Thread sean . hefty
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

[PATCH libibverbs v5 1/7] Infrastructure to support verbs extensions

2013-03-26 Thread sean . hefty
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

[PATCH libibverbs v5 4/7] libibverbs: Add support for XRC QPs

2013-03-26 Thread sean . hefty
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

[PATCH libibverbs v5 5/7] libibverbs: Add ibv_open_qp

2013-03-26 Thread sean . hefty
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

[PATCH libibverbs v5 3/7] livibverbs: Add support for XRC SRQs

2013-03-26 Thread 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

[PATCH libibverbs v5 7/7] libibverbs: Add XRC sample application

2013-03-26 Thread sean . hefty
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

[PATCH libibverbs v5 6/7] libibverbs: Add man page for ibv_open_qp

2013-03-26 Thread sean . hefty
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

[PATCH libmlx4 v6 1/2] libmlx4: Infra-structure changes to support verbs extensions

2013-03-26 Thread sean . hefty
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   2   3   4   >