[00/24] Fixes and improvements in crypto cnxk

Message ID 20231221123545.510-1-anoobj@marvell.com (mailing list archive)
Headers
Series Fixes and improvements in crypto cnxk |

Message

Anoob Joseph Dec. 21, 2023, 12:35 p.m. UTC
  Add following features
- TLS record processing offload (TLS 1.2-1.3, DTLS 1.2)
- Rx inject to allow lookaside packets to be injected to ethdev Rx
- Use PDCP_CHAIN opcode instead of PDCP opcode for cipher-only and auth
  only cases

Aakash Sasidharan (1):
  crypto/cnxk: enable digest gen for zero len input

Akhil Goyal (1):
  common/cnxk: fix memory leak

Anoob Joseph (6):
  crypto/cnxk: use common macro
  crypto/cnxk: return microcode completion code
  common/cnxk: update opad-ipad gen to handle TLS
  common/cnxk: add TLS record contexts
  crypto/cnxk: separate IPsec from security common code
  crypto/cnxk: add PMD APIs for raw submission to CPT

Gowrishankar Muthukrishnan (1):
  crypto/cnxk: fix ECDH pubkey verify in cn9k

Rahul Bhansali (2):
  common/cnxk: add Rx inject configs
  crypto/cnxk: Rx inject config update

Tejasree Kondoj (3):
  crypto/cnxk: fallback to SG if headroom is not available
  crypto/cnxk: replace PDCP with PDCP chain opcode
  crypto/cnxk: add CPT SG mode debug

Vidya Sagar Velumuri (10):
  crypto/cnxk: enable Rx inject in security lookaside
  crypto/cnxk: enable Rx inject for 103
  crypto/cnxk: rename security caps as IPsec security caps
  crypto/cnxk: add TLS record session ops
  crypto/cnxk: add TLS record datapath handling
  crypto/cnxk: add TLS capability
  crypto/cnxk: validate the combinations supported in TLS
  crypto/cnxk: use a single function for opad ipad
  crypto/cnxk: add support for TLS 1.3
  crypto/cnxk: add TLS 1.3 capability

 doc/api/doxy-api-index.md                     |   1 +
 doc/api/doxy-api.conf.in                      |   1 +
 doc/guides/cryptodevs/cnxk.rst                |  12 +
 doc/guides/rel_notes/release_24_03.rst        |   6 +
 drivers/common/cnxk/cnxk_security.c           |  65 +-
 drivers/common/cnxk/cnxk_security.h           |  15 +-
 drivers/common/cnxk/hw/cpt.h                  |  12 +-
 drivers/common/cnxk/roc_cpt.c                 |  14 +-
 drivers/common/cnxk/roc_cpt.h                 |   7 +-
 drivers/common/cnxk/roc_cpt_priv.h            |   2 +-
 drivers/common/cnxk/roc_idev.c                |  44 +
 drivers/common/cnxk/roc_idev.h                |   5 +
 drivers/common/cnxk/roc_idev_priv.h           |   6 +
 drivers/common/cnxk/roc_ie_ot.c               |  14 +-
 drivers/common/cnxk/roc_ie_ot_tls.h           | 225 +++++
 drivers/common/cnxk/roc_mbox.h                |   2 +
 drivers/common/cnxk/roc_nix.c                 |   2 +
 drivers/common/cnxk/roc_nix_inl.c             |   2 +-
 drivers/common/cnxk/roc_nix_inl_dev.c         |   2 +-
 drivers/common/cnxk/roc_se.c                  | 379 +++-----
 drivers/common/cnxk/roc_se.h                  |  38 +-
 drivers/common/cnxk/version.map               |   5 +
 drivers/crypto/cnxk/cn10k_cryptodev.c         |   2 +-
 drivers/crypto/cnxk/cn10k_cryptodev_ops.c     | 400 ++++++++-
 drivers/crypto/cnxk/cn10k_cryptodev_ops.h     |  11 +
 drivers/crypto/cnxk/cn10k_cryptodev_sec.c     | 134 +++
 drivers/crypto/cnxk/cn10k_cryptodev_sec.h     |  68 ++
 drivers/crypto/cnxk/cn10k_ipsec.c             | 134 +--
 drivers/crypto/cnxk/cn10k_ipsec.h             |  38 +-
 drivers/crypto/cnxk/cn10k_ipsec_la_ops.h      |  19 +-
 drivers/crypto/cnxk/cn10k_tls.c               | 830 ++++++++++++++++++
 drivers/crypto/cnxk/cn10k_tls.h               |  35 +
 drivers/crypto/cnxk/cn10k_tls_ops.h           | 322 +++++++
 drivers/crypto/cnxk/cn9k_cryptodev_ops.c      |  68 +-
 drivers/crypto/cnxk/cn9k_cryptodev_ops.h      |  62 ++
 drivers/crypto/cnxk/cn9k_ipsec_la_ops.h       |  16 +-
 drivers/crypto/cnxk/cnxk_cryptodev.c          |   3 +
 drivers/crypto/cnxk/cnxk_cryptodev.h          |  24 +-
 .../crypto/cnxk/cnxk_cryptodev_capabilities.c | 375 +++++++-
 drivers/crypto/cnxk/cnxk_cryptodev_devargs.c  |  31 +
 drivers/crypto/cnxk/cnxk_cryptodev_ops.c      | 128 ++-
 drivers/crypto/cnxk/cnxk_cryptodev_ops.h      |   7 +
 drivers/crypto/cnxk/cnxk_se.h                 |  98 +--
 drivers/crypto/cnxk/cnxk_sg.h                 |   4 +-
 drivers/crypto/cnxk/meson.build               |   4 +-
 drivers/crypto/cnxk/rte_pmd_cnxk_crypto.h     |  46 +
 drivers/crypto/cnxk/version.map               |   3 +
 47 files changed, 3015 insertions(+), 706 deletions(-)
 create mode 100644 drivers/common/cnxk/roc_ie_ot_tls.h
 create mode 100644 drivers/crypto/cnxk/cn10k_cryptodev_sec.c
 create mode 100644 drivers/crypto/cnxk/cn10k_cryptodev_sec.h
 create mode 100644 drivers/crypto/cnxk/cn10k_tls.c
 create mode 100644 drivers/crypto/cnxk/cn10k_tls.h
 create mode 100644 drivers/crypto/cnxk/cn10k_tls_ops.h
 create mode 100644 drivers/crypto/cnxk/rte_pmd_cnxk_crypto.h