Re: [Qemu-devel] [PATCH v12 0/2] virtio-crypto: virtio crypto device specification
On Mon, Oct 24, 2016 at 06:51:52AM +, 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 > > CC: Cornelia Huck > > CC: Stefan Hajnoczi > > CC: Lingli Deng > > CC: Jani Kokkonen > > CC: Ola Liljedahl > > CC: Varun Sethi > > CC: Zeng Xin > > CC: Keating Brian > > CC: Ma Liang J > > CC: Griffin John > > CC: Hanweidong > > CC: Mihai Claudiu Caraman > > > > 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] > >
Re: [Qemu-devel] [PATCH v12 0/2] virtio-crypto: virtio crypto device specification
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 > -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 > CC: Cornelia Huck > CC: Stefan Hajnoczi > CC: Lingli Deng > CC: Jani Kokkonen > CC: Ola Liljedahl > CC: Varun Sethi > CC: Zeng Xin > CC: Keating Brian > CC: Ma Liang J > CC: Griffin John > CC: Hanweidong > CC: Mihai Claudiu Caraman > > 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 c
[Qemu-devel] [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 CC: Cornelia Huck CC: Stefan Hajnoczi CC: Lingli Deng CC: Jani Kokkonen CC: Ola Liljedahl CC: Varun Sethi CC: Zeng Xin CC: Keating Brian CC: Ma Liang J CC: Griffin John CC: Hanweidong CC: Mihai Claudiu Caraman 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 cryp