This patch set contributes version 6 of the SoftiWarp driver, as originally introduced to the list Oct 6th, 2017. SoftiWarp (siw) implements the iWarp RDMA protocol over kernel TCP sockets. The driver integrates with the linux-rdma framework. In response to the various helpful feedback, I fixed the following issues: 1. Only the 'SPDX-License-Identifier' is present, the old explicit license text got removed. 2. The clang tool was applied to remove horizontal white spaces consistently and re-format the code. 3. Many smaller functional and style issues, as discussed at the mailing list, got fixed. 4. The driver was rebased to branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git I maintain a snapshot of the current code at https://github.com/zrlio/softiwarp-for-linux-rdma.git within branch 'siw-for-rdma-next-v6'. The matching siw user library is maintained at https://github.com/zrlio/softiwarp-user-for-linux-rdma.git. The relevant branch name is 'siw-for-rdma-next'. As always, I'd highly appreciate your code review. Thanks very much for your time! Bernard Bernard Metzler (13): iWarp wire packet format SIW main inclue file SIW network and RDMA core interface SIW object management 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 | 14 + drivers/infiniband/sw/siw/iwarp.h | 369 ++++ drivers/infiniband/sw/siw/siw.h | 747 ++++++++ drivers/infiniband/sw/siw/siw_ae.c | 87 + drivers/infiniband/sw/siw/siw_cm.c | 2123 ++++++++++++++++++++++ drivers/infiniband/sw/siw/siw_cm.h | 121 ++ drivers/infiniband/sw/siw/siw_cq.c | 111 ++ drivers/infiniband/sw/siw/siw_debug.c | 88 + drivers/infiniband/sw/siw/siw_debug.h | 34 + drivers/infiniband/sw/siw/siw_main.c | 753 ++++++++ drivers/infiniband/sw/siw/siw_mem.c | 188 ++ drivers/infiniband/sw/siw/siw_obj.c | 291 +++ drivers/infiniband/sw/siw/siw_obj.h | 201 ++ drivers/infiniband/sw/siw/siw_qp.c | 1409 ++++++++++++++ drivers/infiniband/sw/siw/siw_qp_rx.c | 1498 +++++++++++++++ drivers/infiniband/sw/siw/siw_qp_tx.c | 1284 +++++++++++++ drivers/infiniband/sw/siw/siw_verbs.c | 1799 ++++++++++++++++++ drivers/infiniband/sw/siw/siw_verbs.h | 79 + include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 + include/uapi/rdma/siw_user.h | 226 +++ 24 files changed, 11449 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_ae.c 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_obj.c create mode 100644 drivers/infiniband/sw/siw/siw_obj.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_user.h -- 2.17.2