[RFC] cryptodev: clarify usage of the block ciphers

Message ID 20230811174155.2550338-1-arkadiuszx.kusztal@intel.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series [RFC] cryptodev: clarify usage of the block ciphers |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS

Commit Message

Arkadiusz Kusztal Aug. 11, 2023, 5:41 p.m. UTC
  Some of the API comments incorrectly limited the usage of symmetric
crypto fields to block ciphers.

Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>
---
 lib/cryptodev/rte_crypto_sym.h | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)
  

Patch

diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 76c868c503..d1ae982b93 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -139,6 +139,7 @@  enum rte_crypto_cipher_algorithm {
 	RTE_CRYPTO_CIPHER_AES_XTS,
 	/**< AES algorithm in XTS mode */
 
+	/* Should we not deprecate this algorithm by now?*/
 	RTE_CRYPTO_CIPHER_ARC4,
 	/**< (A)RC4 cipher algorithm */
 
@@ -284,7 +285,7 @@  struct rte_crypto_cipher_xform {
 		 *
 		 * - For block ciphers in CTR mode, this is the length
 		 * of the counter (which must be the same as the block
-		 * length of the cipher).
+		 * length of the cipher) or a 12-byte nonce (AES only)
 		 *
 		 * - For CCM mode, this is the length of the nonce,
 		 * which can be in the range 7 to 13 inclusive.
@@ -661,7 +662,7 @@  struct rte_crypto_sym_op {
 				uint32_t length;
 				 /**< The message length, in bytes, of the source buffer
 				  * on which the cryptographic operation will be
-				  * computed. This must be a multiple of the block size
+				  * computed.
 				  */
 			} data; /**< Data offsets and length for AEAD */
 			struct {
@@ -703,22 +704,12 @@  struct rte_crypto_sym_op {
 				 * and the length encoding in the first two bytes of the
 				 * second block.
 				 *
-				 * - the array should be big enough to hold the above
-				 * fields, plus any padding to round this up to the
-				 * nearest multiple of the block size (16 bytes).
-				 * Padding will be added by the implementation.
-				 *
 				 * - Note that PMDs may modify the memory reserved
 				 * (first 18 bytes and the final padding).
 				 *
 				 * Finally, for GCM (@ref RTE_CRYPTO_AEAD_AES_GCM), the
 				 * caller should setup this field as follows:
 				 *
-				 * - the AAD is written in starting at byte 0
-				 * - the array must be big enough to hold the AAD, plus
-				 * any space to round this up to the nearest multiple
-				 * of the block size (16 bytes).
-				 *
 				 */
 				rte_iova_t phys_addr;	/**< physical address */
 			} aad;
@@ -749,8 +740,9 @@  struct rte_crypto_sym_op {
 					  * source buffer on which the cryptographic
 					  * operation will be computed.
 					  * This is also the same as the result length.
-					  * This must be a multiple of the block size
-					  * or a multiple of data-unit length
+					  * For block ciphers, this must be a
+					  * multiple of the block size,
+					  * or for the AES-XTS a multiple of the data-unit length
 					  * as described in xform.
 					  *
 					  * @note