[PATCH for-next v1 00/12] SIW: Software iWarp RDMA (siw) driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch set contributes the SoftiWarp driver rebased for
Kernel 5.2-rc1. SoftiWarp (siw) implements the iWarp RDMA
protocol over kernel TCP sockets. The driver integrates with
the linux-rdma framework.

With this new driver version, the following things where
changed, compared to the v8 RFC of siw:

o Rebased to 5.2-rc1

o All IDR code got removed.

o Both MR and QP deallocation verbs now synchronously
  free the resources referenced by the RDMA mid-layer.

o IPv6 support was added.

o For compatibility with Chelsio iWarp hardware, the RX
  path was slightly reworked. It now allows packet intersection
  between tagged and untagged RDMAP operations. While not
  a defined behavior as of IETF RFC 5040/5041, some RDMA hardware
  may intersect an ongoing outbound (large) tagged message, such
  as an multisegment RDMA Read Response with sending an untagged
  message, such as an RDMA Send frame. This behavior was only
  detected in an NVMeF setup, where siw was used at target side,
  and RDMA hardware at client side (during file write). siw now
  implements two input paths for tagged and untagged messages each,
  and allows the intersected placement of both messages.

o The siw kernel abi file got renamed from siw_user.h to siw-abi.h.

Many thanks for reviewing and testing the driver, especially to
Steve, Leon, Jason, Doug, Olga, Dennis, Gal. You all helped to
significantly improve the siw driver over the last year. It is
very much appreciated.

Many thanks!
Bernard.

Bernard Metzler (12):
  iWarp wire packet format
  SIW main include file
  SIW network and RDMA core interface
  SIW connection management
  SIW application interface
  SIW application buffer management
  SIW queue pair methods
  SIW transmit path
  SIW receive path
  SIW completion queue methods
  SIW debugging
  SIW addition to kernel build environment

 MAINTAINERS                              |    7 +
 drivers/infiniband/Kconfig               |    1 +
 drivers/infiniband/sw/Makefile           |    1 +
 drivers/infiniband/sw/siw/Kconfig        |   17 +
 drivers/infiniband/sw/siw/Makefile       |   12 +
 drivers/infiniband/sw/siw/iwarp.h        |  380 ++++
 drivers/infiniband/sw/siw/siw.h          |  720 ++++++++
 drivers/infiniband/sw/siw/siw_cm.c       | 2109 ++++++++++++++++++++++
 drivers/infiniband/sw/siw/siw_cm.h       |  133 ++
 drivers/infiniband/sw/siw/siw_cq.c       |  109 ++
 drivers/infiniband/sw/siw/siw_debug.c    |  102 ++
 drivers/infiniband/sw/siw/siw_debug.h    |   35 +
 drivers/infiniband/sw/siw/siw_main.c     |  701 +++++++
 drivers/infiniband/sw/siw/siw_mem.c      |  462 +++++
 drivers/infiniband/sw/siw/siw_mem.h      |   74 +
 drivers/infiniband/sw/siw/siw_qp.c       | 1345 ++++++++++++++
 drivers/infiniband/sw/siw/siw_qp_rx.c    | 1537 ++++++++++++++++
 drivers/infiniband/sw/siw/siw_qp_tx.c    | 1276 +++++++++++++
 drivers/infiniband/sw/siw/siw_verbs.c    | 1778 ++++++++++++++++++
 drivers/infiniband/sw/siw/siw_verbs.h    |  102 ++
 include/uapi/rdma/rdma_user_ioctl_cmds.h |    1 +
 include/uapi/rdma/siw-abi.h              |  186 ++
 22 files changed, 11088 insertions(+)
 create mode 100644 drivers/infiniband/sw/siw/Kconfig
 create mode 100644 drivers/infiniband/sw/siw/Makefile
 create mode 100644 drivers/infiniband/sw/siw/iwarp.h
 create mode 100644 drivers/infiniband/sw/siw/siw.h
 create mode 100644 drivers/infiniband/sw/siw/siw_cm.c
 create mode 100644 drivers/infiniband/sw/siw/siw_cm.h
 create mode 100644 drivers/infiniband/sw/siw/siw_cq.c
 create mode 100644 drivers/infiniband/sw/siw/siw_debug.c
 create mode 100644 drivers/infiniband/sw/siw/siw_debug.h
 create mode 100644 drivers/infiniband/sw/siw/siw_main.c
 create mode 100644 drivers/infiniband/sw/siw/siw_mem.c
 create mode 100644 drivers/infiniband/sw/siw/siw_mem.h
 create mode 100644 drivers/infiniband/sw/siw/siw_qp.c
 create mode 100644 drivers/infiniband/sw/siw/siw_qp_rx.c
 create mode 100644 drivers/infiniband/sw/siw/siw_qp_tx.c
 create mode 100644 drivers/infiniband/sw/siw/siw_verbs.c
 create mode 100644 drivers/infiniband/sw/siw/siw_verbs.h
 create mode 100644 include/uapi/rdma/siw-abi.h

-- 
2.17.2




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux