Received: by 10.223.164.197 with SMTP id h5csp687582wrb; Sat, 4 Nov 2017 22:53:19 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TG8RuaLdKGIq+soeYIkfYwEj2VHvnc0nMoSAoK2tcsHPYDxVn/ztjkxCda0/xh3Onxjdz7 X-Received: by 10.98.220.151 with SMTP id c23mr12809013pfl.126.1509861199124; Sat, 04 Nov 2017 22:53:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509861199; cv=none; d=google.com; s=arc-20160816; b=U7RBIa+LZT9tdNpzGHGyQ2Fk1cfXN66+feXT3IPgSYbdVZwgS/vj5YoMRhCAsZPx1E Uuo0nLBkHhFkBX8y0zrcBYu95AZItIz4ab34+kZI1hf2QcarlNAsHyYbks95b1Sa7zC+ R34OzJbswKxM2TnSUbvW36BNJgIT6yd4YBkqU03UEpzH+15A8NiI5QC+ghT75rDOxOok TUDrn+ZwveTUy7WOvwsQ6nG0tPQJ2TqEpoLdnwjv1A9uvyjJlJiAeaUIEWe4Aid/kc1A FQSlu1vKMJc+HDTJJXzC3IykIaQ/L++p4pVb8Mg1xPhXKt6V5H7w9a1dGPtAIDVB+E5e 1qfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=AgQNS6MlVkHnR3XbYl5ifpLxkxomkLOQOXZFF1CHz30=; b=mb1BZEgm5JwLQk2MkKn9cmF9H/H7n8I+8jenKaljHgp9ZHst1WKg6wRWvMhlu0enzh VJmM/APU6XwyzRj2SFLxeuT8bHVV3eRNBuOeEUpP0y9TiwUyMNTSQ6lH04lvRErSvLgl N0YghZ5Pcicqw5xp/ymy0YTKi6+cHeOhvXFgFv21wVIM+XmxmGfYBw1OUS4dH633QsdZ FmblHB+uxc+YeyKqNmPY2Rlcw5BaEBZrKdKWNgbAtcDNOJDHl/ibAg2xhb7inGjgagYa f+pf909HA7KNiRtj407qtkK3Z6ldyCqW8qZhdHDjOrPmjbhj3WnVVnVvQjCC6/mDe96q 52Gg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=exchange.microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s4si8190202plj.758.2017.11.04.22.53.06; Sat, 04 Nov 2017 22:53:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=exchange.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752806AbdKEFuz (ORCPT + 96 others); Sun, 5 Nov 2017 01:50:55 -0400 Received: from a2nlsmtp01-02.prod.iad2.secureserver.net ([198.71.225.36]:51990 "EHLO a2nlsmtp01-02.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750775AbdKEFpw (ORCPT ); Sun, 5 Nov 2017 01:45:52 -0400 Received: from linuxonhyperv.com ([107.180.71.197]) by : HOSTING RELAY : with SMTP id BDjUeX8SzOdJ4BDjUeZkDH; Sat, 04 Nov 2017 22:44:51 -0700 x-originating-ip: 107.180.71.197 Received: from longli by linuxonhyperv.com with local (Exim 4.89) (envelope-from ) id 1eBDjT-0006EK-VN; Sat, 04 Nov 2017 22:44:32 -0700 From: Long Li To: Steve French , linux-cifs@vger.kernel.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Christoph Hellwig , Tom Talpey , Matthew Wilcox , Stephen Hemminger Cc: Long Li Subject: [Patch v6 04/22] CIFS: SMBD: Add SMB Direct protocol initial values and constants Date: Sat, 4 Nov 2017 22:43:46 -0700 Message-Id: <20171105054404.23886-5-longli@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171105054404.23886-1-longli@exchange.microsoft.com> References: <20171105054404.23886-1-longli@exchange.microsoft.com> X-CMAE-Envelope: MS4wfHInzG9HoganxEji0XFIN7xoEuqKZa4XBlKSa/qrrDpMlkjOy4Z5A7Ighy6xCM4m6M/04xKXnffq7FwVkSJPO7Lh1rXP736G8O9KiQZ/Fm6tC1TSfCbJ J5uMJrpbgS8+Ym0vO/kd2gcgqvrqmeEJWE/Pn9ryOx9WguD764fehIRX3HKtWU8p19AmC4O8wv4yBX7NCAbsrby5ocIU+/I6A3JVQsocjHCt9LDVnEz9jCwW C7kmmEcOTy/TFfG7FxFej/WG9ZoSqOQDf1duLJAGR6lUfQP/tAJSB3YotLZ/rcpsFtMiRMd+w7jBwhFwytx7MYJHH7qUtbHhDIOk0vtIXH6dy0QOnq+CBl9Z cSLai0b/G9AOynjKKJhX/kB5Vg8XAeZNDimRyLAiiqNJYCJBb6xBjoFUUNqKoIFXr1gjl3Q8QUVkNf/r6JlsMkmHxhHVkrXoEyFPaq6CPGHa00yEHI1/mrEi GomLwswJfCyTBmTu3Xn5+CwYNlnWGs9L3FTVog== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Long Li To prepare for protocol implementation, add constants and user-configurable values for the SMB Direct protocol. Signed-off-by: Long Li --- 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 + * + * 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 + * + * 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 From 1585143365434336884@xxx Sun Nov 26 15:35:15 +0000 2017 X-GM-THRID: 1585067901440895507 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread