doc: add initialization section for crypto vdevs
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 4 Apr 2016 13:14:37 +0000 (14:14 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 6 Apr 2016 17:02:01 +0000 (19:02 +0200)
Explain how to create/initialize virtual crypto PMDs,
through command line and within an application.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
doc/guides/cryptodevs/aesni_gcm.rst
doc/guides/cryptodevs/aesni_mb.rst
doc/guides/cryptodevs/null.rst
doc/guides/cryptodevs/snow3g.rst

index bbd22e2..7ff1c6b 100644 (file)
@@ -50,6 +50,39 @@ Authentication algorithms:
 
 * RTE_CRYPTO_AUTH_AES_GCM
 
 
 * 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
 -----------
 
 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.
 * 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.
index 0f4b920..9e04853 100644 (file)
@@ -79,7 +79,35 @@ the Makefile of the release package.
 
        make YASM=/usr/bin/yasm
 
 
        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"
index 6408391..b68d4cd 100644 (file)
@@ -70,3 +70,27 @@ Installation
 
 The Null Crypto PMD is enabled and built by default in both the Linux and
 FreeBSD builds.
 
 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"
index 7e38d20..c1098b1 100644 (file)
@@ -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);
 
 
    +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"