[dpdk-dev] [PATCH v6 0/8] Introduce CPU crypto mode

Akhil Goyal akhil.goyal at nxp.com
Wed Feb 5 16:03:02 CET 2020



> Originally both SW and HW crypto PMDs use rte_crypot_op based API to
> process the crypto workload asynchronously. This way provides uniformity
> to both PMD types, but also introduce unnecessary performance penalty to
> SW PMDs that have to "simulate" HW async behavior (crypto-ops
> enqueue/dequeue, HW addresses computations, storing/dereferencing user
> provided data (mbuf) for each crypto-op, etc).
> 
> The aim is to introduce a new optional API for SW crypto-devices
> to perform crypto processing in a synchronous manner.
> 
> v3 to v4 changes:
>  - add feature discovery in the ipsec example application when
>    using cpu-crypto
>  - add gmac in aesni-gcm
>  - add tests for aesni-gcm/cpu crypto mode
>  - add documentation: pg and rel notes
>  - remove xform flags as no longer needed
>  - add some extra API comments
>  - remove compilation error from v3
> 
> v4 to v5 changes:
>  - fixed build error for arm64 (missing header include)
>  - update licensing information
> 
> v5 to v6 changes:
>  - unit tests integrated in the current test application for cryptodev
>  - iova fix
>  - moved mbuf to sgl helper function to crypo sym header
> 
> Marcin Smoczynski (8):
>   cryptodev: introduce cpu crypto support API
>   crypto/aesni_gcm: cpu crypto support
>   security: add cpu crypto action type
>   test/crypto: add cpu crypto mode to tests
>   ipsec: introduce support for cpu crypto mode
>   examples/ipsec-secgw: cpu crypto support
>   examples/ipsec-secgw: cpu crypto testing
>   doc: add release notes for cpu crypto

Series applied to dpdk-next-crypto

Last patch is split and merged in relevant patches

Following patch is dropped while merging due to merge conflict.
Please send it again, we will merge in RC3
"test/crypto: add cpu crypto mode to tests"


> 
>  app/test/test_cryptodev.c                     | 161 ++++++++++++-
>  doc/guides/cryptodevs/aesni_gcm.rst           |   7 +-
>  doc/guides/cryptodevs/features/aesni_gcm.ini  |   1 +
>  doc/guides/cryptodevs/features/default.ini    |   1 +
>  doc/guides/prog_guide/cryptodev_lib.rst       |  33 ++-
>  doc/guides/prog_guide/ipsec_lib.rst           |  10 +-
>  doc/guides/prog_guide/rte_security.rst        |  15 +-
>  doc/guides/rel_notes/release_20_02.rst        |   7 +
>  drivers/crypto/aesni_gcm/aesni_gcm_ops.h      |  11 +-
>  drivers/crypto/aesni_gcm/aesni_gcm_pmd.c      | 222 +++++++++++++++++-
>  drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c  |   4 +-
>  .../crypto/aesni_gcm/aesni_gcm_pmd_private.h  |  13 +-
>  examples/ipsec-secgw/ipsec.c                  |  25 +-
>  examples/ipsec-secgw/ipsec_process.c          | 136 +++++++----
>  examples/ipsec-secgw/sa.c                     |  30 ++-
>  examples/ipsec-secgw/test/common_defs.sh      |  21 ++
>  examples/ipsec-secgw/test/linux_test4.sh      |  11 +-
>  examples/ipsec-secgw/test/linux_test6.sh      |  11 +-
>  .../test/trs_3descbc_sha1_common_defs.sh      |   8 +-
>  .../test/trs_aescbc_sha1_common_defs.sh       |   8 +-
>  .../test/trs_aesctr_sha1_common_defs.sh       |   8 +-
>  .../test/tun_3descbc_sha1_common_defs.sh      |   8 +-
>  .../test/tun_aescbc_sha1_common_defs.sh       |   8 +-
>  .../test/tun_aesctr_sha1_common_defs.sh       |   8 +-
>  lib/librte_cryptodev/rte_crypto_sym.h         | 128 +++++++++-
>  lib/librte_cryptodev/rte_cryptodev.c          |  35 ++-
>  lib/librte_cryptodev/rte_cryptodev.h          |  22 +-
>  lib/librte_cryptodev/rte_cryptodev_pmd.h      |  21 +-
>  .../rte_cryptodev_version.map                 |   1 +
>  lib/librte_ipsec/esp_inb.c                    | 156 ++++++++++--
>  lib/librte_ipsec/esp_outb.c                   | 136 ++++++++++-
>  lib/librte_ipsec/misc.h                       |  73 +++++-
>  lib/librte_ipsec/rte_ipsec.h                  |  20 +-
>  lib/librte_ipsec/sa.c                         | 114 +++++++--
>  lib/librte_ipsec/sa.h                         |  19 +-
>  lib/librte_ipsec/ses.c                        |   5 +-
>  lib/librte_security/rte_security.h            |   8 +-
>  37 files changed, 1311 insertions(+), 194 deletions(-)
> 
> --
> 2.17.1



More information about the dev mailing list