lkml.org 
[lkml]   [2017]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [Patch v6 04/22] CIFS: SMBD: Add SMB Direct protocol initial values and constants
Have merged the first 4 patches in the series (had to merge patch 1 by
hand to deal with merge conflicts) - am examining the rest. Let me
know if updates needed/expected soon for any of the rest of the
series

On Sun, Nov 5, 2017 at 12:43 AM, Long Li <longli@exchange.microsoft.com> wrote:
> From: Long Li <longli@microsoft.com>
>
> To prepare for protocol implementation, add constants and user-configurable
> values for the SMB Direct protocol.
>
> Signed-off-by: Long Li <longli@microsoft.com>
> ---
> fs/cifs/smbdirect.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> fs/cifs/smbdirect.h | 21 +++++++++++++++
> 2 files changed, 98 insertions(+)
> create mode 100644 fs/cifs/smbdirect.c
> create mode 100644 fs/cifs/smbdirect.h
>
> diff --git a/fs/cifs/smbdirect.c b/fs/cifs/smbdirect.c
> new file mode 100644
> index 0000000..d3c16f8
> --- /dev/null
> +++ b/fs/cifs/smbdirect.c
> @@ -0,0 +1,77 @@
> +/*
> + * Copyright (C) 2017, Microsoft Corporation.
> + *
> + * Author(s): Long Li <longli@microsoft.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> + * the GNU General Public License for more details.
> + */
> +#include "smbdirect.h"
> +
> +/* SMBD version number */
> +#define SMBD_V1 0x0100
> +
> +/* Port numbers for SMBD transport */
> +#define SMB_PORT 445
> +#define SMBD_PORT 5445
> +
> +/* Address lookup and resolve timeout in ms */
> +#define RDMA_RESOLVE_TIMEOUT 5000
> +
> +/* SMBD negotiation timeout in seconds */
> +#define SMBD_NEGOTIATE_TIMEOUT 120
> +
> +/* SMBD minimum receive size and fragmented sized defined in [MS-SMBD] */
> +#define SMBD_MIN_RECEIVE_SIZE 128
> +#define SMBD_MIN_FRAGMENTED_SIZE 131072
> +
> +/*
> + * Default maximum number of RDMA read/write outstanding on this connection
> + * This value is possibly decreased during QP creation on hardware limit
> + */
> +#define SMBD_CM_RESPONDER_RESOURCES 32
> +
> +/* Maximum number of retries on data transfer operations */
> +#define SMBD_CM_RETRY 6
> +/* No need to retry on Receiver Not Ready since SMBD manages credits */
> +#define SMBD_CM_RNR_RETRY 0
> +
> +/*
> + * User configurable initial values per SMBD transport connection
> + * as defined in [MS-SMBD] 3.1.1.1
> + * Those may change after a SMBD negotiation
> + */
> +/* The local peer's maximum number of credits to grant to the peer */
> +int smbd_receive_credit_max = 255;
> +
> +/* The remote peer's credit request of local peer */
> +int smbd_send_credit_target = 255;
> +
> +/* The maximum single message size can be sent to remote peer */
> +int smbd_max_send_size = 1364;
> +
> +/* The maximum fragmented upper-layer payload receive size supported */
> +int smbd_max_fragmented_recv_size = 1024 * 1024;
> +
> +/* The maximum single-message size which can be received */
> +int smbd_max_receive_size = 8192;
> +
> +/* The timeout to initiate send of a keepalive message on idle */
> +int smbd_keep_alive_interval = 120;
> +
> +/*
> + * User configurable initial values for RDMA transport
> + * The actual values used may be lower and are limited to hardware capabilities
> + */
> +/* Default maximum number of SGEs in a RDMA write/read */
> +int smbd_max_frmr_depth = 2048;
> +
> +/* If payload is less than this byte, use RDMA send/recv not read/write */
> +int rdma_readwrite_threshold = 4096;
> diff --git a/fs/cifs/smbdirect.h b/fs/cifs/smbdirect.h
> new file mode 100644
> index 0000000..c55f28b
> --- /dev/null
> +++ b/fs/cifs/smbdirect.h
> @@ -0,0 +1,21 @@
> +/*
> + * Copyright (C) 2017, Microsoft Corporation.
> + *
> + * Author(s): Long Li <longli@microsoft.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> + * the GNU General Public License for more details.
> + */
> +#ifndef _SMBDIRECT_H
> +#define _SMBDIRECT_H
> +
> +/* Default maximum number of SGEs in a RDMA send/recv */
> +#define SMBDIRECT_MAX_SGE 16
> +#endif
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Thanks,

Steve

\
 
 \ /
  Last update: 2017-11-20 04:54    [W:0.112 / U:3.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site