From: Fan Zhang <roy.fan.zhang@intel.com>
To: dev@dpdk.org
Cc: jianjay.zhou@huawei.com, roy.fan.zhang@intel.com,
maxime.coquelin@redhat.com, jianfeng.tan@intel.com,
pawelx.wodkowski@intel.com
Subject: [dpdk-dev] [PATCH v6 2/8] lib/librte_vhost: add virtio-crypto user message structure
Date: Wed, 4 Apr 2018 15:24:58 +0100 [thread overview]
Message-ID: <20180404142504.31836-3-roy.fan.zhang@intel.com> (raw)
In-Reply-To: <20180404142504.31836-1-roy.fan.zhang@intel.com>
This patch adds virtio-crypto spec user message structure to
vhost_user.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
lib/librte_vhost/vhost_user.h | 35 ++++++++++++++++++++++++++++++++---
1 file changed, 32 insertions(+), 3 deletions(-)
diff --git a/lib/librte_vhost/vhost_user.h b/lib/librte_vhost/vhost_user.h
index 0fafbe6e0..33d64fc82 100644
--- a/lib/librte_vhost/vhost_user.h
+++ b/lib/librte_vhost/vhost_user.h
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2010-2014 Intel Corporation
+ * Copyright(c) 2010-2018 Intel Corporation
*/
#ifndef _VHOST_NET_USER_H
@@ -20,13 +20,15 @@
#define VHOST_USER_PROTOCOL_F_REPLY_ACK 3
#define VHOST_USER_PROTOCOL_F_NET_MTU 4
#define VHOST_USER_PROTOCOL_F_SLAVE_REQ 5
+#define VHOST_USER_PROTOCOL_F_CRYPTO_SESSION 7
#define VHOST_USER_PROTOCOL_FEATURES ((1ULL << VHOST_USER_PROTOCOL_F_MQ) | \
(1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\
(1ULL << VHOST_USER_PROTOCOL_F_RARP) | \
(1ULL << VHOST_USER_PROTOCOL_F_REPLY_ACK) | \
(1ULL << VHOST_USER_PROTOCOL_F_NET_MTU) | \
- (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ))
+ (1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ) | \
+ (1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION))
typedef enum VhostUserRequest {
VHOST_USER_NONE = 0,
@@ -52,7 +54,9 @@ typedef enum VhostUserRequest {
VHOST_USER_NET_SET_MTU = 20,
VHOST_USER_SET_SLAVE_REQ_FD = 21,
VHOST_USER_IOTLB_MSG = 22,
- VHOST_USER_MAX
+ VHOST_USER_CRYPTO_CREATE_SESS = 26,
+ VHOST_USER_CRYPTO_CLOSE_SESS = 27,
+ VHOST_USER_MAX = 28
} VhostUserRequest;
typedef enum VhostUserSlaveRequest {
@@ -79,6 +83,30 @@ typedef struct VhostUserLog {
uint64_t mmap_offset;
} VhostUserLog;
+/* Comply with Cryptodev-Linux */
+#define VHOST_USER_CRYPTO_MAX_HMAC_KEY_LENGTH 512
+#define VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH 64
+
+/* Same structure as vhost-user backend session info */
+typedef struct VhostUserCryptoSessionParam {
+ int64_t session_id;
+ uint32_t op_code;
+ uint32_t cipher_algo;
+ uint32_t cipher_key_len;
+ uint32_t hash_algo;
+ uint32_t digest_len;
+ uint32_t auth_key_len;
+ uint32_t aad_len;
+ uint8_t op_type;
+ uint8_t dir;
+ uint8_t hash_mode;
+ uint8_t chaining_dir;
+ uint8_t *ciphe_key;
+ uint8_t *auth_key;
+ uint8_t cipher_key_buf[VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH];
+ uint8_t auth_key_buf[VHOST_USER_CRYPTO_MAX_HMAC_KEY_LENGTH];
+} VhostUserCryptoSessionParam;
+
typedef struct VhostUserMsg {
union {
uint32_t master; /* a VhostUserRequest value */
@@ -99,6 +127,7 @@ typedef struct VhostUserMsg {
VhostUserMemory memory;
VhostUserLog log;
struct vhost_iotlb_msg iotlb;
+ VhostUserCryptoSessionParam crypto_session;
} payload;
int fds[VHOST_MEMORY_MAX_NREGIONS];
} __attribute((packed)) VhostUserMsg;
--
2.13.6
next prev parent reply other threads:[~2018-04-04 14:32 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-26 9:51 [dpdk-dev] [PATCH v3 00/10] lib/librte_vhost: introduce new vhost user crypto backend support Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 01/10] lib/librte_vhost: add external " Fan Zhang
2018-03-29 2:11 ` Tan, Jianfeng
2018-03-29 4:17 ` Liu, Changpeng
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 02/10] lib/librte_vhost: add virtio-crypto user message structure Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 03/10] lib/librte_vhost: add session message handler Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 04/10] lib/librte_vhost: add request handler Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 05/10] lib/librte_vhost: add head file Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 06/10] lib/librte_vhost: add public function implementation Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 07/10] lib/librte_vhost: update version map Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 08/10] lib/librte_vhost: update makefile Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 09/10] examples/vhost_crypto: add vhost crypto sample application Fan Zhang
2018-03-26 9:51 ` [dpdk-dev] [PATCH v3 10/10] doc: update prog guide and sample app guide Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 0/8] vhost: intdroduce vhost user crypto backend Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 1/8] lib/librte_vhost: add external backend support Fan Zhang
2018-03-29 13:47 ` Wodkowski, PawelX
2018-04-01 19:53 ` Zhang, Roy Fan
2018-04-03 13:44 ` Maxime Coquelin
2018-04-03 13:55 ` Zhang, Roy Fan
2018-04-03 14:42 ` Tan, Jianfeng
2018-04-03 14:48 ` Wodkowski, PawelX
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 2/8] lib/librte_vhost: add virtio-crypto user message structure Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 3/8] lib/librte_vhost: add session message handler Fan Zhang
2018-03-29 15:02 ` Tan, Jianfeng
2018-04-03 15:09 ` Zhang, Roy Fan
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 4/8] lib/librte_vhost: add request handler Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 5/8] lib/librte_vhost: add public function implementation Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 6/8] lib/librte_vhost: update makefile Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 7/8] examples/vhost_crypto: add vhost crypto sample application Fan Zhang
2018-03-29 12:52 ` [dpdk-dev] [PATCH v4 8/8] doc: update for vhost crypto support Fan Zhang
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 0/8] vhost: introduce vhost crypto backend Fan Zhang
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 1/8] lib/librte_vhost: add external backend support Fan Zhang
2018-04-04 14:08 ` Maxime Coquelin
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 2/8] lib/librte_vhost: add virtio-crypto user message structure Fan Zhang
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 3/8] lib/librte_vhost: add session message handler Fan Zhang
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 4/8] lib/librte_vhost: add request handler Fan Zhang
2018-04-04 10:08 ` [dpdk-dev] [PATCH v5 5/8] lib/librte_vhost: add public function implementation Fan Zhang
2018-04-04 10:09 ` [dpdk-dev] [PATCH v5 6/8] lib/librte_vhost: update makefile Fan Zhang
2018-04-04 10:09 ` [dpdk-dev] [PATCH v5 7/8] examples/vhost_crypto: add vhost crypto sample application Fan Zhang
2018-04-04 10:09 ` [dpdk-dev] [PATCH v5 8/8] doc: update for vhost crypto support Fan Zhang
2018-04-04 14:24 ` [dpdk-dev] [PATCH v6 0/8] vhost: introduce vhost crypto backend Fan Zhang
2018-04-04 14:24 ` [dpdk-dev] [PATCH v6 1/8] lib/librte_vhost: add vhost user message handlers Fan Zhang
2018-04-04 14:24 ` Fan Zhang [this message]
2018-04-04 14:24 ` [dpdk-dev] [PATCH v6 3/8] lib/librte_vhost: add session message handler Fan Zhang
2018-04-04 14:25 ` [dpdk-dev] [PATCH v6 4/8] lib/librte_vhost: add request handler Fan Zhang
2018-04-05 8:22 ` Maxime Coquelin
2018-04-04 14:25 ` [dpdk-dev] [PATCH v6 5/8] lib/librte_vhost: add public function implementation Fan Zhang
2018-04-04 14:25 ` [dpdk-dev] [PATCH v6 6/8] lib/librte_vhost: update makefile Fan Zhang
2018-04-04 14:25 ` [dpdk-dev] [PATCH v6 7/8] examples/vhost_crypto: add vhost crypto sample application Fan Zhang
2018-04-04 14:25 ` [dpdk-dev] [PATCH v6 8/8] doc: update for vhost crypto support Fan Zhang
2018-04-04 16:46 ` Zhoujian (jay)
2018-04-04 15:37 ` [dpdk-dev] [PATCH v6 0/8] vhost: introduce vhost crypto backend Maxime Coquelin
2018-04-04 16:50 ` Zhoujian (jay)
2018-04-04 19:32 ` Maxime Coquelin
2018-04-05 8:26 ` Maxime Coquelin
2018-04-05 9:48 ` Maxime Coquelin
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 " Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 1/8] lib/librte_vhost: add vhost user message handlers Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 2/8] lib/librte_vhost: add virtio-crypto user message structure Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 3/8] lib/librte_vhost: add session message handler Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 4/8] lib/librte_vhost: add request handler Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 5/8] lib/librte_vhost: add public function implementation Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 6/8] lib/librte_vhost: update makefile Fan Zhang
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 7/8] examples/vhost_crypto: add vhost crypto sample application Fan Zhang
2018-04-15 14:34 ` Thomas Monjalon
2018-04-15 17:35 ` Thomas Monjalon
2018-04-16 7:27 ` Maxime Coquelin
2018-04-05 16:01 ` [dpdk-dev] [PATCH v7 8/8] doc: update for vhost crypto support Fan Zhang
2018-04-05 19:28 ` [dpdk-dev] [PATCH v7 0/8] vhost: introduce vhost crypto backend Maxime Coquelin
2018-04-05 19:40 ` Maxime Coquelin
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=20180404142504.31836-3-roy.fan.zhang@intel.com \
--to=roy.fan.zhang@intel.com \
--cc=dev@dpdk.org \
--cc=jianfeng.tan@intel.com \
--cc=jianjay.zhou@huawei.com \
--cc=maxime.coquelin@redhat.com \
--cc=pawelx.wodkowski@intel.com \
/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).