All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v4 0/2] remove list end enumerators
@ 2020-10-12 19:21 Arek Kusztal
  2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto " Arek Kusztal
  2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 2/2] doc: remove crypto list end deprecation notice Arek Kusztal
  0 siblings, 2 replies; 4+ messages in thread
From: Arek Kusztal @ 2020-10-12 19:21 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, Arek Kusztal

This patchset removes enumerators RTE_CRYPTO_CIPHER_LIST_END,
RTE_CRYPTO_AUTH_LIST_END, RTE_CRYPTO_AEAD_LIST_END from symmetric
crypto API to prevent some problems that may arise when adding
new crypto algorithms.

v2:
- combined patches into one series
- added removal of deprecation notice
v3:
- removed asymmetric crypto patches
v4:
- added comments about addition of new algorithms

Arek Kusztal (2):
  cryptodev: remove crypto list end enumerators
  doc: remove crypto list end deprecation notice

 doc/guides/rel_notes/deprecation.rst  |  5 ----
 lib/librte_cryptodev/rte_crypto_sym.h | 36 ++++++++++++++++++---------
 2 files changed, 24 insertions(+), 17 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto list end enumerators
  2020-10-12 19:21 [dpdk-dev] [PATCH v4 0/2] remove list end enumerators Arek Kusztal
@ 2020-10-12 19:21 ` Arek Kusztal
  2020-10-12 19:24   ` Akhil Goyal
  2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 2/2] doc: remove crypto list end deprecation notice Arek Kusztal
  1 sibling, 1 reply; 4+ messages in thread
From: Arek Kusztal @ 2020-10-12 19:21 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, Arek Kusztal

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

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 lib/librte_cryptodev/rte_crypto_sym.h | 36 ++++++++++++++++++---------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h
index f29c98051..84170e24e 100644
--- a/lib/librte_cryptodev/rte_crypto_sym.h
+++ b/lib/librte_cryptodev/rte_crypto_sym.h
@@ -87,7 +87,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. */
@@ -132,15 +138,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 */
@@ -246,7 +249,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. */
@@ -312,10 +321,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 */
@@ -406,15 +413,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 */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v4 2/2] doc: remove crypto list end deprecation notice
  2020-10-12 19:21 [dpdk-dev] [PATCH v4 0/2] remove list end enumerators Arek Kusztal
  2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto " Arek Kusztal
@ 2020-10-12 19:21 ` Arek Kusztal
  1 sibling, 0 replies; 4+ messages in thread
From: Arek Kusztal @ 2020-10-12 19:21 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, Arek Kusztal

This patch removes deprecation notice about removing
LIST_END enumerators from Cryptodev.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 doc/guides/rel_notes/deprecation.rst | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index f9b72acb8..7f203fd7e 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -230,11 +230,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
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto list end enumerators
  2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto " Arek Kusztal
@ 2020-10-12 19:24   ` Akhil Goyal
  0 siblings, 0 replies; 4+ messages in thread
From: Akhil Goyal @ 2020-10-12 19:24 UTC (permalink / raw)
  To: Arek Kusztal, dev; +Cc: fiona.trahe

> This patch removes enumerators RTE_CRYPTO_CIPHER_LIST_END,
> RTE_CRYPTO_AUTH_LIST_END, RTE_CRYPTO_AEAD_LIST_END to prevent
> some problems 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>

Will squash both the patches while applying to crypto tree.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-12 19:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12 19:21 [dpdk-dev] [PATCH v4 0/2] remove list end enumerators Arek Kusztal
2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 1/2] cryptodev: remove crypto " Arek Kusztal
2020-10-12 19:24   ` Akhil Goyal
2020-10-12 19:21 ` [dpdk-dev] [PATCH v4 2/2] doc: remove crypto list end deprecation notice Arek Kusztal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.