Obtaining initiator hex address for srpt acls, not /sys/class/infiniband/mlx4_0/ports/1/gids/0

2016-01-06 Thread james harvey
I'm at a loss on how to get the hex address to go underneath acls when setting up srpt. If I use the fe80 prefix I see everywhere including /sys, it gets rejected. If I use the prefix shown in the kernel rejection method, which I can't find anywhere else, it works fine. I am using targetcli, but

Re: Obtaining initiator hex address for srpt acls, not /sys/class/infiniband/mlx4_0/ports/1/gids/0

2016-01-06 Thread james harvey
I think: TL;DR - I can find my initiator's guid, but targetcli doesn't work with that in acls. I have to give it the i_port_id to work. How do I find the i_port_id, other than having a failed connection attempt and looking at dmesg? On Wed, Jan 6, 2016 at 3:02 AM, james harvey wrote: > I'm at

Re: Obtaining initiator hex address for srpt acls, not /sys/class/infiniband/mlx4_0/ports/1/gids/0

2016-01-06 Thread james harvey
After more digging, I found out this out of no where hex string is referred to as "initiator_ext", and is being sent since srp_daemon.sh give srp_daemon the "-n" flag. Since there's no user-set initiator_ext, srp_daemon grabs it from somewhere. If I want to continue using the "-n" flag, how can I

Re: How to determine hex address for srpt acls, its not /sys/class/infiniband/mlx4_0/ports/1/gids/0

2016-01-06 Thread james harvey
After more digging, I found out this out of no where hex string is referred to as "initiator_ext", and is being sent since srp_daemon.sh give srp_daemon the "-n" flag. Since there's no user-set initiator_ext, srp_daemon grabs it from somewhere. If I want to continue using the "-n" flag, how can I

Re: [PATCH 2/2 v2] IB/mad: use CQ abstraction

2016-01-06 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 1/2] IB/mad: pass ib_mad_send_buf explicitly to the recv_handler

2016-01-06 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Unable to establish rdma connection, breaks rdma basic functionality

2016-01-06 Thread Matan Barak
On Wed, Jan 6, 2016 at 6:43 AM, Hariprasad S wrote: > > Hi Doug, > > I am trying to rping server, but it fails when bound to any address other > then IF_ANY. > # rping -s -a 102.1.1.129 -C1 -p -vd > created cm_id 0x23d7800 > rdma_bind_addr: No such file or directory > destroy cm_id 0x23d7800

Re: [PATCH] IB/ipoib: Expose ioctl command to retrieve SGID of a given socket

2016-01-06 Thread Yuval Shaia
On Thu, Dec 31, 2015 at 05:34:03PM +0200, Haggai Eran wrote: > > + sock = sockfd_lookup(fd, &rc); > > + if (IS_ERR_OR_NULL(sock)) > > + return -EINVAL; > > + > > + inetsock = inet_sk(sock->sk); > > + > > + neigh = neigh_lookup(&arp_tbl, &inetsock->inet_daddr, dev); > > Also, isn'

Re: Unable to establish rdma connection, breaks rdma basic functionality

2016-01-06 Thread Hariprasad Shenai
On Wed, Jan 06, 2016 at 12:33:09 +0200, Matan Barak wrote: > On Wed, Jan 6, 2016 at 6:43 AM, Hariprasad S wrote: > > > > Hi Doug, > > > > I am trying to rping server, but it fails when bound to any address other > > then IF_ANY. > > # rping -s -a 102.1.1.129 -C1 -p -vd > > created cm_id 0x23

Re: [PATCH] IB/cm: Fix a recently introduced deadlock

2016-01-06 Thread Erez Shitrit
On Fri, Jan 1, 2016 at 2:17 PM, Bart Van Assche wrote: > ib_send_cm_drep() calls cm_enter_timewait() while holding a spinlock > that can be locked from inside an interrupt handler. Hence do not > enable interrupts inside cm_enter_timewait() if called with interrupts > disabled. > > This patch fixe

Re: [PATCH] IB/ipoib: Expose ioctl command to retrieve SGID of a given socket

