[dpdk-dev] [PATCH v7 00/13] Introducing NXP dpaa2_sec based cryptodev pmd

Akhil Goyal akhil.goyal at nxp.com
Mon Apr 10 14:36:42 CEST 2017


Hi All,

On 4/10/2017 6:00 PM, akhil.goyal at nxp.com wrote:
> From: Akhil Goyal <akhil.goyal at nxp.com>
>
> 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: Cryptodev PMD
>  0003     : MC dpseci object
>  0004     : Crytodev PMD basic ops
>  0005~0006: Run Time Assembler(RTA) common headers for CAAM hardware
>  0007~0009: Crytodev PMD ops
>  0010     : Documentation
>  0011     : MAINTAINERS
>  0012~0013: Performance and Functional tests
>
>  :: Future Work To Do ::
>
> - More functionality and algorithms are still work in progress
>         -- Hash followed by Cipher mode
>         -- session-less API
> 	-- Chained mbufs
>
> changes in v7:
> - Rebased over 17.02RC1 and latest DPAA2 PMD patches
> - Handled comments from Pablo and John
>

A typo here. I have rebased the patches over 17.05RC1 and latest DPAA2 
PMD patches

-Akhil

> changes in v6:
> - Rebased over latest DPAA2 PMD and over crypto-next
> - Handled comments from Pablo and John
> - split one patch for correcting check-git-log.sh
>
> changes in v5:
> - v4 discarded because of incorrect patchset
> 	
> changes in v4:
> - Moved patch for documentation in the end
> - Moved MC object DPSECI from base DPAA2 series to this patch set for
>   better understanding
> - updated documentation to remove confusion about external libs.
>
> changes in v3:
> - Added functional test cases
> - Incorporated comments from Pablo
>
> :: References ::
>
> [1] http://dpdk.org/ml/archives/dev/2017-April/063504.html
>
>
> Akhil Goyal (13):
>   cryptodev: add cryptodev type for dpaa2 sec
>   crypto/dpaa2_sec: add dpaa2 sec poll mode driver
>   crypto/dpaa2_sec: add mc dpseci object support
>   crypto/dpaa2_sec: add basic crypto operations
>   crypto/dpaa2_sec: add run time assembler for descriptor formation
>   crypto/dpaa2_sec: add sample descriptors for NXP dpaa2 sec ops
>   bus/fslmc: add packet frame list entry definitions
>   crypto/dpaa2_sec: add crypto operation support
>   crypto/dpaa2_sec: statistics support
>   doc: add NXP dpaa2 sec in cryptodev
>   maintainers: claim responsibility for dpaa2 sec pmd
>   test/test: add dpaa2 sec crypto performance test
>   test/test: add dpaa2 sec crypto functional test
>
>  MAINTAINERS                                        |    6 +
>  config/common_base                                 |    8 +
>  config/defconfig_arm64-dpaa2-linuxapp-gcc          |   12 +
>  doc/guides/cryptodevs/dpaa2_sec.rst                |  232 ++
>  doc/guides/cryptodevs/features/dpaa2_sec.ini       |   34 +
>  doc/guides/cryptodevs/index.rst                    |    1 +
>  doc/guides/nics/dpaa2.rst                          |    2 +
>  drivers/Makefile                                   |    1 +
>  drivers/bus/Makefile                               |    4 +
>  drivers/bus/fslmc/Makefile                         |    4 +
>  drivers/bus/fslmc/portal/dpaa2_hw_pvt.h            |   25 +
>  drivers/bus/fslmc/rte_bus_fslmc_version.map        |    1 +
>  drivers/crypto/Makefile                            |    2 +
>  drivers/crypto/dpaa2_sec/Makefile                  |   82 +
>  drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c        | 1662 +++++++++++++
>  drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h          |   70 +
>  drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h          |  368 +++
>  drivers/crypto/dpaa2_sec/hw/compat.h               |  123 +
>  drivers/crypto/dpaa2_sec/hw/desc.h                 | 2570 ++++++++++++++++++++
>  drivers/crypto/dpaa2_sec/hw/desc/algo.h            |  431 ++++
>  drivers/crypto/dpaa2_sec/hw/desc/common.h          |   97 +
>  drivers/crypto/dpaa2_sec/hw/desc/ipsec.h           | 1513 ++++++++++++
>  drivers/crypto/dpaa2_sec/hw/rta.h                  |  920 +++++++
>  .../crypto/dpaa2_sec/hw/rta/fifo_load_store_cmd.h  |  312 +++
>  drivers/crypto/dpaa2_sec/hw/rta/header_cmd.h       |  217 ++
>  drivers/crypto/dpaa2_sec/hw/rta/jump_cmd.h         |  173 ++
>  drivers/crypto/dpaa2_sec/hw/rta/key_cmd.h          |  188 ++
>  drivers/crypto/dpaa2_sec/hw/rta/load_cmd.h         |  301 +++
>  drivers/crypto/dpaa2_sec/hw/rta/math_cmd.h         |  368 +++
>  drivers/crypto/dpaa2_sec/hw/rta/move_cmd.h         |  411 ++++
>  drivers/crypto/dpaa2_sec/hw/rta/nfifo_cmd.h        |  162 ++
>  drivers/crypto/dpaa2_sec/hw/rta/operation_cmd.h    |  565 +++++
>  drivers/crypto/dpaa2_sec/hw/rta/protocol_cmd.h     |  698 ++++++
>  drivers/crypto/dpaa2_sec/hw/rta/sec_run_time_asm.h |  789 ++++++
>  .../crypto/dpaa2_sec/hw/rta/seq_in_out_ptr_cmd.h   |  174 ++
>  drivers/crypto/dpaa2_sec/hw/rta/signature_cmd.h    |   41 +
>  drivers/crypto/dpaa2_sec/hw/rta/store_cmd.h        |  151 ++
>  drivers/crypto/dpaa2_sec/mc/dpseci.c               |  551 +++++
>  drivers/crypto/dpaa2_sec/mc/fsl_dpseci.h           |  738 ++++++
>  drivers/crypto/dpaa2_sec/mc/fsl_dpseci_cmd.h       |  249 ++
>  .../crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map |    4 +
>  drivers/mempool/Makefile                           |    4 +
>  drivers/mempool/dpaa2/Makefile                     |    4 +
>  lib/librte_cryptodev/rte_cryptodev.h               |    3 +
>  mk/rte.app.mk                                      |    5 +
>  test/test/test_cryptodev.c                         |  106 +
>  test/test/test_cryptodev_blockcipher.c             |    3 +
>  test/test/test_cryptodev_blockcipher.h             |    1 +
>  test/test/test_cryptodev_perf.c                    |   23 +
>  49 files changed, 14409 insertions(+)
>  create mode 100644 doc/guides/cryptodevs/dpaa2_sec.rst
>  create mode 100644 doc/guides/cryptodevs/features/dpaa2_sec.ini
>  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/hw/compat.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/desc.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/algo.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/common.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/ipsec.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/fifo_load_store_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/header_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/jump_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/key_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/load_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/math_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/move_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/nfifo_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/operation_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/protocol_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/sec_run_time_asm.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/seq_in_out_ptr_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/signature_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/store_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/mc/dpseci.c
>  create mode 100644 drivers/crypto/dpaa2_sec/mc/fsl_dpseci.h
>  create mode 100644 drivers/crypto/dpaa2_sec/mc/fsl_dpseci_cmd.h
>  create mode 100644 drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map
>




More information about the dev mailing list