lkml.org 
[lkml]   [2017]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[[PATCH v1] 00/37] Implement SMBD protocol: Series 1
    Date
    From: Long Li <longli@microsoft.com>

    SMB3 defines a protocol for transfer data over RDMA transport such as Infiniband, RoCE and iWARP. The prococol is published in [MS-SMBD] (https://msdn.microsoft.com/en-us/library/hh536346.aspx).

    This is the series 1 of two patch sets. This patch set implements the SMBD transport for doing RDMA send/recv.

    This patch set is the foundation of series 2 patch set, which implements sending upper layer RDMA read/write via memory registration.

    Long Li (37):
    [CIFS] SMBD: Add parsing for new rdma mount option
    [CIFS] SMBD: Add structure for SMBD transport
    [CIFS] SMBD: Add logging functions for debug
    [CIFS] SMBD: Define per-channel SMBD transport parameters and default
    values
    [CIFS] SMBD: Implement API for upper layer to create SMBD transport
    and establish RDMA connection
    [CIFS] SMBD: Add definition and cache for SMBD response
    [CIFS] SMBD: Implement receive buffer for handling SMBD response
    [CIFS] SMBD: Define packet format for SMBD data transfer message
    [CIFS] SMBD: Add SMBD request and cache
    [CIFS] SMBD: Introduce wait queue when sending SMBD request
    [CIFS] SMBD: Post a receive request
    [CIFS] SMBD: Handle send completion from CQ
    [CIFS] SMBD: Implement SMBD protocol negotiation
    [CIFS] SMBD: Post a SMBD data transfer message with page payload
    [CIFS] SMBD: Post a SMBD data transfer message with data payload
    [CIFS] SMBD: Post a SMBD message with no payload
    [CIFS] SMBD: Track status for transport
    [CIFS] SMBD: Implement API for upper layer to send data
    [CIFS] SMBD: Manage credits on SMBD client and server
    [CIFS] SMBD: Implement reassembly queue for receiving data
    [CIFS] SMBD: Implement API for upper layer to receive data
    [CIFS] SMBD: Implement API for upper layer to receive data to page
    [CIFS] SMBD: Implement API for upper layer to reconnect transport
    [CIFS] SMBD: Support for SMBD keep alive protocol
    [CIFS] SMBD: Support SMBD idle connection timer
    [CIFS] SMBD: Send an immediate packet when it's needed
    [CIFS] SMBD: Destroy transport when RDMA channel is disconnected
    [CIFS] SMBD: Implement API for upper layer to destroy the transport
    [CIFS] SMBD: Disconnect RDMA connection on QP errors
    [CIFS] SMBD: Add SMBDirect transport to Makefile
    [CIFS] Add SMBD transport to SMB session context
    [CIFS] Add SMBD debug couters to CIFS debug exports
    [CIFS] Connect to SMBD transport when specified in mount option
    [CIFS] Reconnect to SMBD transport when it's used
    [CIFS] Destroy SMBD transport on exit
    [CIFS] Read from SMBD transport when it's used
    [CIFS] Write to SMBD transport when it's used

    fs/cifs/Makefile | 2 +-
    fs/cifs/cifs_debug.c | 25 +
    fs/cifs/cifsfs.c | 2 +
    fs/cifs/cifsglob.h | 3 +
    fs/cifs/cifsrdma.c | 1833 ++++++++++++++++++++++++++++++++++++++++++++++++++
    fs/cifs/cifsrdma.h | 243 +++++++
    fs/cifs/connect.c | 56 +-
    fs/cifs/transport.c | 7 +
    8 files changed, 2164 insertions(+), 7 deletions(-)
    create mode 100644 fs/cifs/cifsrdma.c
    create mode 100644 fs/cifs/cifsrdma.h

    --
    2.7.4

    \
     
     \ /
      Last update: 2017-08-02 22:13    [W:4.077 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site