[dpdk-dev] [PATCH v3 13/16] cryptodev: replace mbuf scatter gather flag
Akhil Goyal
akhil.goyal at nxp.com
Wed Jul 4 14:57:06 CEST 2018
Hi Pablo,
On 6/28/2018 6:23 AM, Pablo de Lara wrote:
> The current mbuf scatter gatter feature flag is
> too ambiguous, as it is not clear if input and/or output
> buffers can be scatter gather mbufs or not, plus
> if in-place and/or out-of-place is supported.
>
> Therefore, five new flags will replace this flag:
> - RTE_CRYPTODEV_FF_IN_PLACE_SGL
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT
It is better to have OOP instead of OUT_OF_PLACE and IP for INPLACE?
I guess RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT is supported in most
of the drivers which support OOP, I can see some of them are missing.
>
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
> ---
> doc/guides/rel_notes/deprecation.rst | 2 --
> doc/guides/rel_notes/release_18_08.rst | 8 +++++
> drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 2 +-
> drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 6 +++-
> drivers/crypto/dpaa_sec/dpaa_sec.c | 6 +++-
> drivers/crypto/null/null_crypto_pmd.c | 2 +-
> drivers/crypto/openssl/rte_openssl_pmd.c | 2 +-
> drivers/crypto/qat/qat_sym_pmd.c | 6 +++-
> lib/librte_cryptodev/rte_cryptodev.c | 12 ++++++--
> lib/librte_cryptodev/rte_cryptodev.h | 46 +++++++++++++++++++----------
> test/test/test_cryptodev.c | 31 +++++++++++++------
> test/test/test_cryptodev_blockcipher.c | 21 ++++++++++---
> 12 files changed, 106 insertions(+), 38 deletions(-)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 9a73b1d8e..62d635b74 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -105,5 +105,3 @@ Deprecation Notices
> ``rte_cryptodev_queue_pair_dettach_sym_session()`` will be deprecated from
> 18.05 and removed in 18.08, as there are no drivers doing anything useful
> with them.
> - - Some feature flags such as ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` are ambiguous,
> - so some will be replaced by more explicit flags.
> diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst
> index e482d3d5f..2a136d88c 100644
> --- a/doc/guides/rel_notes/release_18_08.rst
> +++ b/doc/guides/rel_notes/release_18_08.rst
> @@ -78,6 +78,14 @@ API Changes
> - ``rte_cryptodev_get_private_session_size`` is replaced with
> ``rte_cryptodev_sym_get_private_session_size``
>
> +* cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
> + replaced with the following more explicit flags:
> + - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT``
> +
>
> ABI Changes
> -----------
> diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
> index cd5b1952b..03917f220 100644
> --- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
> +++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
> @@ -492,7 +492,7 @@ aesni_gcm_create(const char *name,
> dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
> RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
> RTE_CRYPTODEV_FF_CPU_AESNI |
> - RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER;
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT;
RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT ??
>
> switch (vector_mode) {
> case RTE_AESNI_GCM_SSE:
> diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
> index 1b1c30d85..4daee5f59 100644
> --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
> +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
> @@ -2762,7 +2762,11 @@ dpaa2_sec_dev_init(struct rte_cryptodev *cryptodev)
> RTE_CRYPTODEV_FF_HW_ACCELERATED |
> RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
> RTE_CRYPTODEV_FF_SECURITY |
> - RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER;
> + RTE_CRYPTODEV_FF_IN_PLACE_SGL |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT;
>
> internals = cryptodev->data->dev_private;
>
> diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
> index b96552c57..8ad25f2be 100644
> --- a/drivers/crypto/dpaa_sec/dpaa_sec.c
> +++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
> @@ -2271,7 +2271,11 @@ dpaa_sec_dev_init(struct rte_cryptodev *cryptodev)
> RTE_CRYPTODEV_FF_HW_ACCELERATED |
> RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
> RTE_CRYPTODEV_FF_SECURITY |
> - RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER;
> + RTE_CRYPTODEV_FF_IN_PLACE_SGL |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT |
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT;
>
> internals = cryptodev->data->dev_private;
> internals->max_nb_queue_pairs = RTE_DPAA_MAX_NB_SEC_QPS;
> diff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c
> index 478ac0b62..224ba7233 100644
> --- a/drivers/crypto/null/null_crypto_pmd.c
> +++ b/drivers/crypto/null/null_crypto_pmd.c
> @@ -177,7 +177,7 @@ cryptodev_null_create(const char *name,
>
> dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
> RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
> - RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER;
> + RTE_CRYPTODEV_FF_IN_PLACE_SGL;
>
> internals = dev->data->dev_private;
>
> diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
> index 972e2adfe..94b6e2de9 100644
> --- a/drivers/crypto/openssl/rte_openssl_pmd.c
> +++ b/drivers/crypto/openssl/rte_openssl_pmd.c
> @@ -1660,7 +1660,7 @@ cryptodev_openssl_create(const char *name,
> dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
> RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
> RTE_CRYPTODEV_FF_CPU_AESNI |
> - RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER;
> + RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT;
RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_FB_OUT is supported here.
More information about the dev
mailing list