2016-01-06 Thread Haggai Eran
On 06/01/2016 13:03, Yuval Shaia wrote: > On Thu, Dec 31, 2015 at 05:34:03PM +0200, Haggai Eran wrote: >>> + sock = sockfd_lookup(fd, &rc); >>> + if (IS_ERR_OR_NULL(sock)) >>> + return -EINVAL; >>> + >>> + inetsock = inet_sk(sock->sk); >>> + >>> + neigh = neigh_lookup(&arp_tbl, &i

Re: [PATCH] IB/ipoib: Expose ioctl command to retrieve SGID of a given socket

2016-01-06 Thread Yuval Shaia
On Wed, Jan 06, 2016 at 02:25:52PM +0200, Haggai Eran wrote: > On 06/01/2016 13:03, Yuval Shaia wrote: > > On Thu, Dec 31, 2015 at 05:34:03PM +0200, Haggai Eran wrote: > >>> + sock = sockfd_lookup(fd, &rc); > >>> + if (IS_ERR_OR_NULL(sock)) > >>> + return -EINVAL; > >>> + > >>> + inetsock =

[PATCH] IB/cma: Fix RDMA port validation for iWarp

2016-01-06 Thread Matan Barak
cma_validate_port wrongly assumed that Ethernet devices are RoCE devices and thus their ndev should be matched in the GID table. This broke the iWrap support. Fixing that matching the ndev only if we work on a RoCE port. Fixes: abae1b71dd37 ('IB/cma: cma_validate_port should verify the port

Re: [PATCH 11/15] IB/srpt: Fix how aborted commands are processed

2016-01-06 Thread Bart Van Assche
On 01/06/2016 06:13 AM, Christoph Hellwig wrote: pr_debug("Aborting cmd with state %d and tag %lld\n", state, ioctx->cmd.tag); @@ -1299,14 +1291,16 @@ static int srpt_abort_cmd(struct srpt_send_ioctx *ioctx) case SRPT_STATE_NEW: case SRPT_STATE_DATA_IN:

Re: [PATCH 13/15] IB/srpt: Detect session shutdown reliably

2016-01-06 Thread Bart Van Assche
On 01/06/2016 06:21 AM, Christoph Hellwig wrote: On Tue, Jan 05, 2016 at 03:26:49PM +0100, Bart Van Assche wrote: The Last WQE Reached event is only generated after one or more work requests have been queued on the QP associated with a session. Since session shutdown can start before any work re

Re: [PATCH 01/15] IB/srpt: Add parentheses around sizeof argument

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 03/15] IB/srpt: Inline srpt_get_ch_state()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 02/15] IB/srpt: Inline srpt_sdev_name()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 04/15] IB/srpt: Introduce target_reverse_dma_direction()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 05/15] IB/srpt: Use scsilun_to_int()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 06/15] IB/srpt: Simplify srpt_handle_tsk_mgmt()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 08/15] IB/srpt: Simplify srpt_shutdown_session()

2016-01-06 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 07/15] IB/srpt: Simplify channel state management

2016-01-06 Thread Sagi Grimberg
The only allowed channel state changes are those that change the channel state into a state with a higher numerical value. This allows to merge the functions srpt_set_ch_state() and srpt_test_and_set_ch_state() into a single function. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig The

Re: [PATCH 09/15] IB/srpt: Fix srpt_close_session()

2016-01-06 Thread Sagi Grimberg
Avoid that srpt_close_session() waits if it doesn't have to wait. Can you explain when it doesn't have to wait? is it possible that srpt_release_channel_work() was already triggered? isn't that a problem? -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a

Re: [PATCH 10/15] IB/srpt: Fix srpt_handle_cmd() error paths

2016-01-06 Thread Sagi Grimberg
On 05/01/2016 16:25, Bart Van Assche wrote: The target core function that should be called if target_submit_cmd() fails is target_put_sess_cmd(). Additionally, change the return type of srpt_handle_cmd() from int into void. Signed-off-by: Bart Van Assche Cc: Christoph Hellwig --- drivers/i

Re: [PATCH 12/15] IB/srpt: Eliminate srpt_find_channel()

2016-01-06 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 09/15] IB/srpt: Fix srpt_close_session()

2016-01-06 Thread Bart Van Assche
On 01/06/2016 03:21 PM, Sagi Grimberg wrote: Avoid that srpt_close_session() waits if it doesn't have to wait. Can you explain when it doesn't have to wait? is it possible that srpt_release_channel_work() was already triggered? isn't that a problem? Hello Sagi, The target core can decide to

