[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v12 0/2] virtio-crypto: virtio crypto device spe
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v12 0/2] virtio-crypto: virtio crypto device specification |
Date: |
Fri, 28 Oct 2016 01:13:50 +0300 |
On Mon, Oct 24, 2016 at 06:51:52AM +0000, Gonglei (Arei) wrote:
> Ping....
>
> And the corresponding source code v9 on QEMU side had been posted:
>
> [PATCH v9 00/12] virtio-crypto: introduce framework and device emulation
> https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg04755.html
>
> Regards,
> -Gonglei
If there are no comments and this is ready to get votes now,
pls open the jira issue that you created.
I can then start the ballot.
>
> > -----Original Message-----
> > From: Gonglei (Arei)
> > Sent: Monday, October 10, 2016 11:37 AM
> > Subject: [PATCH v12 0/2] virtio-crypto: virtio crypto device specification
> >
> > This is the specification about a new virtio crypto device.
> >
> > You can get the source code from the below website:
> >
> > [PATCH v3 00/10] virtio-crypto: introduce framework and device emulation
> > https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg04132.html
> >
> > [PATCH v4 00/13] virtio-crypto: introduce framework and device emulation
> > https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg07327.html
> >
> > [PATCH v5 00/14] virtio-crypto: introduce framework and device emulation
> > https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg00963.html
> >
> > For more information, please see:
> > http://qemu-project.org/Features/VirtioCrypto
> >
> > Please help to review, thanks.
> >
> > CC: Michael S. Tsirkin <address@hidden>
> > CC: Cornelia Huck <address@hidden>
> > CC: Stefan Hajnoczi <address@hidden>
> > CC: Lingli Deng <address@hidden>
> > CC: Jani Kokkonen <address@hidden>
> > CC: Ola Liljedahl <address@hidden>
> > CC: Varun Sethi <address@hidden>
> > CC: Zeng Xin <address@hidden>
> > CC: Keating Brian <address@hidden>
> > CC: Ma Liang J <address@hidden>
> > CC: Griffin John <address@hidden>
> > CC: Hanweidong <address@hidden>
> > CC: Mihai Claudiu Caraman <address@hidden>
> >
> > Changes since v11:
> > - drop scatter-gather I/O definition for virtio crypto device because
> > The vring already provides scatter-gather I/O. It is usually not
> > necessary to define scatter-gather I/O at the device level. [Stefan]
> > - perfect algorithm chain parameters' definition.
> > - add HASH/MAC parameter structure.
> >
> > Changes since v10:
> > - fix typos s/filed/field/. [Xin]
> > - replace 'real cypto accelerator' with 'backend crypto accelerator'. [mst]
> > - drop KDF, ASYM, PRIMITIVE services description temporarily. [mst]
> > - write a device requirement are testable about
> > VIRTIO_CRYPTO_S_HW_READY. [mst]
> > - add a space before * in one code comment. [mst]
> > - reset the layout of all crypto operations for better asymmetric algos
> > support.
> > [Xin]
> > - add more detailed description for initialization vector under different
> > modes.
> > - sed -i 's/VIRTIO_CRYPTO_OP_/VIRTIO_CRYPTO_/g' for general usage in
> > asym algos. [Xin]
> >
> > Changes since v9:
> > - request a native speaker go over the text and fix corresponding grammar
> > issues. [mst]
> > - make some description more appropriated over here and there. [mst]
> > - rewrite some requirement for both device and driver. [mst]
> > - use RFC 2119 keywords. [mst]
> > - fix some complaints by Xelatex and typoes. [Xin Zeng]
> > - add scatter/getter chain support for possible large block data.
> >
> > Thanks for your review, Michael and Xin.
> >
> > Changes from v8:
> > - add additional auth gpa and length to struct virtio_crypto_sym_data_req;
> > - add definition of op in struct virtio_crypto_cipher_session_para,
> > VIRTIO_CRYPTO_OP_ENCRYPT and VIRTIO_CRYPTO_OP_DECRYPT;
> > - make all structures 64bit aligned in order to support different
> > architectures more conveniently [Alex & Stefan]
> > - change to devicenormative{\subsection} and \drivernormative{\subsection}
> > in some sections [Stefan]
> > - driver does not have to initialize all data virtqueues if it wants to
> > use fewer
> > [Stefan]
> > - drop VIRTIO_CRYPTO_NO_SERVICE definition [Stefan]
> > - many grammatical problems and typos. [Stefan]
> > - rename VIRTIO_CRYPTO_MAC_CMAC_KASUMI_F9 to
> > VIRTIO_CRYPTO_MAC_CMAC_KASUMI_F9,
> > and VIRTIO_CRYPTO_MAC_CMAC_SNOW3G_UIA2 to
> > VIRTIO_CRYPTO_MAC_SNOW3G_UIA2. [Liang Ma]
> > - drop queue_id property of struct virtio_crypto_op_data_req.
> > - reconstruct some structures about session operation request.
> > - introduce struct virtio_crypto_alg_chain_session_req and struct
> > virtio_crypto_alg_chain_data_req,
> > introduce chain para, output, input structures as well.
> > - change some sections' layout for better compatibility, for asymmetric
> > algos.
> > [Xin Zeng]
> >
> > Changes from v7:
> > - fix some grammar or typo problems.
> > - add more detailed description at steps of encryption section.
> >
> > Changes from v6:
> > - drop verion filed in struct virtio_crypto_config. [Michael & Cornelia]
> > - change the incorrect description in initialization routine. [Zeng Xin]
> > - redefine flag u16 to make structure alignment. [Zeng Xin]
> > - move the content of virtio_crypto_hash_session_para into
> > virtio_crypto_hash_session_input directly, Same to MAC/SYM/AEAD
> > session creation. [Zeng Xin]
> > - adjuest the sequence of idata and odata refer to the virtio scsi parts,
> > meanwhile add the comments of device-readable/writable for them.
> > - add restrictive documents for the guest memory in some structure, which
> > MUST be gauranted to be allocated and physically-contiguous.
> >
> > Changes from v5:
> > - add conformance clauses for virtio crypto device. [Michael]
> > - drop VIRTIO_CRYPTO_S_STARTED. [Michael]
> > - fix some characters problems. [Stefan]
> > - add a MAC algorithm, named VIRTIO_CRYPTO_MAC_ZUC_EIA3. [Zeng Xin]
> > - add the fourth return code, named VIRTIO_CRYPTO_OP_INVSESS used
> > for invalid session id when executing crypto operations.
> > - drop some gpu stuff forgot to delete. [Michael]
> > - convert tab to space all over the content.
> >
> > Changes from v4:
> > - introduce crypto services into virtio crypto device. The services
> > currently defined are CIPHER, MAC, HASH, AEAD, KDF, ASYM, PRIMITIVE.
> > - define a unified crypto request format that is consisted of
> > general header + service specific request, Where 'general header' is for
> > all
> > crypto request, 'service specific request' is composed of
> > operation parameter + input data + output data in generally.
> > operation parameter is algorithm-specific parameters,
> > input data is the data should be operated ,
> > output data is the "operation result + result buffer".
> > - redefine the algorithms and structure based on above crypto services.
> > - rearrange the title and subtitle
> > - Only support CIPHER, MAC, HASH and AEAD crypto services, and Xin will
> > focus KDF, ASYM and PRIMITIVE services.
> > - Some other corresponding fixes.
> > - Make a formal patch using tex type.
> >
> > This version is a big reconstruction based on Zeng, Xin' comments, thanks a
> > lot.
> >
> > Changes from v3:
> > - Don't use enum is the spec but macros in specific structures. [Michael &
> > Stefan]
> > - Add two complete structures for session creation and closing, so that
> > the spec is clear on how to lay out the request. [Stefan]
> > - Definite the crypto operation request with assigned structure, in this
> > way,
> > each data request only occupies *one entry* of the Vring descriptor table,
> > which *improves* the *throughput* of data transferring.
> >
> > Changes from v2:
> > - Reserve virtio device ID 20 for crypto device. [Cornelia]
> > - Drop all feature bits, those capabilities are offered by the device all
> > the time.
> > [Stefan & Cornelia]
> > - Add a new section 1.4.2 for driver requirements. [Stefan]
> > - Use definite type definition instead of enum type in some structure.
> > [Stefan]
> > - Add virtio_crypto_cipher_alg definition. [Stefan]
> > - Add a "Device requirements" section as using MUST. [Stefan]
> > - Some grammar nits fixes and typo fixes. [Stefan & Cornelia]
> > - Add one VIRTIO_CRYPTO_S_STARTED status for the driver as the flag of
> > virtio-crypto device started and can work now.
> >
> > Great thanks for Stefan and Cornelia!
> >
> > Changes from v1:
> > - Drop the feature bit definition for each algorithm, and using config
> > space
> > instead [Cornelia]
> > - Add multiqueue support and add corresponding feature bit
> > - Update Encryption process and header definition
> > - Add session operation process and add corresponding header description
> > - Other better description in order to fit for virtio spec [Michael]
> > - Some other trivial fixes.
> >
> > Gonglei (2):
> > virtio-crypto: Add virtio crypto device specification
> > virtio-crypto: Add conformance clauses
> >
> > conformance.tex | 30 ++
> > content.tex | 2 +
> > virtio-crypto.tex | 999
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 1031 insertions(+)
> > create mode 100644 virtio-crypto.tex
> >
> > --
> > 1.7.12.4
> >