From patchwork Sun Jan 21 12:54:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhoujian (jay)" X-Patchwork-Id: 864060 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zPZMb3D0rz9t3l for ; Sun, 21 Jan 2018 23:56:59 +1100 (AEDT) Received: from localhost ([::1]:54919 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edFBB-0005UL-Gv for incoming@patchwork.ozlabs.org; Sun, 21 Jan 2018 07:56:57 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edFAM-0005Sk-Rb for qemu-devel@nongnu.org; Sun, 21 Jan 2018 07:56:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edFAJ-0000si-1s for qemu-devel@nongnu.org; Sun, 21 Jan 2018 07:56:06 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:2075 helo=huawei.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1edFAI-0000rT-M4 for qemu-devel@nongnu.org; Sun, 21 Jan 2018 07:56:02 -0500 Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 9A5231A8935EF; Sun, 21 Jan 2018 20:55:47 +0800 (CST) Received: from localhost (10.177.19.14) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.361.1; Sun, 21 Jan 2018 20:55:39 +0800 From: Jay Zhou To: Date: Sun, 21 Jan 2018 20:54:46 +0800 Message-ID: X-Mailer: git-send-email 2.6.1.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.177.19.14] X-CFilter-Loop: Reflected X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 45.249.212.191 Subject: [Qemu-devel] [PATCH v6 0/4] cryptodev: add vhost support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pasic@linux.vnet.ibm.com, weidong.huang@huawei.com, mst@redhat.com, wangxinxin.wang@huawei.com, xin.zeng@intel.com, arei.gonglei@huawei.com, roy.fan.zhang@intel.com, stefanha@redhat.com, jianjay.zhou@huawei.com, pbonzini@redhat.com, longpeng2@huawei.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Gonglei I posted the RFC verion a few months ago for DPDK vhost-crypto implmention, and now it's time to send the formal version. Because we need an user space scheme for better performance. The vhost user crypto server side patches had been sent to DPDK community, pls see [RFC PATCH 0/6] lib/librte_vhost: introduce new vhost_user crypto backend support http://dpdk.org/ml/archives/dev/2017-November/081048.html You also can get virtio-crypto polling mode driver from: [PATCH] virtio: add new driver for crypto devices http://dpdk.org/ml/archives/dev/2017-November/081985.html v5 -> v6: Fix compile error about backends/cryptodev-vhost-user.o and rebase on the master v4 -> v5: squash [PATCH v4 5/5] into previous patches [Michael] v3 -> v4: "[PATCH v4 5/5] cryptodev-vhost-user: depend on CONFIG_VHOST_CRYPTO and CONFIG_VHOST_USER" newly added to fix compilation dependency [Michael] v2 -> v3: New added vhost user messages should be sent only when feature has been successfully negotiated [Michael] v1 -> v2: Fix compile error on mingw32 Gonglei (4): cryptodev: add vhost-user as a new cryptodev backend cryptodev: add vhost support cryptodev-vhost-user: add crypto session handler cryptodev-vhost-user: set the key length backends/Makefile.objs | 6 + backends/cryptodev-builtin.c | 1 + backends/cryptodev-vhost-user.c | 379 ++++++++++++++++++++++++++++++++++ backends/cryptodev-vhost.c | 347 +++++++++++++++++++++++++++++++ configure | 15 ++ docs/interop/vhost-user.txt | 26 +++ hw/virtio/Makefile.objs | 2 +- hw/virtio/vhost-user.c | 104 ++++++++++ hw/virtio/virtio-crypto.c | 70 +++++++ include/hw/virtio/vhost-backend.h | 8 + include/hw/virtio/virtio-crypto.h | 1 + include/sysemu/cryptodev-vhost-user.h | 47 +++++ include/sysemu/cryptodev-vhost.h | 154 ++++++++++++++ include/sysemu/cryptodev.h | 8 + qemu-options.hx | 21 ++ vl.c | 6 + 16 files changed, 1194 insertions(+), 1 deletion(-) create mode 100644 backends/cryptodev-vhost-user.c create mode 100644 backends/cryptodev-vhost.c create mode 100644 include/sysemu/cryptodev-vhost-user.h create mode 100644 include/sysemu/cryptodev-vhost.h --- 1.8.3.1