All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH rdma-next 00/29] Soft RoCE driver
@ 2016-06-02 16:57 Moni Shoua
       [not found] ` <1464886657-14258-1-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 67+ messages in thread
From: Moni Shoua @ 2016-06-02 16:57 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, matanb-VPRAkNaXOzVWk0Htik3J/w,
	leon-VPRAkNaXOzVWk0Htik3J/w, majd-VPRAkNaXOzVWk0Htik3J/w,
	liranl-VPRAkNaXOzVWk0Htik3J/w, Moni Shoua

Hi Doug,

Soft RoCE (RXE) - The software RoCE driver 

ib_rxe implements the RDMA transport and registers to the RDMA core device as a
kernel verbs provider. It also implements the packet IO layer. On the other hand
ib_rxe registers to the Linux netdev stack as a udp encapsulating protocol, in
that case RDMA, for sending and receiving packets over any Ethernet device.
This yields a RDMA transport over the UDP/Ethernet network layer forming a RoCEv2
compatible device.

The configuration procedure of the Soft RoCE drivers requires binding to any existing
Ethernet network device. This is done with /sys interface.

A userspace Soft RoCE library (librxe) provides user applications the ability to run
with Soft RoCE devices.  The use of rxe verbs in user space requires the inclusion of
librxe as a device specific plug-in to libibverbs. librxe is packaged separately.

Soft RoCE was previously pushed to drivers/infiniband/staging and now, after cleanups
and bug fixes is pushed to the hardware provides section in the RDMA stack.

Soft RoCE resources:

[1] https://github.com/SoftRoCE/librxe-dev librxe - source code in Github

[2] https://github.com/SoftRoCE/rxe-dev/wiki/rxe-dev:-Home - Soft RoCE Wiki page

Moni Shoua (29):
  IB/rxe: IBA header types and methods
  IB/rxe: Bit mask and lengths declaration for different opcodes
  IB/rxe: Default rxe device and port parameters
  IB/rxe: External interface to lower level modules
  IB/rxe: Misc local interfaces between files
  IB/rxe: Add maintainer for rxe driver
  IB/rxe: Work request's opcode information table
  IB/rxe: User/kernel shared queues infrastructure
  IB/rxe: Common user/kernel queue implementation
  IB/rxe: Interface to ib_core
  IB/rxe: Allocation pool for RDMA objects
  IB/rxe: RXE tasks handling
  IB/rxe: Address vector manipulation functions
  IB/rxe: Shared Receive Queue (SRQ) manipulation functions
  IB/rxe: Completion Queue (CQ) manipulation functions
  IB/rxe: Queue Pair (QP) handling
  IB/rxe: Memory Region (MR) manioulation
  IB/rxe: Add multicast infrastructure
  IB/rxe: Received packets handling
  IB/rxe: Completion handling
  IB/rxe: QP request handling
  IB/rxe: QP response handling
  IB/rxe: Dummy DMA callbacks for RXE device
  IB/rxe: Invariant CRC implementation
  IB/rxe: Module init hooks
  IB/rxe: Interface to netdev stack
  IB/rxe: sysfs interface to RXE
  IB/rxe: Shared objects between user and kernel
  IB/rxe: Add Soft-RoCE to kbuild and makefiles

 MAINTAINERS                            |    9 +
 drivers/infiniband/Kconfig             |    1 +
 drivers/infiniband/hw/Makefile         |    1 +
 drivers/infiniband/hw/rxe/Kconfig      |   23 +
 drivers/infiniband/hw/rxe/Makefile     |   24 +
 drivers/infiniband/hw/rxe/rxe.c        |  455 +++++++++++
 drivers/infiniband/hw/rxe/rxe.h        |   74 ++
 drivers/infiniband/hw/rxe/rxe_av.c     |   98 +++
 drivers/infiniband/hw/rxe/rxe_comp.c   |  734 +++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_cq.c     |  165 ++++
 drivers/infiniband/hw/rxe/rxe_dma.c    |  166 ++++
 drivers/infiniband/hw/rxe/rxe_hdr.h    |  952 ++++++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_icrc.c   |   96 +++
 drivers/infiniband/hw/rxe/rxe_loc.h    |  289 +++++++
 drivers/infiniband/hw/rxe/rxe_mcast.c  |  190 +++++
 drivers/infiniband/hw/rxe/rxe_mmap.c   |  173 ++++
 drivers/infiniband/hw/rxe/rxe_mr.c     |  679 ++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_net.c    |  753 ++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_net.h    |   78 ++
 drivers/infiniband/hw/rxe/rxe_opcode.c |  961 ++++++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_opcode.h |  128 +++
 drivers/infiniband/hw/rxe/rxe_param.h  |  173 ++++
 drivers/infiniband/hw/rxe/rxe_pool.c   |  510 ++++++++++++
 drivers/infiniband/hw/rxe/rxe_pool.h   |  164 ++++
 drivers/infiniband/hw/rxe/rxe_qp.c     |  851 ++++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_queue.c  |  217 +++++
 drivers/infiniband/hw/rxe/rxe_queue.h  |  178 +++++
 drivers/infiniband/hw/rxe/rxe_recv.c   |  420 ++++++++++
 drivers/infiniband/hw/rxe/rxe_req.c    |  675 ++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_resp.c   | 1364 ++++++++++++++++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_srq.c    |  195 +++++
 drivers/infiniband/hw/rxe/rxe_sysfs.c  |  151 ++++
 drivers/infiniband/hw/rxe/rxe_task.c   |  154 ++++
 drivers/infiniband/hw/rxe/rxe_task.h   |   95 +++
 drivers/infiniband/hw/rxe/rxe_verbs.c  | 1352 +++++++++++++++++++++++++++++++
 drivers/infiniband/hw/rxe/rxe_verbs.h  |  486 ++++++++++++
 include/uapi/rdma/Kbuild               |    1 +
 include/uapi/rdma/ib_rxe.h             |  139 ++++
 38 files changed, 13174 insertions(+)
 create mode 100644 drivers/infiniband/hw/rxe/Kconfig
 create mode 100644 drivers/infiniband/hw/rxe/Makefile
 create mode 100644 drivers/infiniband/hw/rxe/rxe.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_av.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_comp.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_cq.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_dma.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_hdr.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_icrc.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_loc.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_mcast.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_mmap.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_mr.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_net.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_net.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_opcode.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_opcode.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_param.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_pool.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_pool.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_qp.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_queue.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_queue.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_recv.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_req.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_resp.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_srq.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_sysfs.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_task.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_task.h
 create mode 100644 drivers/infiniband/hw/rxe/rxe_verbs.c
 create mode 100644 drivers/infiniband/hw/rxe/rxe_verbs.h
 create mode 100644 include/uapi/rdma/ib_rxe.h

-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2016-06-20 21:18 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-02 16:57 [PATCH rdma-next 00/29] Soft RoCE driver Moni Shoua
     [not found] ` <1464886657-14258-1-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-02 16:57   ` [PATCH rdma-next 01/29] IB/rxe: IBA header types and methods Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 02/29] IB/rxe: Bit mask and lengths declaration for different opcodes Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 03/29] IB/rxe: Default rxe device and port parameters Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 04/29] IB/rxe: External interface to lower level modules Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 05/29] IB/rxe: Misc local interfaces between files Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 06/29] IB/rxe: Add maintainer for rxe driver Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 07/29] IB/rxe: Work request's opcode information table Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 08/29] IB/rxe: User/kernel shared queues infrastructure Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 09/29] IB/rxe: Common user/kernel queue implementation Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 10/29] IB/rxe: Interface to ib_core Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 11/29] IB/rxe: Allocation pool for RDMA objects Moni Shoua
     [not found]     ` <1464886657-14258-12-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-15 16:17       ` Steve Wise
2016-06-15 16:45         ` Steve Wise
2016-06-15 16:54           ` Moni Shoua
2016-06-19 15:01           ` Yonatan Cohen
     [not found]             ` <8806657f-7aaa-03a3-8cb4-d04ad03a4822-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-20 21:18               ` Steve Wise
