mbox series

[v3,00/15] add OCTEON TX2 inline IPsec support

Message ID 1580465035-30455-1-git-send-email-anoobj@marvell.com (mailing list archive)
Headers show
Series add OCTEON TX2 inline IPsec support | expand

Message

Anoob Joseph Jan. 31, 2020, 10:03 a.m. UTC
This series adds inline IPsec support in OCTEON TX2 PMD.

In the inbound path, rte_flow framework need to be used to configure
the NPC block, which does the h/w lookup. The packets would get
processed by the crypto block and would submit to the scheduling block,
SSO. So inline IPsec mode can be enabled only when traffic is received
via event device using Rx adapter.

In the outbound path, the core would submit to the crypto block and the
crypto block would submit the packet for Tx internally.

v3:
* Moved ethdev security ops to net/octeontx2
* Segregated all security related code in common to
  common/octeontx2/otx2_sec* files
* Segregated all security related control code in net to
  net/octeontx2/otx2_ethdev_sec* files
* Claimed maintainership for all files added above
* Added support for AES-CBC

v2:
* Minimized additions to common/octeontx2
* Updated release notes
* Renamed otx2_is_ethdev to otx2_ethdev_is_sec_capable

Ankur Dwivedi (3):
  net/octeontx2: add eth security capabilities
  net/octeontx2: add datapath ops in eth security ctx
  net/octeontx2: add inline Tx path changes

Anoob Joseph (4):
  common/octeontx2: add CPT LF mbox for inline inbound
  net/octeontx2: create eth security ctx
  crypto/octeontx2: enable CPT to share QP with ethdev
  net/octeontx2: add eth security session operations

Archana Muniganti (3):
  net/octeontx2: add lookup mem changes to hold sa indices
  drivers/octeontx2: add sec in Rx fastpath framework
  drivers/octeontx2: add sec in Tx fastpath framework

Tejasree Kondoj (3):
  crypto/octeontx2: configure for inline IPsec
  net/octeontx2: add security in eth dev configure
  net/octeontx2: add inline ipsec Rx path changes

Vamsi Attunuru (2):
  common/octeontx2: add routine to check if sec capable otx2
  net/octeontx2: sync inline tag type

 MAINTAINERS                                        |   6 +
 doc/guides/nics/octeontx2.rst                      |  20 +
 doc/guides/rel_notes/release_20_02.rst             |   9 +
 drivers/common/octeontx2/Makefile                  |   1 +
 drivers/common/octeontx2/meson.build               |   1 +
 drivers/common/octeontx2/otx2_common.h             |   4 +
 drivers/common/octeontx2/otx2_mbox.h               |   7 +
 drivers/common/octeontx2/otx2_sec_idev.c           | 183 +++++
 drivers/common/octeontx2/otx2_sec_idev.h           |  37 +
 .../octeontx2/rte_common_octeontx2_version.map     |   6 +
 drivers/crypto/octeontx2/Makefile                  |   6 +-
 drivers/crypto/octeontx2/meson.build               |   4 +
 .../crypto/octeontx2/otx2_cryptodev_hw_access.h    |  22 +-
 drivers/crypto/octeontx2/otx2_cryptodev_mbox.c     |  54 ++
 drivers/crypto/octeontx2/otx2_cryptodev_mbox.h     |   7 +
 drivers/crypto/octeontx2/otx2_cryptodev_ops.c      |  56 ++
 drivers/crypto/octeontx2/otx2_cryptodev_qp.h       |  35 +
 drivers/crypto/octeontx2/otx2_ipsec_fp.h           | 350 +++++++++
 drivers/event/octeontx2/Makefile                   |   1 +
 drivers/event/octeontx2/meson.build                |   5 +-
 drivers/event/octeontx2/otx2_evdev.c               | 170 +++--
 drivers/event/octeontx2/otx2_evdev.h               |   4 +-
 drivers/event/octeontx2/otx2_worker.c              |   6 +-
 drivers/event/octeontx2/otx2_worker.h              |   6 +
 drivers/event/octeontx2/otx2_worker_dual.c         |   6 +-
 drivers/net/octeontx2/Makefile                     |   4 +
 drivers/net/octeontx2/meson.build                  |   7 +-
 drivers/net/octeontx2/otx2_ethdev.c                |  38 +-
 drivers/net/octeontx2/otx2_ethdev.h                |   2 +
 drivers/net/octeontx2/otx2_ethdev_devargs.c        |  19 +
 drivers/net/octeontx2/otx2_ethdev_sec.c            | 844 +++++++++++++++++++++
 drivers/net/octeontx2/otx2_ethdev_sec.h            | 139 ++++
 drivers/net/octeontx2/otx2_ethdev_sec_tx.h         | 181 +++++
 drivers/net/octeontx2/otx2_flow.c                  |  26 +
 drivers/net/octeontx2/otx2_lookup.c                |  11 +-
 drivers/net/octeontx2/otx2_rx.c                    |  27 +-
 drivers/net/octeontx2/otx2_rx.h                    | 377 ++++++---
 drivers/net/octeontx2/otx2_tx.c                    |  29 +-
 drivers/net/octeontx2/otx2_tx.h                    | 271 +++++--
 39 files changed, 2698 insertions(+), 283 deletions(-)
 create mode 100644 drivers/common/octeontx2/otx2_sec_idev.c
 create mode 100644 drivers/common/octeontx2/otx2_sec_idev.h
 create mode 100644 drivers/crypto/octeontx2/otx2_cryptodev_qp.h
 create mode 100644 drivers/crypto/octeontx2/otx2_ipsec_fp.h
 create mode 100644 drivers/net/octeontx2/otx2_ethdev_sec.c
 create mode 100644 drivers/net/octeontx2/otx2_ethdev_sec.h
 create mode 100644 drivers/net/octeontx2/otx2_ethdev_sec_tx.h