The following series implements support for iWARP transports in the iSER initiator and target. This is based on v4.2-rc3. I know we're in the middle of some API changes that will affect the isert patches in this series, but I wanted to get these out for another round of review. I can merge the isert changes on top of the new API once it solidifies and we have a staging tree for them. My goal is to get this series in for 4.3, so if the API changes don't gel fairly soon, I ask that we consider pulling this series in first. But I'm definitly willing to help get this -and- the API stuff in for 4.3. Changes since V5: The big change in V6 is to introduce new register/unregister functions in isert to use FRMRs + local dma lkey for devices that support this yet do not support DIF/PI. So iWARP devices do not require a DMA-MR. svcrdma patch added to use max_sge_rd. reordered the series some: patch 1 is the small iser changes to support iwarp patches 2..5 fix drivers to set max_sge_rd and ULPs to use them patches 6-9 enhance isert to support iwarp Changes since V4: iser: fixedcompiler warning isert: back to setting REMOTE_WRITE only for iWARP devices Changes since V3: Fixed commit messages based on feedback. iser: adjust max_sectors isert: split into 2 patches isert: always set REMOTE_WRITE for dma mrs Changes since V2: The transport independent work is removed from this series and will be submitted in a subsequent series. This V3 series now enables iWARP using existing core services. Changes since V1: Introduce and use transport-independent RDMA core services for allocating DMA MRs and computing fast register access flags. Correctly set the device max_sge_rd capability in several rdma device drivers. isert: use device capability max_sge_rd for the read sge depth. isert: change max_sge to max_write_sge in struct isert_conn. --- Sagi Grimberg (1): mlx4, mlx5, mthca: Expose max_sge_rd correctly Steve Wise (8): isert: Support iWARP transports using FRMRs isert: Use local_dma_lkey whenever possible. isert: Use the device's max fastreg page list depth isert: Rename IO functions to more descriptive names RDMA/isert: Limit read depth based on the device max_sge_rd capability svcrdma: Use max_sge_rd for destination read depths ipath,qib: Expose max_sge_rd correctly RDMA/iser: Limit sg tablesize and max_sectors to device fastreg max depth drivers/infiniband/hw/ipath/ipath_verbs.c | 1 drivers/infiniband/hw/mlx4/main.c | 1 drivers/infiniband/hw/mlx5/main.c | 1 drivers/infiniband/hw/mthca/mthca_provider.c | 1 drivers/infiniband/hw/qib/qib_verbs.c | 1 drivers/infiniband/ulp/iser/iscsi_iser.c | 9 + drivers/infiniband/ulp/isert/ib_isert.c | 345 ++++++++++++++++++++++---- drivers/infiniband/ulp/isert/ib_isert.h | 5 include/linux/sunrpc/svc_rdma.h | 1 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 12 - net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 11 files changed, 320 insertions(+), 61 deletions(-) -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html