2016-06-15 16:52         ` Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 12/29] IB/rxe: RXE tasks handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 13/29] IB/rxe: Address vector manipulation functions Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 14/29] IB/rxe: Shared Receive Queue (SRQ) " Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 15/29] IB/rxe: Completion Queue (CQ) " Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 16/29] IB/rxe: Queue Pair (QP) handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 17/29] IB/rxe: Memory Region (MR) manioulation Moni Shoua
     [not found]     ` <1464886657-14258-18-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-03  5:24       ` Christoph Hellwig
     [not found]         ` <20160603052440.GA31196-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-06-05 13:25           ` Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 18/29] IB/rxe: Add multicast infrastructure Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 19/29] IB/rxe: Received packets handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 20/29] IB/rxe: Completion handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 21/29] IB/rxe: QP request handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 22/29] IB/rxe: QP response handling Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 23/29] IB/rxe: Dummy DMA callbacks for RXE device Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 24/29] IB/rxe: Invariant CRC implementation Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 25/29] IB/rxe: Module init hooks Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 26/29] IB/rxe: Interface to netdev stack Moni Shoua
     [not found]     ` <1464886657-14258-27-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-02 17:31       ` Jason Gunthorpe
     [not found]         ` <20160602173158.GA17320-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-06-05  9:42           ` Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 27/29] IB/rxe: sysfs interface to RXE Moni Shoua
     [not found]     ` <1464886657-14258-28-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-03  6:00       ` Bart Van Assche
     [not found]         ` <47f2db91-1d9a-148b-f57c-1b0a3e62d95b-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-06-05  9:34           ` Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 28/29] IB/rxe: Shared objects between user and kernel Moni Shoua
     [not found]     ` <1464886657-14258-29-git-send-email-monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2016-06-09  6:09       ` Leon Romanovsky
     [not found]         ` <20160609060931.GM3663-2ukJVAZIZ/Y@public.gmane.org>
