Added new SW PMD which makes use of the libsso SW library,
which provides wireless algorithms KASUMI F8 and F9
in software.

This PMD supports cipher-only, hash-only and chained operations
("cipher then hash" and "hash then cipher") of the following
algorithms:
- RTE_CRYPTO_SYM_CIPHER_KASUMI_F8
- RTE_CRYPTO_SYM_AUTH_KASUMI_F9

The patchset also adds new macros to compare buffers at bit-level,
since the PMD supports bit-level hash/cipher operations,
and unit tests.

The patchset should be merged after the following patches/patchsets,
as they are making changes in some of the files of this patchset:
- rework crypto AES unit test
  ("http://dpdk.org/ml/archives/dev/2016-June/041572.html";)
- Refactor of debug information on cryptodev tests
  ("http://dpdk.org/ml/archives/dev/2016-June/041623.html";)
- doc: fix wrong supported feature table
  ("http://dpdk.org/dev/patchwork/patch/13413/";)

Changes in v2:
- Fixed key length
- Refactored enqueue burst function to avoid duplication
- Added CPU flags in crypto feature flags
- Added extra unit tets
- Added documentation
- Merged last patch in v1 into the first patch
- Added new driver in MAINTAINERS

Changes in v3:
- Updated documentation, as the library has been released,
  with detailed instructions on how to get the libsso_kasumi library.

Pablo de Lara (3):
  kasumi: add new KASUMI PMD
  test: add new buffer comparison macros
  test: add unit tests for KASUMI PMD

 MAINTAINERS                                        |   5 +
 app/test/test.h                                    |  57 +-
 app/test/test_cryptodev.c                          | 995 +++++++++++++++++++--
 app/test/test_cryptodev.h                          |   1 +
 app/test/test_cryptodev_kasumi_hash_test_vectors.h | 260 ++++++
 app/test/test_cryptodev_kasumi_test_vectors.h      | 308 +++++++
 config/common_base                                 |   6 +
 config/defconfig_i686-native-linuxapp-gcc          |   5 +
 config/defconfig_i686-native-linuxapp-icc          |   5 +
 doc/guides/cryptodevs/index.rst                    |   3 +-
 doc/guides/cryptodevs/kasumi.rst                   | 101 +++
 doc/guides/cryptodevs/overview.rst                 |  79 +-
 doc/guides/rel_notes/release_16_07.rst             |   5 +
 drivers/crypto/Makefile                            |   1 +
 drivers/crypto/kasumi/Makefile                     |  64 ++
 drivers/crypto/kasumi/rte_kasumi_pmd.c             | 658 ++++++++++++++
 drivers/crypto/kasumi/rte_kasumi_pmd_ops.c         | 344 +++++++
 drivers/crypto/kasumi/rte_kasumi_pmd_private.h     | 106 +++
 drivers/crypto/kasumi/rte_pmd_kasumi_version.map   |   3 +
 examples/l2fwd-crypto/main.c                       |  10 +-
 lib/librte_cryptodev/rte_crypto_sym.h              |   6 +-
 lib/librte_cryptodev/rte_cryptodev.h               |   3 +
 mk/rte.app.mk                                      |   2 +
 scripts/test-build.sh                              |   4 +
 24 files changed, 2897 insertions(+), 134 deletions(-)
 create mode 100644 app/test/test_cryptodev_kasumi_hash_test_vectors.h
 create mode 100644 app/test/test_cryptodev_kasumi_test_vectors.h
 create mode 100644 doc/guides/cryptodevs/kasumi.rst
 create mode 100644 drivers/crypto/kasumi/Makefile
 create mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd.c
 create mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd_ops.c
 create mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd_private.h
 create mode 100644 drivers/crypto/kasumi/rte_pmd_kasumi_version.map

-- 
2.5.0

Reply via email to