[dpdk-dev] [PATCH 0/8] Introducing NXP DPAA2 SEC based cryptodev PMD

Akhil Goyal akhil.goyal at nxp.com
Mon Dec 5 11:50:53 CET 2016


-----Original Message-----
From: Akhil Goyal [mailto:akhil.goyal at nxp.com] 
Sent: Monday, December 05, 2016 6:26 PM
To: dev at dpdk.org
Cc: thomas.monjalon at 6wind.com; eclan.doherty at intel.com; pablo.de.lara.guarch at intel.com; Hemant Agrawal <hemant.agrawal at nxp.com>; Akhil Goyal <akhil.goyal at nxp.com>
Subject: [PATCH 0/8] Introducing NXP DPAA2 SEC based cryptodev PMD

Based over the DPAA2 PMD driver [1], this series of patches introduces the DPAA2_SEC PMD which provides DPDK crypto driver for NXP's DPAA2 CAAM Hardware accelerator.

SEC is NXP DPAA2 SoC's security engine for cryptographic acceleration and offloading. It implements block encryption, stream cipher, hashing and public key algorithms. It also supports run-time integrity checking, and a hardware random number generator.

Besides the objects exposed in [1], another key object has been added through this patch:

 - DPSECI, refers to SEC block interface

:: Patch Layout ::

0001~0002: Run Time Assembler(RTA) common library for CAAM hardware
0003     : Documentation
0004~0007: Crytodev PMD
0008     : Performance Test

:: Pending/ToDo ::

- More functionality and algorithms are still work in progress
     -- Hash followed by Cipher mode
     -- session-less API
     -- Chained mbufs

- Functional tests would be enhanced in v2

:: References ::

[1] http://dpdk.org/ml/archives/dev/2016-December/051364.html

Akhil Goyal (8):
  drivers/common/dpaa2: Run time assembler for Descriptor formation
  drivers/common/dpaa2: Sample descriptors for NXP DPAA2 SEC operations.
  doc: Adding NXP DPAA2_SEC in cryptodev
  crypto/dpaa2_sec: Introducing dpaa2_sec based on NXP SEC HW
  crypto/dpaa2_sec: debug and log support
  crypto/dpaa2_sec: add sec procssing functionality
  crypto/dpaa2_sec: statistics support
  app/test: add dpaa2_sec crypto test

 app/test/test_cryptodev_perf.c                     |   11 +
 config/defconfig_arm64-dpaa2-linuxapp-gcc          |   12 +
 doc/guides/cryptodevs/dpaa2_sec.rst                |   96 +
 doc/guides/cryptodevs/index.rst                    |    1 +
 drivers/common/dpaa2/flib/README                   |   43 +
 drivers/common/dpaa2/flib/compat.h                 |  186 ++
 drivers/common/dpaa2/flib/desc.h                   | 2570 ++++++++++++++++++++
 drivers/common/dpaa2/flib/desc/algo.h              |  424 ++++
 drivers/common/dpaa2/flib/desc/common.h            |   94 +
 drivers/common/dpaa2/flib/desc/ipsec.h             | 1498 ++++++++++++
 drivers/common/dpaa2/flib/rta.h                    |  918 +++++++
 .../common/dpaa2/flib/rta/fifo_load_store_cmd.h    |  308 +++
 drivers/common/dpaa2/flib/rta/header_cmd.h         |  213 ++
 drivers/common/dpaa2/flib/rta/jump_cmd.h           |  172 ++
 drivers/common/dpaa2/flib/rta/key_cmd.h            |  187 ++
 drivers/common/dpaa2/flib/rta/load_cmd.h           |  301 +++
 drivers/common/dpaa2/flib/rta/math_cmd.h           |  366 +++
 drivers/common/dpaa2/flib/rta/move_cmd.h           |  405 +++
 drivers/common/dpaa2/flib/rta/nfifo_cmd.h          |  161 ++
 drivers/common/dpaa2/flib/rta/operation_cmd.h      |  549 +++++
 drivers/common/dpaa2/flib/rta/protocol_cmd.h       |  680 ++++++
 drivers/common/dpaa2/flib/rta/sec_run_time_asm.h   |  767 ++++++
 drivers/common/dpaa2/flib/rta/seq_in_out_ptr_cmd.h |  172 ++
 drivers/common/dpaa2/flib/rta/signature_cmd.h      |   40 +
 drivers/common/dpaa2/flib/rta/store_cmd.h          |  149 ++
 drivers/crypto/Makefile                            |    1 +
 drivers/crypto/dpaa2_sec/Makefile                  |   77 +
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c        | 1550 ++++++++++++
 drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h          |   70 +
 drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h          |  516 ++++
 .../crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map |    4 +
 drivers/net/dpaa2/Makefile                         |    3 +-
 drivers/net/dpaa2/base/dpaa2_hw_pvt.h              |   25 +
 lib/librte_cryptodev/rte_cryptodev.h               |    3 +
 mk/rte.app.mk                                      |    1 +
 35 files changed, 12572 insertions(+), 1 deletion(-)  create mode 100644 doc/guides/cryptodevs/dpaa2_sec.rst
 create mode 100644 drivers/common/dpaa2/flib/README  create mode 100644 drivers/common/dpaa2/flib/compat.h
 create mode 100644 drivers/common/dpaa2/flib/desc.h  create mode 100644 drivers/common/dpaa2/flib/desc/algo.h
 create mode 100644 drivers/common/dpaa2/flib/desc/common.h
 create mode 100644 drivers/common/dpaa2/flib/desc/ipsec.h
 create mode 100644 drivers/common/dpaa2/flib/rta.h  create mode 100644 drivers/common/dpaa2/flib/rta/fifo_load_store_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/header_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/jump_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/key_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/load_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/math_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/move_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/nfifo_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/operation_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/protocol_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/sec_run_time_asm.h
 create mode 100644 drivers/common/dpaa2/flib/rta/seq_in_out_ptr_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/signature_cmd.h
 create mode 100644 drivers/common/dpaa2/flib/rta/store_cmd.h
 create mode 100644 drivers/crypto/dpaa2_sec/Makefile  create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
 create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h
 create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
 create mode 100644 drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map

--
2.9.3

++ Declan,

Sorry I copied the wrong email ID previously.

Regards,
Akhil


More information about the dev mailing list