X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fprog_guide%2Fcryptodev_lib.rst;h=bf0ee79f8d6309de356800603e397f68cfb7215c;hb=a2aafb9aa6517160a2621e2140e36d67326190d5;hp=9bbf207646e8106373287a94e20deb3446290746;hpb=8b283e90e6953fe321644c2ba3abf68d154d3cd1;p=dpdk.git diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst index 9bbf207646..bf0ee79f8d 100644 --- a/doc/guides/prog_guide/cryptodev_lib.rst +++ b/doc/guides/prog_guide/cryptodev_lib.rst @@ -304,7 +304,7 @@ Crypto operations is usually completed during the enqueue call to the Crypto device. The dequeue burst API will retrieve any processed operations available from the queue pair on the Crypto device, from physical devices this is usually directly from the devices processed queue, and for virtual device's from a -``rte_ring`` where processed operations are place after being processed on the +``rte_ring`` where processed operations are placed after being processed on the enqueue call. @@ -497,7 +497,10 @@ Symmetric Crypto transforms (``rte_crypto_sym_xform``) are the mechanism used to specify the details of the Crypto operation. For chaining of symmetric operations such as cipher encrypt and authentication generate, the next pointer allows transform to be chained together. Crypto devices which support chaining -must publish the chaining of symmetric Crypto operations feature flag. +must publish the chaining of symmetric Crypto operations feature flag. Allocation of the +xform structure is in the the application domain. To allow future API extensions in a +backwardly compatible manner, e.g. addition of a new parameter, the application should +zero the full xform struct before populating it. Currently there are three transforms types cipher, authentication and AEAD. Also it is important to note that the order in which the @@ -873,7 +876,15 @@ private asymmetric session data. Once this is done, session should be freed usin Asymmetric Sessionless Support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Currently asymmetric crypto framework does not support sessionless. + +Asymmetric crypto framework supports session-less operations as well. + +Fields that should be set by user are: + +Member xform of struct rte_crypto_asym_op should point to the user created rte_crypto_asym_xform. +Note that rte_crypto_asym_xform should be immutable for the lifetime of associated crypto_op. + +Member sess_type of rte_crypto_op should also be set to RTE_CRYPTO_OP_SESSIONLESS. Transforms and Transform Chaining ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -881,7 +892,10 @@ Transforms and Transform Chaining Asymmetric Crypto transforms (``rte_crypto_asym_xform``) are the mechanism used to specify the details of the asymmetric Crypto operation. Next pointer within xform allows transform to be chained together. Also it is important to note that -the order in which the transforms are passed indicates the order of the chaining. +the order in which the transforms are passed indicates the order of the chaining. Allocation +of the xform structure is in the the application domain. To allow future API extensions in a +backwardly compatible manner, e.g. addition of a new parameter, the application should +zero the full xform struct before populating it. Not all asymmetric crypto xforms are supported for chaining. Currently supported asymmetric crypto chaining is Diffie-Hellman private key generation followed by