Re: [PATCH 10/15] IB/srpt: Fix srpt_handle_cmd() error paths

2016-01-06 Thread Bart Van Assche
On 01/06/2016 03:31 PM, Sagi Grimberg wrote: On 05/01/2016 16:25, Bart Van Assche wrote: @@ -1518,8 +1517,7 @@ static int srpt_handle_cmd(struct srpt_rdma_ch *ch, if (srpt_get_desc_tbl(send_ioctx, srp_cmd, &dir, &data_len)) { pr_err("0x%llx: parsing SRP descriptor table failed.\n

Re: [PATCH 13/15] IB/srpt: Detect session shutdown reliably

2016-01-06 Thread Sagi Grimberg
On 05/01/2016 16:26, Bart Van Assche wrote: The Last WQE Reached event is only generated after one or more work requests have been queued on the QP associated with a session. Since session shutdown can start before any work requests have been queued, use a zero-length RDMA write to wait until a

Re: [PATCH 14/15] IB/srpt: Fix srpt_write_pending()

2016-01-06 Thread Sagi Grimberg
Looks good, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 13/15] IB/srpt: Detect session shutdown reliably

2016-01-06 Thread Bart Van Assche
On 01/06/2016 03:39 PM, Sagi Grimberg wrote: On 05/01/2016 16:26, Bart Van Assche wrote: The Last WQE Reached event is only generated after one or more work requests have been queued on the QP associated with a session. Since session shutdown can start before any work requests have been queued,

Re: [PATCH 15/15] IB/srpt: Fix a rare crash in srpt_close_session()

2016-01-06 Thread Sagi Grimberg
Keep the ib_srpt session as long as srpt_close_session() may access it. Makes sense, Reviewed-by: Sagi Grimberg -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majord

Re: [PATCH 09/15] IB/srpt: Fix srpt_close_session()

2016-01-06 Thread Sagi Grimberg
On 06/01/2016 16:34, Bart Van Assche wrote: On 01/06/2016 03:21 PM, Sagi Grimberg wrote: Avoid that srpt_close_session() waits if it doesn't have to wait. Can you explain when it doesn't have to wait? is it possible that srpt_release_channel_work() was already triggered? isn't that a problem

Re: [PATCH 10/11] IB: only keep a single key in struct ib_mr

2016-01-06 Thread Sagi Grimberg
ULPs are *already* using the same registrations for both local and remote access. Where? Out of tree? I haven't found anything in-tree for sure. We have that in iSER. iSCSI allows a FirstBurst functionality and iSER as an iSCSI transport is required to support that. The FirstBurst is div

Re: [PATCH] IB/cma: Fix RDMA port validation for iWarp

2016-01-06 Thread Steve Wise
On 1/6/2016 7:06 AM, Matan Barak wrote: cma_validate_port wrongly assumed that Ethernet devices are RoCE devices and thus their ndev should be matched in the GID table. This broke the iWrap support. Fixing that matching the ndev only if Typo "iWrap" Reviewed-by: Steve Wise we work on a RoCE

Re: [PATCH 10/11] IB: only keep a single key in struct ib_mr

2016-01-06 Thread Jason Gunthorpe
On Wed, Jan 06, 2016 at 05:10:06PM +0200, Sagi Grimberg wrote: > > >>>ULPs are *already* using the same registrations for both local and > >>>remote access. > >> > >>Where? Out of tree? > > > >I haven't found anything in-tree for sure. > > We have that in iSER. > > iSCSI allows a FirstBurst func

Re: [PATCH 13/15] IB/srpt: Detect session shutdown reliably

2016-01-06 Thread Christoph Hellwig
On Wed, Jan 06, 2016 at 03:46:34PM +0100, Bart Van Assche wrote: > I will make the patch description more detailed. Sorry if some of this code > is hard to follow but that's because of the high level of concurrency in > the SRP target driver. Some time ago I documented how session management in

[PATCH v3 00/36] Add rdma verbs transport library

2016-01-06 Thread Dennis Dalessandro
The following series implements rdmavt. This is the rdma verbs transport software library which will help to solve the problem of code duplication between hardware drivers when it comes to a verbs implementation. Rdmavt is basically just another verbs provider and lives in the Infiniband tree in a

[PATCH v3 01/36] IB/rdmavt: Create module framework and handle driver registration

2016-01-06 Thread Dennis Dalessandro
This patch introduces the basics for a new module called rdma_vt. This new driver is a software implementation of the InfiniBand verbs and aims to replace the multiple implementations that exist and duplicate each others' code. While the call to actually register the device with the IB core happen

[PATCH v3 02/36] IB/rdmavt: Consolidate dma ops in rdmavt.

2016-01-06 Thread Dennis Dalessandro
This patch adds dma functions to rdmavt. The source is hfi1's version of dma.c which will be removed by a subsequent hfi1 patch. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- Changes since v1: return 0 in rvt_map_sg instead of BAD_DMA_ADDRESS remove

[PATCH v3 03/36] IB/rdmavt: Add protection domain to rdmavt.

2016-01-06 Thread Dennis Dalessandro
Add datastructure for and allocation/deallocation of protection domains for RDMAVT. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- Changes since v1: update comment about protection domain limit drivers/infiniband/sw/rdmavt/Makefile |3 + drivers

[PATCH v3 04/36] IB/rdmavt: Add ib core device attributes to rvt driver params list

2016-01-06 Thread Dennis Dalessandro
Instead of trying to handle each parameter separately, add ib_device_attr to rvt_driver_params. This means drivers will fill this in and pass to the rvt registration function. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: remove com

[PATCH v3 06/36] IB/rdmavt: Add query and modify device stubs

2016-01-06 Thread Dennis Dalessandro
Adds the stubs which will handle the query and modify device functions. At this time the only intention is to support changing the node desc and the guid via these calls. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to

[PATCH v3 05/36] IB/rdmavt: Macroize override checks during driver registration

2016-01-06 Thread Dennis Dalessandro
Add a macro to cut down on writing the same lines over and over again for what will be a large number of functions that will be supported. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change CDR macro to CHECK_DRIVER_OVERRIDE to be

[PATCH v3 07/36] IB/rdmavt: Add query and modify port stubs

2016-01-06 Thread Dennis Dalessandro
This patch adds the query and modify port stubs. The query will mostly entail the driver returning everything in the ib_port_attr which will get handed back to the verbs layer. The modify will need some API helpers in the driver. The send_trap and post_mad_send are still issues to address. Reviewe

[PATCH v3 08/36] IB/rdmavt: Add pkey query stub

2016-01-06 Thread Dennis Dalessandro
The pkey table will reside in the rvt structure but it will be modified only when the driver requests then rvt will simply read the value to return in the query. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/vt.c | 21

[PATCH v3 09/36] IB/rdmavt: Add query gid stub

2016-01-06 Thread Dennis Dalessandro
The handler for query gid operates along the same lines as the query pkey handler. The driver will take care to keep the guid table updated. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/vt.c | 22 +

[PATCH v3 10/36] IB/rdmavt: Alloc and dealloc ucontexts

2016-01-06 Thread Dennis Dalessandro
Add the stubs to allocate and deallocate user contexts. This will be handled completely by rvt. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/vt.c | 22 +

[PATCH v3 12/36] IB/rdmavt: Add address handle stubs

2016-01-06 Thread Dennis Dalessandro
Adds the stubs for create, destroy, modify, and query of the address handle. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |3 - drivers/infiniband/sw/rdm

[PATCH v3 11/36] IB/rdmavt: Add queue pair function stubs

2016-01-06 Thread Dennis Dalessandro
Adds the stubs for create, modify, destroy and query functions for queue pairs. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |2 - drivers/infiniband/sw/

[PATCH v3 13/36] IB/rdmavt: Add memory region stubs

2016-01-06 Thread Dennis Dalessandro
Adds the function stubs for allocating, and registering memory regions, as well as deregistering them. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP Changes since v2: Remove rvt_reg_phys_mr drive

[PATCH v3 15/36] IB/rdmavt: Add multicast stubs

2016-01-06 Thread Dennis Dalessandro
Adds the function stubs for attach and detach multicast. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |2 + drivers/infiniband/sw/rdmavt/mcast.c | 58

[PATCH v3 14/36] IB/rdmavt: Add SRQ stubs

2016-01-06 Thread Dennis Dalessandro
Adds the stubs for create, modify, query, and destory for shared request queues. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |2 - drivers/infiniband/sw

[PATCH v3 16/36] IB/rdmavt: Add process MAD stub

2016-01-06 Thread Dennis Dalessandro
This adds the stub for process mad. More study is needed to determine the final MAD interaction between the driver and rvt. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/Makefile |2 - drivers/infiniband/sw/rdmavt/ma

[PATCH v3 18/36] IB/rdmavt: Add get port immutable stub

2016-01-06 Thread Dennis Dalessandro
This adds the get port immutable verbs call. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/vt.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff

[PATCH v3 17/36] IB/rdmavt: Add mmap stub

2016-01-06 Thread Dennis Dalessandro
Adds the stub for the mmap verbs call. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |2 + drivers/infiniband/sw/rdmavt/mmap.c | 60 ++

[PATCH v3 19/36] IB/rdmavt: Add completion queue function stubs

2016-01-06 Thread Dennis Dalessandro
Create stubs for completion queue creation, polling, resizing, calling for notification, and destroying. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/Makefile |2

[PATCH v3 21/36] IB/rdmavt: Move MR datastructures into rvt

2016-01-06 Thread Dennis Dalessandro
This patch adds the MR datastructures based on hfi1 into rvt. For now the data structures are defined in include/rdma/rdma_vt.h but once all MR functionality has been moved from the drivers into rvt these should move to rdmavt/mr.h Reviewed-by: Ira Weiny Reviewed-by: Dean Luick Reviewed-by: Mike

[PATCH v3 23/36] IB/rdmavt: Move driver helper functions to a common structure

2016-01-06 Thread Dennis Dalessandro
Drivers are going to need to provide multiple functions for rdmavt to call in to. We already have one, so go ahead and push this into a data structure designated for driver supplied functions. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/in

[PATCH v3 22/36] IB/rdmavt: Add queue pair data structure to rdmavt

2016-01-06 Thread Dennis Dalessandro
Add queue pair data structure as well as supporting structures to rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- Changes since v1: Rename rvt_sge.m => rvt_sge.cur_map Rename rvt_sge.n => rvt_sge.cur drivers/infiniband/sw/rdmavt/qp.h |5 -

[PATCH v3 25/36] IB/rdmavt: Add the start of capability flags

2016-01-06 Thread Dennis Dalessandro
Drivers will need a set of flags to dictate behavior to rdmavt. This patch adds a placeholder and a spot for it to live, as well as a few flags that will be used. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- include/rdma/rdma_vt.h | 12 ++

[PATCH v3 27/36] IB/rdmavt: Do not use rvt prints which rely on driver too early

2016-01-06 Thread Dennis Dalessandro
Trying to print debug and error messages with the rdmavt helpers will not work out so well if the drivers have not provided the get_card and get pci functions. Use the normal pr_error instead until we can check this. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dale

[PATCH v3 24/36] IB/rdmavt: Add device specific info prints

2016-01-06 Thread Dennis Dalessandro
Follow hfi1's example for printing information about the driver and incorporate into rdmavt. This requires two new functions to be provided by the driver, one to get_card_name and one to get_pci_dev. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- dri

[PATCH v3 20/36] IB/rdmavt: Add post send and recv stubs

2016-01-06 Thread Dennis Dalessandro
This adds the post sned and recv function stubs. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- Changes since v1: Fix typo in subject Change stubs to return EOPNOTSUPP drivers/infiniband/sw/rdmavt/qp.c | 62 + d

[PATCH v3 26/36] IB/rdmavt: Move memory registration into rdmavt

2016-01-06 Thread Dennis Dalessandro
Use the memory registration routines in hfi1 and move them to rdmavt. A follow on patch will address removing the duplicated code in the hfi1 and qib drivers. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- Changes since v1: Remove rvt_reg_phys_mr dr

[PATCH v3 30/36] IB/rdmavt: Move SRQ data structure into rdmavt

2016-01-06 Thread Dennis Dalessandro
Patch moves the srq data structure into rdmavt in preparation for removal from qib and hfi1 which will follow in subsequent patches. Reviewed-by: Ira Weiny Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro --- include/rdma/rdma_vt.h | 13 + 1 files changed, 13 insert

[PATCH v3 35/36] IB/rdmavt: Add mmap related functions

2016-01-06 Thread Dennis Dalessandro
The mmap data structure was moved in a previous commit. This patch now pulls in the related functions. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/mmap.c | 140 +++ drivers/infiniband/s

[PATCH v3 34/36] IB/rdmavt: Initialize and teardown of qpn table

2016-01-06 Thread Dennis Dalessandro
Add table init as well as teardown for handling qpn maps. Drivers can still provide this functionality by setting the QP_INIT_DRIVER bit. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/qp.c | 197

[PATCH v3 29/36] IB/rdmavt: Add AH to rdmavt

2016-01-06 Thread Dennis Dalessandro
From: Kamal Heib Original patch is from Kamal Heib . It has been split into three separate patches. This one for rdmavt, a follow on for qib, and one for hfi1. Create datastructure for address handle and implement the create/destroy/modify/query of address handle for rdmavt. Reviewed-by: Ira We

[PATCH v3 31/36] IB/rdmavt: Add an ibport data structure to rdmavt

2016-01-06 Thread Dennis Dalessandro
Converge the ibport data structures of qib and hfi1 into a common ib port structure. Also provides a place to keep track of these ports in case rdmavt needs it. Along with this goes an attach and detach function for drivers to use to notify rdmavt of the ports. Reviewed-by: Ira Weiny Reviewed-by:

[PATCH v3 36/36] IB/rdmavt: Add pkey support

2016-01-06 Thread Dennis Dalessandro
Add pkey table in rdi per port data structure. Also bring in related pkey functions. Drivers will still be responsible for allocating and maintaining the pkey table. However they need to tell rdmavt where to find the pkey table. We can not move the pkey table up into rdmavt because drivers need to

[PATCH v3 32/36] IB/rdmavt: Add driver notification for new AH

2016-01-06 Thread Dennis Dalessandro
Drivers may need to do some work once an address handle has been created. Add a driver function for this purpose. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/ah.c |7 +- include/rd

[PATCH v3 28/36] IB/rdmavt: Add common LID defines to rdmavt

2016-01-06 Thread Dennis Dalessandro
From: Kamal Heib Original patch is from Kamal Heib . It has been split into separate patches. This patch adds RVT_PERMISSIVE_LID and RVT_MULTICAST_LID_BASE to rdmavt. Reviewed-by: Ira Weiny Signed-off-by: Kamal Heib Signed-off-by: Dennis Dalessandro --- include/rdma/rdma_vt.h |3 +++ 1

[PATCH v3 03/10] IB/qib: Use rdmavt protection domain

2016-01-06 Thread Dennis Dalessandro
Remove protection domain datastructure from qib and use rdmavts version. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib_keys.c |6 ++- drivers/infiniband/hw/qib/qib_mr.c|2 + drivers/infiniband/hw/qib/qib_ru

[PATCH v3 00/10] Begin to use rdmavt for qib

2016-01-06 Thread Dennis Dalessandro
The following series implements the beginning support of rdmavt in the qib driver. The memory registration and protection domain functionality has been moved out of the driver as well as critical qp data structures. More patches will follow to incrementally remove code from qib and use the rdmavt i

[PATCH v3 04/10] IB/qib: Remove most uses of QIB_PERMISSIVE_LID and QIB_MULTICAST_LID_BASE

2016-01-06 Thread Dennis Dalessandro
This patch removes most of the uses of QIB_PERMISSIBVE_LID and QIB_MULTICAST_LID_BASE in favor of the recently added IB_* versions. There are still minor uses in AH functions as well as the QIB_* defines but those will be removed in a follow on patch. Reviewed-by: Ira Weiny Reviewed-by: Mike Marc

[PATCH v3 01/10] IB/qib: Begin to use rdmavt for verbs

2016-01-06 Thread Dennis Dalessandro
This patch begins to make use of rdmavt by registering with it and providing access to the header files. This is just the beginning of rdmavt support in qib. Most functionality is still being done in the driver, set flags so that rdmavt will let qib continue to handle mr, qp, and cq init. Reviewe

[PATCH v3 02/10] IB/qib: Remove dma.c and use rdmavt version of dma functions

2016-01-06 Thread Dennis Dalessandro
This patch removes the qib_dma.c file and uses the version which has been added to rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/Makefile|2 +- drivers/infiniband/hw/qib/qib_verbs.c |3 ++- drivers/infin

[PATCH v3 06/10] IB/qib: Remove driver specific members from qib qp type

2016-01-06 Thread Dennis Dalessandro
In preparation for moving the queue pair data structure to rdmavt the members of the driver specific queue pairs which are not common need to be pushed off to a private driver structure. This structure will be available in the queue pair once moved to rdmavt as a void pointer. This patch while not

[PATCH v3 07/10] IB/qib: Add device specific info prints

2016-01-06 Thread Dennis Dalessandro
Implement get_card_name and get_pci_dev helper functions for rdmavt for qib. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib.h|2 ++ drivers/infiniband/hw/qib/qib_driver.c | 16 drivers/infi

[PATCH v3 05/10] IB/qib: Use rdmavt lid defines in qib

2016-01-06 Thread Dennis Dalessandro
Original patch for AH changes from Kamal Heib , split apart from original. This patch also removes the qib specific multicast lid base and permissive lid defines since they are no longer needed. Use common LID defines in qib driver. Reviewed-by: Ira Weiny Signed-off-by: Kamal Heib Signed-off-by

[PATCH v3 09/10] IB/qib: Use address handle in rdmavt and remove from qib

2016-01-06 Thread Dennis Dalessandro
Original patch from Kamal Heib , split apart from original. Remove AH from qib and use rdmavt version. Reviewed-by: Ira Weiny Signed-off-by: Kamal Heib Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib_iba7322.c |2 drivers/infiniband/hw/qib/qib_mad.c |2 drive

[PATCH v3 08/10] IB/qib: Remove qp and mr functionality from qib

2016-01-06 Thread Dennis Dalessandro
Remove qp and mr support from qib and use rdmavt. These two changes cannot be reasonably be split apart into separate patches because they depend on eachother in multple places. This paves the way to remove even more functions in subsequent patches. Reviewed-by: Ira Weiny Reviewed-by: Mike Marcin

[PATCH v3 10/10] IB/qib: Remove srq from qib

2016-01-06 Thread Dennis Dalessandro
Remove srq from qib now that it has been moved into rdmavt. Reviewed-by: Ira Weiny Reviewed-by: Mike Marciniszyn Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro --- drivers/infiniband/hw/qib/qib_qp.c|2 +- drivers/infiniband/hw/qib/qib_ruc.c |4 ++-- drivers/infin

[PATCH 0/6] Start to add qp support to rdmavt and other verbs

2016-01-06 Thread Dennis Dalessandro
This patch continues adding the support for queue pairs in rdmavt. It also adds the create queue pair, user context alloc, dealloc, and query device verbs. This patchset builds on the "Begin to use rdmavt for qib" patchset. --- Dennis Dalessandro (3): IB/rdmavt: Add R and S flags for queue

[PATCH 5/6] IB/rdmavt: Allow reserving just one qpn

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi qib needs to reserve only one qpn for non-verbs stuff. Also fixed the for loop to reserve the end qpn. Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi --- drivers/infiniband/sw/rdmavt/qp.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff

[PATCH 2/6] IB/rdmavt: Add R and S flags for queue pairs

2016-01-06 Thread Dennis Dalessandro
Use the flags originally provided for hfi1 in the rdmavt driver. These will be made available to drivers in the qp header file. Reviewed-by: Harish Chegondi Reviewed-by: Mike Marciniszyn Signed-off-by: Dennis Dalessandro --- include/rdma/rdmavt_qp.h | 80 +

[PATCH 6/6] IB/rdmavt: Add support for rvt_query_device function

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi With this commit, the drivers using rdmavt need not define query_device function. But they should fill in the IB device attributes structure rvt_dev_info.dparms.props Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi --- drivers/infiniband/sw/rdmavt/vt.c |

[PATCH 3/6] IB/rdmavt: Add create queue pair functionality

2016-01-06 Thread Dennis Dalessandro
Add create queue pair verbs call as well as supporting functions. Reviewed-by: Ira Weiny Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro --- drivers/infiniband/sw/rdmavt/qp.c | 425 +++-- drivers/infiniband/sw/rdmavt/vt.c |1 include/rdma/rd

NULL pointer deref in k.o/for-4.5

2016-01-06 Thread Chuck Lever
Encountered the below just after booting my NFS/RDMA server with 4.4.0-rc6-00011-g6948cb2 (k.o/for-4.5 plus my NFS/RDMA for-4.5 patches). The system is up and ping-able via eth0, but high-level networking (like sshd and nfsd) does not work, and my ib0 i/f is missing. This is an x86_64 system with

[PATCH 4/6] IB/rdmavt: Export reset_qp in rdmavt

2016-01-06 Thread Dennis Dalessandro
Until all queue pair functionality is moved to rdmavt we need to provide access to the reset function. This is only temporary and will be reverted back to a static, non exported function in the end. Reviewed-by: Ira Weiny Reviewed-by: Harish Chegondi Signed-off-by: Dennis Dalessandro --- drive

[PATCH 1/6] IB/rdmavt: Add IB user context allocation and de-alloction functions

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi Adding IB user context alloc and dealloc functions to rdmavt so that the drivers that use rdmavt can use these functions instead of defining their own functions. Reviewed-by: Ira Weiny Signed-off-by: Harish Chegondi --- drivers/infiniband/sw/rdmavt/vt.c | 20 ++

[PATCH 0/9] Start to rely on rdmavt for qp support and other verbs

2016-01-06 Thread Dennis Dalessandro
This patch set removes the ibport from qib and starts to add in more support for rdamvt provided verbs functionality. Included is AH notification, pkey support, and queue pair creation. This patchset builds on the "Start to add qp support to rdmavt and other verbs" patchset. --- Harish Chegondi (

[PATCH 3/9] IB/qib: Remove mmap from qib

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi Since mmap functionality has been moved into rdmavt, its time for qib to use that. Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi --- drivers/infiniband/hw/qib/Makefile|2 drivers/infiniband/hw/qib/qib_cq.c| 18 ++- drivers/infiniband/hw/qi

[PATCH 4/9] IB/qib: Use rdmavt pkey verbs function

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi Remove qib query pkey function which is no longer needed as this is now being done in rdmavt. The allocation and maintenance of the list still resides in the driver. Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi --- drivers/infiniband/hw/qib/qib_verbs.c

[PATCH 2/9] IB/qib: Implement qib support for AH notification

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi Additional work is required to create an AH. This patch adds support to set the VL correctly. Reviewed-by: Mike Marciniszyn Reviewed-by: Dennis Dalessandro Reviewed-by: Ira Weiny Signed-off-by: Harish Chegondi --- drivers/infiniband/hw/qib/qib_verbs.c | 19 ++

[PATCH 5/9] IB/qib: Remove qpn, qp tables and related variables from qib

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi This patch removes the private queue pair structure and the table which holds the queue pair numbers in favor of using what is provided by rdmavt. Reviewed-by: Dennis Dalessandro Signed-off-by: Harish Chegondi --- drivers/infiniband/hw/qib/qib_qp.c| 120

[PATCH 6/9] IB/qib: Delete QIB user context allocation and de-alloction functions

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi IB user context alloc and dealloc functions have been added to rdmavt. Delete the QIB user context alloc/dealloc functions and use the ones in rdmavt. Reviewed-by: Ira Weiny Signed-off-by: Harish Chegondi --- drivers/infiniband/hw/qib/qib_verbs.c | 44 ++---

[PATCH 9/9] IB/qib: Remove create qp and create qp table functionality

2016-01-06 Thread Dennis Dalessandro
From: Harish Chegondi Rely on rdmavt functions for creation of qp and qp table. Function to allocate a qpn is still being provided by qib as the algorithm to allocate a qpn in qib is different from that of the algorithm in rdmavt. Reviewed-by: Mike Marciniszyn Reviewed-by: Ira Weiny Reviewed-

Re: iser-target: Add iSCSI Extensions for RDMA (iSER) target driver

2016-01-06 Thread Nicholas A. Bellinger
Hi Dan, (Adding Sagi CC') On Tue, 2016-01-05 at 00:07 +0300, Dan Carpenter wrote: > Hello Nicholas Bellinger, > > The patch b8d26b3be8b3: "iser-target: Add iSCSI Extensions for RDMA > (iSER) target driver" from Mar 7, 2013, leads to the following static > checker warning: > > drivers/infi

  1   2   >