From: Sagi Grimberg <sagi@grimberg.me>
To: linux-nvme@lists.infradead.org
Cc: linux-block@vger.kernel.org, netdev@vger.kernel.org,
Christoph Hellwig <hch@lst.de>,
Keith Busch <keith.busch@intel.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH nvme-cli v3 17/13] fabrics: add transport header and data digest
Date: Wed, 21 Nov 2018 17:56:15 -0800 [thread overview]
Message-ID: <20181122015615.15763-18-sagi@grimberg.me> (raw)
In-Reply-To: <20181122015615.15763-1-sagi@grimberg.me>
From: Sagi Grimberg <sagi@lightbitslabs.com>
This setting is enabling header and data digest over NVMe/TCP
controllers.
Signed-off-by: Sagi Grimberg <sagi@lightbitslabs.com>
---
fabrics.c | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/fabrics.c b/fabrics.c
index f8e03de46632..394cba406a88 100644
--- a/fabrics.c
+++ b/fabrics.c
@@ -61,6 +61,8 @@ static struct config {
char *device;
int duplicate_connect;
int disable_sqflow;
+ int hdr_digest;
+ int data_digest;
} cfg = { NULL };
#define BUF_SIZE 4096
@@ -615,7 +617,9 @@ static int build_options(char *argstr, int max_len)
add_bool_argument(&argstr, &max_len, "duplicate_connect",
cfg.duplicate_connect) ||
add_bool_argument(&argstr, &max_len, "disable_sqflow",
- cfg.disable_sqflow))
+ cfg.disable_sqflow) ||
+ add_bool_argument(&argstr, &max_len, "hdr_digest", cfg.hdr_digest) ||
+ add_bool_argument(&argstr, &max_len, "data_digest", cfg.data_digest))
return -EINVAL;
return 0;
@@ -709,6 +713,20 @@ retry:
return -EINVAL;
p += len;
+ if (cfg.hdr_digest) {
+ len = sprintf(p, ",hdr_digest");
+ if (len < 0)
+ return -EINVAL;
+ p += len;
+ }
+
+ if (cfg.data_digest) {
+ len = sprintf(p, ",data_digest");
+ if (len < 0)
+ return -EINVAL;
+ p += len;
+ }
+
switch (e->trtype) {
case NVMF_TRTYPE_RDMA:
case NVMF_TRTYPE_TCP:
@@ -929,6 +947,8 @@ int discover(const char *desc, int argc, char **argv, bool connect)
{"keep-alive-tmo", 'k', "LIST", CFG_INT, &cfg.keep_alive_tmo, required_argument, "keep alive timeout period in seconds" },
{"reconnect-delay", 'c', "LIST", CFG_INT, &cfg.reconnect_delay, required_argument, "reconnect timeout period in seconds" },
{"ctrl-loss-tmo", 'l', "LIST", CFG_INT, &cfg.ctrl_loss_tmo, required_argument, "controller loss timeout period in seconds" },
+ {"hdr_digest", 'g', "", CFG_NONE, &cfg.hdr_digest, no_argument, "enable transport protocol header digest (TCP transport)" },
+ {"data_digest", 'G', "", CFG_NONE, &cfg.data_digest, no_argument, "enable transport protocol data digest (TCP transport)" },
{NULL},
};
@@ -970,6 +990,8 @@ int connect(const char *desc, int argc, char **argv)
{"ctrl-loss-tmo", 'l', "LIST", CFG_INT, &cfg.ctrl_loss_tmo, required_argument, "controller loss timeout period in seconds" },
{"duplicate_connect", 'D', "", CFG_NONE, &cfg.duplicate_connect, no_argument, "allow duplicate connections between same transport host and subsystem port" },
{"disable_sqflow", 'd', "", CFG_NONE, &cfg.disable_sqflow, no_argument, "disable controller sq flow control (default false)" },
+ {"hdr_digest", 'g', "", CFG_NONE, &cfg.hdr_digest, no_argument, "enable transport protocol header digest (TCP transport)" },
+ {"data_digest", 'G', "", CFG_NONE, &cfg.data_digest, no_argument, "enable transport protocol data digest (TCP transport)" },
{NULL},
};
--
2.17.1
prev parent reply other threads:[~2018-11-22 12:33 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-22 1:55 [PATCH v3 00/13] TCP transport binding for NVMe over Fabrics Sagi Grimberg
2018-11-22 1:55 ` [PATCH v3 01/13] ath6kl: add ath6kl_ prefix to crypto_type Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 02/13] datagram: open-code copy_page_to_iter Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 03/13] iov_iter: pass void csum pointer to csum_and_copy_to_iter Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 04/13] datagram: consolidate datagram copy to iter helpers Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 05/13] iov_iter: introduce hash_and_copy_to_iter helper Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 06/13] datagram: introduce skb_copy_and_hash_datagram_iter helper Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 07/13] nvmet: Add install_queue callout Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 08/13] nvme-fabrics: allow user passing header digest Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 09/13] nvme-fabrics: allow user passing data digest Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 10/13] nvme-tcp: Add protocol header Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 11/13] nvmet-tcp: add NVMe over TCP target driver Sagi Grimberg
2018-11-22 9:06 ` Christoph Hellwig
2018-11-25 9:13 ` Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 12/13] nvmet: allow configfs tcp trtype configuration Sagi Grimberg
2018-11-22 1:56 ` [PATCH v3 13/13] nvme-tcp: add NVMe over TCP host driver Sagi Grimberg
2018-11-22 8:02 ` Christoph Hellwig
2018-11-25 9:10 ` Sagi Grimberg
2018-11-27 0:05 ` Max Gurtovoy
2018-11-27 7:48 ` Sagi Grimberg
2018-11-27 10:20 ` Max Gurtovoy
2018-11-22 1:56 ` [PATCH nvme-cli v3 14/13] fabrics: use trtype_str when parsing a discovery log entry Sagi Grimberg
2018-11-22 1:56 ` [PATCH nvme-cli v3 15/13] nvme: Add TCP transport Sagi Grimberg
2018-11-26 15:47 ` Keith Busch
2018-11-27 7:45 ` Sagi Grimberg
2018-11-22 1:56 ` [PATCH nvme-cli v3 16/13] fabrics: add tcp port tsas decoding Sagi Grimberg
2018-11-22 1:56 ` Sagi Grimberg [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181122015615.15763-18-sagi@grimberg.me \
--to=sagi@grimberg.me \
--cc=davem@davemloft.net \
--cc=hch@lst.de \
--cc=keith.busch@intel.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).