cryptodev: remove algo lists end

This patch removes enumerators RTE_CRYPTO_CIPHER_LIST_END,
RTE_CRYPTO_AUTH_LIST_END, RTE_CRYPTO_AEAD_LIST_END to prevent
ABI breakage that may arise when adding new crypto algorithms.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
Arek Kusztal 2020-10-12 20:21:24 +01:00 committed by Akhil Goyal
parent 7444937523
commit 3a6f835b33
3 changed files with 29 additions and 17 deletions

View File

@ -171,11 +171,6 @@ Deprecation Notices
Hence the API will be modified to take two mempool pointers - one for session
and one for private data.
* cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``,
``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and
``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm``
will be removed.
* cryptodev: support for using IV with all sizes is added, J0 still can
be used but only when IV length in following structs ``rte_crypto_auth_xform``,
``rte_crypto_aead_xform`` is set to zero. When IV length is greater or equal

View File

@ -359,6 +359,11 @@ API Changes
* cryptodev: The structure ``rte_crypto_sym_vec`` is updated to support both
cpu_crypto synchrounous operation and asynchronous raw data-path APIs.
* cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``,
``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and
``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm``
are removed to avoid future ABI breakage while adding new algorithms.
* scheduler: Renamed functions ``rte_cryptodev_scheduler_slave_attach``,
``rte_cryptodev_scheduler_slave_detach`` and
``rte_cryptodev_scheduler_slaves_get`` to

View File

@ -105,7 +105,13 @@ union rte_crypto_sym_ofs {
} ofs;
};
/** Symmetric Cipher Algorithms */
/** Symmetric Cipher Algorithms
*
* Note, to avoid ABI breakage across releases
* - LIST_END should not be added to this enum
* - the order of enums should not be changed
* - new algorithms should only be added to the end
*/
enum rte_crypto_cipher_algorithm {
RTE_CRYPTO_CIPHER_NULL = 1,
/**< NULL cipher algorithm. No mode applies to the NULL algorithm. */
@ -150,15 +156,12 @@ enum rte_crypto_cipher_algorithm {
* for m_src and m_dst in the rte_crypto_sym_op must be NULL.
*/
RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
RTE_CRYPTO_CIPHER_DES_DOCSISBPI
/**< DES algorithm using modes required by
* DOCSIS Baseline Privacy Plus Spec.
* Chained mbufs are not supported in this mode, i.e. rte_mbuf.next
* for m_src and m_dst in the rte_crypto_sym_op must be NULL.
*/
RTE_CRYPTO_CIPHER_LIST_END
};
/** Cipher algorithm name strings */
@ -264,7 +267,13 @@ struct rte_crypto_cipher_xform {
} iv; /**< Initialisation vector parameters */
};
/** Symmetric Authentication / Hash Algorithms */
/** Symmetric Authentication / Hash Algorithms
*
* Note, to avoid ABI breakage across releases
* - LIST_END should not be added to this enum
* - the order of enums should not be changed
* - new algorithms should only be added to the end
*/
enum rte_crypto_auth_algorithm {
RTE_CRYPTO_AUTH_NULL = 1,
/**< NULL hash algorithm. */
@ -330,10 +339,8 @@ enum rte_crypto_auth_algorithm {
/**< HMAC using 384 bit SHA3 algorithm. */
RTE_CRYPTO_AUTH_SHA3_512,
/**< 512 bit SHA3 algorithm. */
RTE_CRYPTO_AUTH_SHA3_512_HMAC,
RTE_CRYPTO_AUTH_SHA3_512_HMAC
/**< HMAC using 512 bit SHA3 algorithm. */
RTE_CRYPTO_AUTH_LIST_END
};
/** Authentication algorithm name strings */
@ -424,15 +431,20 @@ struct rte_crypto_auth_xform {
};
/** Symmetric AEAD Algorithms */
/** Symmetric AEAD Algorithms
*
* Note, to avoid ABI breakage across releases
* - LIST_END should not be added to this enum
* - the order of enums should not be changed
* - new algorithms should only be added to the end
*/
enum rte_crypto_aead_algorithm {
RTE_CRYPTO_AEAD_AES_CCM = 1,
/**< AES algorithm in CCM mode. */
RTE_CRYPTO_AEAD_AES_GCM,
/**< AES algorithm in GCM mode. */
RTE_CRYPTO_AEAD_CHACHA20_POLY1305,
RTE_CRYPTO_AEAD_CHACHA20_POLY1305
/**< Chacha20 cipher with poly1305 authenticator */
RTE_CRYPTO_AEAD_LIST_END
};
/** AEAD algorithm name strings */