2016-06-13  7:22           ` Moni Shoua
2016-06-02 16:57   ` [PATCH rdma-next 29/29] IB/rxe: Add Soft-RoCE to kbuild and makefiles Moni Shoua
2016-06-02 18:05   ` [PATCH rdma-next 00/29] Soft RoCE driver Steve Wise
2016-06-08 17:25     ` Hefty, Sean
2016-06-09 13:17     ` Moni Shoua
     [not found]       ` <CAG9sBKPa0qQ4uuhoWLfZaXP9E+DnLrkOcU-2yNXbdZFQKppN8w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-09 14:45         ` Dennis Dalessandro
     [not found]           ` <20160609144554.GA14212-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-06-09 15:12             ` Moni Shoua
2016-06-09 19:16             ` Leon Romanovsky
     [not found]               ` <20160609191608.GA5408-2ukJVAZIZ/Y@public.gmane.org>
2016-06-09 19:47                 ` Dennis Dalessandro
     [not found]                   ` <20160609194758.GA9017-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-06-12  9:51                     ` Moni Shoua
     [not found]                       ` <CAG9sBKN3+Yf7dUG0ORNFNG=j+AgR1eq5mvPQxx6jZEXEGRpk3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-13 15:08                         ` Hefty, Sean
     [not found]                           ` <1828884A29C6694DAF28B7E6B8A82373AB0617C2-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-06-14 15:31                             ` Moni Shoua
2016-06-03  5:25   ` Christoph Hellwig
     [not found]     ` <20160603052539.GB31196-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-06-08  8:49       ` Moni Shoua
     [not found]         ` <CAG9sBKN9HQKhRgXWZ8JJwwUdEBaP9VnGwr790C=q4w0XDxkbtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-08  9:52           ` Nicholas A. Bellinger
     [not found]             ` <1465379530.5365.91.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2016-06-08 10:41               ` Leon Romanovsky
     [not found]                 ` <20160608104123.GJ3663-2ukJVAZIZ/Y@public.gmane.org>
2016-06-08 12:20                   ` Doug Ledford
     [not found]                     ` <5e1bd9ce-f802-9237-14a0-7cdc2be5089b-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-06-08 13:10                       ` Leon Romanovsky
2016-06-08 12:27           ` Sagi Grimberg
     [not found]             ` <57580F4D.10802-ImC7XgPzLAfvYQKSrp0J2Q@public.gmane.org>
2016-06-08 13:53               ` Steve Wise
2016-06-03 17:04   ` Christoph Lameter
     [not found]     ` <alpine.DEB.2.20.1606031203510.30612-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2016-06-05 13:30       ` Moni Shoua
2016-06-08 16:51   ` Steve Wise
2016-06-08 17:40     ` Steve Wise
2016-06-09  7:05       ` Moni Shoua

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.