[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 0/2] virtio-crypto: virtio crypto device specific
From: |
Gonglei |
Subject: |
[Qemu-devel] [PATCH v7 0/2] virtio-crypto: virtio crypto device specific |
Date: |
Thu, 11 Aug 2016 12:00:51 +0800 |
This is the specification (version 7) about a new virtio crypto device.
If you have any comments, please let me know, 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>
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 | 761 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 793 insertions(+)
create mode 100644 virtio-crypto.tex
--
1.7.12.4
- [Qemu-devel] [PATCH v7 0/2] virtio-crypto: virtio crypto device specific,
Gonglei <=