[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH v8 0/2] virtio-crypto: virtio crypto device specification
This is the specification about a new virtio crypto device. If you have any comments, please let me know, thanks :) CC: Michael S. Tsirkin <mst@redhat.com> CC: Cornelia Huck <cornelia.huck@de.ibm.com> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Lingli Deng <denglingli@chinamobile.com> CC: Jani Kokkonen <Jani.Kokkonen@huawei.com> CC: Ola Liljedahl <Ola.Liljedahl@arm.com> CC: Varun Sethi <Varun.Sethi@freescale.com> CC: Zeng Xin <xin.zeng@intel.com> CC: Keating Brian <brian.a.keating@intel.com> CC: Ma Liang J <liang.j.ma@intel.com> CC: Griffin John <john.griffin@intel.com> CC: Hanweidong <hanweidong@huawei.com> CC: Mihai Claudiu Caraman <mike.caraman@nxp.com> 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 | 31 ++ content.tex | 2 + virtio-crypto.tex | 835 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 868 insertions(+) create mode 100644 virtio-crypto.tex -- 1.7.12.4
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]