poll mode driver enqueues the crypto request to this accelerator and dequeues
the response once the operation is completed.
-Supported Algorithms
---------------------
+Supported Symmetric Crypto Algorithms
+-------------------------------------
Cipher Algorithms
~~~~~~~~~~~~~~~~~
* ``RTE_CRYPTO_AEAD_AES_GCM``
-Compilation
------------
+Supported Asymmetric Crypto Algorithms
+--------------------------------------
-The **OCTEON TX** :sup:`®` board must be running the linux kernel based on
-sdk-6.2.0 patch 3. In this, the OCTEON TX crypto PF driver is already built in.
+* ``RTE_CRYPTO_ASYM_XFORM_RSA``
+* ``RTE_CRYPTO_ASYM_XFORM_MODEX``
-For compiling the OCTEON TX crypto poll mode driver, please check if the
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO setting is set to `y` in
-config/common_base file.
-* ``CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO=y``
+Compilation
+-----------
-The following are the steps to compile the OCTEON TX crypto poll mode driver:
+The OCTEON TX crypto poll mode driver can be compiled either natively on
+**OCTEON TX** :sup:`®` board or cross-compiled on an x86 based platform.
-.. code-block:: console
+Refer :doc:`../platform/octeontx` for details about setting up the platform
+and building DPDK applications.
- cd <dpdk directory>
- make config T=arm64-thunderx-linuxapp-gcc
- make
+.. note::
-The example applications can be compiled using the following:
+ OCTEON TX crypto PF driver needs microcode to be available at `/lib/firmware/` directory.
+ Refer SDK documents for further information.
-.. code-block:: console
-
- cd <dpdk directory>
- export RTE_SDK=$PWD
- export RTE_TARGET=build
- cd examples/<application>
- make
+SDK and related information can be obtained from: `Cavium support site <https://support.cavium.com/>`_.
Execution
---------
.. code-block:: console
- echo 8 > /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages
- mkdir /mnt/huge
- mount -t hugetlbfs nodev /mnt/huge
+ dpdk-hugepages.py --setup 4G --pagesize 512M
Example applications can now be executed with crypto operations offloaded to
OCTEON TX crypto PMD.
./build/ipsec-secgw --log-level=8 -c 0xff -- -P -p 0x3 -u 0x2 --config
"(1,0,0),(0,0,0)" -f ep1.cfg
+
+Testing
+-------
+
+The symmetric crypto operations on OCTEON TX crypto PMD may be verified by running the test
+application:
+
+.. code-block:: console
+
+ ./dpdk-test
+ RTE>>cryptodev_octeontx_autotest
+
+The asymmetric crypto operations on OCTEON TX crypto PMD may be verified by running the test
+application:
+
+.. code-block:: console
+
+ ./dpdk-test
+ RTE>>cryptodev_octeontx_asym_autotest
+
+Limitations
+-----------
+
+Multiple lcores may not operate on the same crypto queue pair. The lcore that
+enqueues to a queue pair is the one that must dequeue from it.