[dpdk-dev] [PATCH v3 0/6] Introduce CPU crypto mode

Marcin Smoczynski marcinx.smoczynski at intel.com
Wed Jan 15 19:28:26 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.

Marcin Smoczynski (6):
  cryptodev: introduce cpu crypto support API
  crypto/aesni_gcm: cpu crypto support
  security: add cpu crypto action type
  ipsec: introduce support for cpu crypto mode
  examples/ipsec-secgw: cpu crypto support
  examples/ipsec-secgw: cpu crypto testing

 drivers/crypto/aesni_gcm/aesni_gcm_ops.h      |   9 +
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c      | 149 ++++++++++++++++-
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c  |   3 +
 .../crypto/aesni_gcm/aesni_gcm_pmd_private.h  |  18 +-
 examples/ipsec-secgw/ipsec.c                  |  12 +-
 examples/ipsec-secgw/ipsec_process.c          | 134 +++++++++------
 examples/ipsec-secgw/sa.c                     |  33 +++-
 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         |  62 ++++++-
 lib/librte_cryptodev/rte_cryptodev.c          |  30 ++++
 lib/librte_cryptodev/rte_cryptodev.h          |  20 +++
 lib/librte_cryptodev/rte_cryptodev_pmd.h      |  19 +++
 .../rte_cryptodev_version.map                 |   1 +
 lib/librte_ipsec/esp_inb.c                    | 154 +++++++++++++++---
 lib/librte_ipsec/esp_outb.c                   | 134 +++++++++++++--
 lib/librte_ipsec/misc.h                       | 118 ++++++++++++++
 lib/librte_ipsec/rte_ipsec.h                  |  18 +-
 lib/librte_ipsec/sa.c                         | 126 +++++++++++---
 lib/librte_ipsec/sa.h                         |  17 ++
 lib/librte_ipsec/ses.c                        |   3 +-
 lib/librte_security/rte_security.h            |   6 +-
 29 files changed, 990 insertions(+), 167 deletions(-)

-- 
2.17.1



More information about the dev mailing list