On Mon, Aug 01, 2016 at 05:20:19PM +0800, Gonglei wrote: > This is the specification (version 6) about a new virtio crypto device. > After a big reconstruction, the spec (symmetric algos) is near to stabilize. > This version fix some problems of formating and return value, etc. > > If you have any comments, please let me know, thanks :)
You might want to open a jira tracker in oasis jira to add this. > CC: Michael S. Tsirkin <m...@redhat.com> > CC: Cornelia Huck <cornelia.h...@de.ibm.com> > CC: Stefan Hajnoczi <stefa...@redhat.com> > CC: Lingli Deng <denglin...@chinamobile.com> > CC: Jani Kokkonen <jani.kokko...@huawei.com> > CC: Ola Liljedahl <ola.liljed...@arm.com> > CC: Varun Sethi <varun.se...@freescale.com> > CC: Zeng Xin <xin.z...@intel.com> > CC: Keating Brian <brian.a.keat...@intel.com> > CC: Ma Liang J <liang.j...@intel.com> > CC: Griffin John <john.grif...@intel.com> > CC: Hanweidong <hanweid...@huawei.com> > > Changes from v6: > - 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 | 793 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 825 insertions(+) > create mode 100644 virtio-crypto.tex > > -- > 1.7.12.4 >