From b7d65109385931b5a7ddbe4454f35e0f941b371f Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Mon, 4 Apr 2016 14:14:37 +0100 Subject: [PATCH] doc: add initialization section for crypto vdevs Explain how to create/initialize virtual crypto PMDs, through command line and within an application. Signed-off-by: Pablo de Lara --- doc/guides/cryptodevs/aesni_gcm.rst | 38 +++++++++++++++++++++++++---- doc/guides/cryptodevs/aesni_mb.rst | 36 ++++++++++++++++++++++++--- doc/guides/cryptodevs/null.rst | 24 ++++++++++++++++++ doc/guides/cryptodevs/snow3g.rst | 35 +++++++++++++++++++++++--- 4 files changed, 121 insertions(+), 12 deletions(-) diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/aesni_gcm.rst index bbd22e2872..7ff1c6b312 100644 --- a/doc/guides/cryptodevs/aesni_gcm.rst +++ b/doc/guides/cryptodevs/aesni_gcm.rst @@ -50,6 +50,39 @@ Authentication algorithms: * RTE_CRYPTO_AUTH_AES_GCM +Initialization +-------------- + +In order to enable this virtual crypto PMD, user must: + +* Export the environmental variable AESNI_MULTI_BUFFER_LIB_PATH with the path where + the library was extracted. + +* Build the multi buffer library (go to Installation section in AES-NI MB PMD documentation). + +* Set CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=y in config/common_base. + +To use the PMD in an application, user must: + +* Call rte_eal_vdev_init("cryptodev_aesni_gcm_pmd") within the application. + +* Use --vdev="cryptodev_aesni_gcm_pmd" in the EAL options, which will call rte_eal_vdev_init() internally. + +The following parameters (all optional) can be provided in the previous two calls: + +* socket_id: Specify the socket where the memory for the device is going to be allocated + (by default, socket_id will be the socket where the core that is creating the PMD is running on). + +* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default). + +* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default). + +Example: + +.. code-block:: console + + ./l2fwd-crypto -c 40 -n 4 --vdev="cryptodev_aesni_gcm_pmd,socket_id=1,max_nb_sessions=128" + Limitations ----------- @@ -59,8 +92,3 @@ Limitations * Only in-place is currently supported (destination address is the same as source address). * Only supports session-oriented API implementation (session-less APIs are not supported). * Not performance tuned. - -The environmental variable -AESNI_MULTI_BUFFER_LIB_PATH must be exported with the path where you extracted -and built the multi buffer library and finally set -CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=y in config/common_base. diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aesni_mb.rst index 0f4b920620..9e04853a4c 100644 --- a/doc/guides/cryptodevs/aesni_mb.rst +++ b/doc/guides/cryptodevs/aesni_mb.rst @@ -79,7 +79,35 @@ the Makefile of the release package. make YASM=/usr/bin/yasm -The environmental variable -AESNI_MULTI_BUFFER_LIB_PATH must be exported with the path where you extracted -and built the multi buffer library and finally set -CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y in config/common_linuxapp. +Initialization +-------------- + +In order to enable this virtual crypto PMD, user must: + +* Export the environmental variable AESNI_MULTI_BUFFER_LIB_PATH with the path where + the library was extracted. + +* Build the multi buffer library (explained in Installation section). + +* Set CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y in config/common_base. + +To use the PMD in an application, user must: + +* Call rte_eal_vdev_init("cryptodev_aesni_mb_pmd") within the application. + +* Use --vdev="cryptodev_aesni_mb_pmd" in the EAL options, which will call rte_eal_vdev_init() internally. + +The following parameters (all optional) can be provided in the previous two calls: + +* socket_id: Specify the socket where the memory for the device is going to be allocated + (by default, socket_id will be the socket where the core that is creating the PMD is running on). + +* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default). + +* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default). + +Example: + +.. code-block:: console + + ./l2fwd-crypto -c 40 -n 4 --vdev="cryptodev_aesni_mb_pmd,socket_id=1,max_nb_sessions=128" diff --git a/doc/guides/cryptodevs/null.rst b/doc/guides/cryptodevs/null.rst index 6408391859..b68d4cd222 100644 --- a/doc/guides/cryptodevs/null.rst +++ b/doc/guides/cryptodevs/null.rst @@ -70,3 +70,27 @@ Installation The Null Crypto PMD is enabled and built by default in both the Linux and FreeBSD builds. + +Initialization +-------------- + +To use the PMD in an application, user must: + +* Call rte_eal_vdev_init("cryptodev_null_pmd") within the application. + +* Use --vdev="cryptodev_null_pmd" in the EAL options, which will call rte_eal_vdev_init() internally. + +The following parameters (all optional) can be provided in the previous two calls: + +* socket_id: Specify the socket where the memory for the device is going to be allocated + (by default, socket_id will be the socket where the core that is creating the PMD is running on). + +* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default). + +* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default). + +Example: + +.. code-block:: console + + ./l2fwd-crypto -c 40 -n 4 --vdev="cryptodev_null_pmd,socket_id=1,max_nb_sessions=128" diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst index 7e38d203bb..c1098b1a8e 100644 --- a/doc/guides/cryptodevs/snow3g.rst +++ b/doc/guides/cryptodevs/snow3g.rst @@ -91,6 +91,35 @@ and compiling it on their system before building DPDK:: +void sso_snow3gStateInitialize_1(sso_snow3gKeyState1_t * pCtx, sso_snow3g_key_schedule_t *pKeySched, uint8_t *pIV); -The environmental variable ``LIBSSO_PATH`` must be exported with the path -where you extracted and built the libsso library and finally set -``CONFIG_RTE_LIBRTE_PMD_SNOW3G=y`` in ``config/common_base``. +Initialization +-------------- + +In order to enable this virtual crypto PMD, user must: + +* Export the environmental variable LIBSSO_PATH with the path where + the library was extracted. + +* Build the LIBSSO library (explained in Installation section). + +* Set CONFIG_RTE_LIBRTE_PMD_SNOW3G=y in config/common_base. + +To use the PMD in an application, user must: + +* Call rte_eal_vdev_init("cryptodev_snow3g_pmd") within the application. + +* Use --vdev="cryptodev_snow3g_pmd" in the EAL options, which will call rte_eal_vdev_init() internally. + +The following parameters (all optional) can be provided in the previous two calls: + +* socket_id: Specify the socket where the memory for the device is going to be allocated + (by default, socket_id will be the socket where the core that is creating the PMD is running on). + +* max_nb_queue_pairs: Specify the maximum number of queue pairs in the device (8 by default). + +* max_nb_sessions: Specify the maximum number of sessions that can be created (2048 by default). + +Example: + +.. code-block:: console + + ./l2fwd-crypto -c 40 -n 4 --vdev="cryptodev_snow3g_pmd,socket_id=1,max_nb_sessions=128" -- 2.20.1