Rather than using linuxapp and bsdapp everywhere, we can change things to use the, more readable, terms "linux" and "freebsd" in our build configs. Rather than renaming the configs we can just duplicate the existing ones with the new names using symlinks, and use the new names exclusively internally. ["make showconfigs" also only shows the new names to keep the list short] The result is that backward compatibility is kept fully but any new builds or development can be done using the newer names, i.e. both "make config T=x86_64-native-linuxapp-gcc" and "T=x86_64-native-linux-gcc" work. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
72 lines
1.8 KiB
ReStructuredText
72 lines
1.8 KiB
ReStructuredText
.. SPDX-License-Identifier: BSD-3-Clause
|
|
Copyright(c) 2017 Cavium, Inc
|
|
|
|
ARMv8 Crypto Poll Mode Driver
|
|
=============================
|
|
|
|
This code provides the initial implementation of the ARMv8 crypto PMD.
|
|
The driver uses ARMv8 cryptographic extensions to process chained crypto
|
|
operations in an optimized way. The core functionality is provided by
|
|
a low-level library, written in the assembly code.
|
|
|
|
Features
|
|
--------
|
|
|
|
ARMv8 Crypto PMD has support for the following algorithm pairs:
|
|
|
|
Supported cipher algorithms:
|
|
|
|
* ``RTE_CRYPTO_CIPHER_AES_CBC``
|
|
|
|
Supported authentication algorithms:
|
|
|
|
* ``RTE_CRYPTO_AUTH_SHA1_HMAC``
|
|
* ``RTE_CRYPTO_AUTH_SHA256_HMAC``
|
|
|
|
Installation
|
|
------------
|
|
|
|
In order to enable this virtual crypto PMD, user must:
|
|
|
|
* Download ARMv8 crypto library source code from
|
|
`here <https://github.com/caviumnetworks/armv8_crypto>`_
|
|
|
|
* Export the environmental variable ARMV8_CRYPTO_LIB_PATH with
|
|
the path where the ``armv8_crypto`` library was downloaded
|
|
or cloned.
|
|
|
|
* Build the library by invoking:
|
|
|
|
.. code-block:: console
|
|
|
|
make -C $ARMV8_CRYPTO_LIB_PATH/
|
|
|
|
* Set CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=y in
|
|
config/defconfig_arm64-armv8a-linux-gcc
|
|
|
|
The corresponding device can be created only if the following features
|
|
are supported by the CPU:
|
|
|
|
* ``RTE_CPUFLAG_AES``
|
|
* ``RTE_CPUFLAG_SHA1``
|
|
* ``RTE_CPUFLAG_SHA2``
|
|
* ``RTE_CPUFLAG_NEON``
|
|
|
|
Initialization
|
|
--------------
|
|
|
|
User can use app/test application to check how to use this PMD and to verify
|
|
crypto processing.
|
|
|
|
Test name is cryptodev_sw_armv8_autotest.
|
|
For performance test cryptodev_sw_armv8_perftest can be used.
|
|
|
|
Limitations
|
|
-----------
|
|
|
|
* Maximum number of sessions is 2048.
|
|
* Only chained operations are supported.
|
|
* AES-128-CBC is the only supported cipher variant.
|
|
* Cipher input data has to be a multiple of 16 bytes.
|
|
* Digest input data has to be a multiple of 8 bytes.
|