DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09
@ 2018-09-04 13:59 Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Tomasz Duszynski

This patch series aligns MVSAM PMD with MUSDK 18.09.

Dmitri Epshtein (2):
  doc: update mvsam documentation
  crypto/mvsam: get number of CIOs dynamically

Tomasz Duszynski (1):
  crypto/mvsam: update features list

 doc/guides/cryptodevs/features/mvsam.ini |  12 +++
 doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
 drivers/crypto/mvsam/rte_mrvl_pmd.c      |   6 +-
 3 files changed, 63 insertions(+), 102 deletions(-)

--
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 1/3] doc: update mvsam documentation
  2018-09-04 13:59 [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Dmitri Epshtein, Tomasz Duszynski

From: Dmitri Epshtein <dima@marvell.com>

Update mvsam documentation.

Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
---
 doc/guides/cryptodevs/features/mvsam.ini |  10 +++
 doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
 2 files changed, 57 insertions(+), 100 deletions(-)

diff --git a/doc/guides/cryptodevs/features/mvsam.ini b/doc/guides/cryptodevs/features/mvsam.ini
index b7c105a..dd17a4c 100644
--- a/doc/guides/cryptodevs/features/mvsam.ini
+++ b/doc/guides/cryptodevs/features/mvsam.ini
@@ -5,17 +5,22 @@
 [Features]
 Symmetric crypto       = Y
 Sym operation chaining = Y
+HW Accelerated         = Y
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
 ;
 [Cipher]
+NULL           = Y
 AES CBC (128)  = Y
 AES CBC (192)  = Y
 AES CBC (256)  = Y
 AES CTR (128)  = Y
 AES CTR (192)  = Y
 AES CTR (256)  = Y
+AES ECB (128)  = Y
+AES ECB (192)  = Y
+AES ECB (256)  = Y
 3DES CBC       = Y
 3DES CTR       = Y
 
@@ -23,10 +28,13 @@ AES CTR (256)  = Y
 ; Supported authentication algorithms of a default crypto driver.
 ;
 [Auth]
+NULL         = Y
 MD5          = Y
 MD5 HMAC     = Y
 SHA1         = Y
 SHA1 HMAC    = Y
+SHA224       = Y
+SHA224 HMAC  = Y
 SHA256       = Y
 SHA256 HMAC  = Y
 SHA384       = Y
@@ -40,3 +48,5 @@ AES GMAC     = Y
 ;
 [AEAD]
 AES GCM (128) = Y
+AES GCM (192) = Y
+AES GCM (256) = Y
diff --git a/doc/guides/cryptodevs/mvsam.rst b/doc/guides/cryptodevs/mvsam.rst
index fd418c2..7acae19 100644
--- a/doc/guides/cryptodevs/mvsam.rst
+++ b/doc/guides/cryptodevs/mvsam.rst
@@ -37,32 +37,50 @@ support by utilizing MUSDK library, which provides cryptographic operations
 acceleration by using Security Acceleration Engine (EIP197) directly from
 user-space with minimum overhead and high performance.
 
+Detailed information about SoCs that use MVSAM crypto driver can be obtained here:
+
+* https://www.marvell.com/embedded-processors/armada-70xx/
+* https://www.marvell.com/embedded-processors/armada-80xx/
+* https://www.marvell.com/embedded-processors/armada-3700/
+
+
 Features
 --------
 
 MVSAM CRYPTO PMD has support for:
 
-* Symmetric crypto
-* Sym operation chaining
-* AES CBC (128)
-* AES CBC (192)
-* AES CBC (256)
-* AES CTR (128)
-* AES CTR (192)
-* AES CTR (256)
-* 3DES CBC
-* 3DES CTR
-* MD5
-* MD5 HMAC
-* SHA1
-* SHA1 HMAC
-* SHA256
-* SHA256 HMAC
-* SHA384
-* SHA384 HMAC
-* SHA512
-* SHA512 HMAC
-* AES GCM (128)
+Cipher algorithms:
+
+* ``RTE_CRYPTO_CIPHER_NULL``
+* ``RTE_CRYPTO_CIPHER_AES_CBC``
+* ``RTE_CRYPTO_CIPHER_AES_CTR``
+* ``RTE_CRYPTO_CIPHER_AES_ECB``
+* ``RTE_CRYPTO_CIPHER_3DES_CBC``
+* ``RTE_CRYPTO_CIPHER_3DES_CTR``
+* ``RTE_CRYPTO_CIPHER_3DES_ECB``
+
+Hash algorithms:
+
+* ``RTE_CRYPTO_AUTH_NULL``
+* ``RTE_CRYPTO_AUTH_MD5``
+* ``RTE_CRYPTO_AUTH_MD5_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA1``
+* ``RTE_CRYPTO_AUTH_SHA1_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA224``
+* ``RTE_CRYPTO_AUTH_SHA224_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA256``
+* ``RTE_CRYPTO_AUTH_SHA256_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA384``
+* ``RTE_CRYPTO_AUTH_SHA384_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA512``
+* ``RTE_CRYPTO_AUTH_SHA512_HMAC``
+* ``RTE_CRYPTO_AUTH_AES_GMAC``
+
+AEAD algorithms:
+
+* ``RTE_CRYPTO_AEAD_AES_GCM``
+
+For supported feature flags please consult :doc:`overview`.
 
 Limitations
 -----------
@@ -77,25 +95,18 @@ MVSAM CRYPTO PMD driver compilation is disabled by default due to external depen
 Currently there are two driver specific compilation options in
 ``config/common_base`` available:
 
-- ``CONFIG_RTE_LIBRTE_MVSAM_CRYPTO`` (default ``n``)
+- ``CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO`` (default: ``n``)
 
     Toggle compilation of the librte_pmd_mvsam driver.
 
-- ``CONFIG_RTE_LIBRTE_MVSAM_CRYPTO_DEBUG`` (default ``n``)
-
-    Toggle display of debugging messages.
-
-For a list of prerequisites please refer to `Prerequisites` section in
-:ref:`MVPP2 Poll Mode Driver <mvpp2_poll_mode_driver>` guide.
-
 MVSAM CRYPTO PMD requires MUSDK built with EIP197 support thus following
 extra option must be passed to the library configuration script:
 
 .. code-block:: console
 
-   --enable-sam
+   --enable-sam [--enable-sam-statistics] [--enable-sam-debug]
 
-For `crypto_safexcel.ko` module build instructions please refer
+For instructions how to build required kernel modules please refer
 to `doc/musdk_get_started.txt`.
 
 Initialization
@@ -106,17 +117,15 @@ loaded:
 
 .. code-block:: console
 
-   insmod musdk_uio.ko
-   insmod mvpp2x_sysfs.ko
-   insmod mv_pp_uio.ko
+   insmod musdk_cma.ko
+   insmod crypto_safexcel.ko rings=0,0
    insmod mv_sam_uio.ko
-   insmod crypto_safexcel.ko
 
 The following parameters (all optional) are exported by the driver:
 
-* max_nb_queue_pairs: maximum number of queue pairs in the device (8 by default).
-* max_nb_sessions: maximum number of sessions that can be created (2048 by default).
-* socket_id: socket on which to allocate the device resources on.
+- ``max_nb_queue_pairs``: maximum number of queue pairs in the device (default: 8 - A8K, 4 - A7K/A3K).
+- ``max_nb_sessions``: maximum number of sessions that can be created (default: 2048).
+- ``socket_id``: socket on which to allocate the device resources on.
 
 l2fwd-crypto example application can be used to verify MVSAM CRYPTO PMD
 operation:
@@ -129,65 +138,3 @@ operation:
      --auth_op GENERATE --auth_algo sha1-hmac \
      --auth_key 10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f
 
-Example output:
-
-.. code-block:: console
-
-   [...]
-   AAD: at [0x7f253ceb80], len=
-   P ID 0 configuration ----
-   Port mode               : KR
-   MAC status              : disabled
-   Link status             : link up
-   Port speed              : 10G
-   Port duplex             : full
-   Port: Egress enable tx_port_num=16 qmap=0x1
-   PORT: Port0 - link
-   P ID 0 configuration ----
-   Port mode               : KR
-   MAC status              : disabled
-   Link status             : link down
-   Port speed              : 10G
-   Port duplex             : full
-   Port: Egress enable tx_port_num=16 qmap=0x1
-   Port 0, MAC address: 00:50:43:02:21:20
-
-
-   Checking link statusdone
-   Port 0 Link Up - speed 0 Mbps - full-duplex
-   Lcore 0: RX port 0
-   Allocated session pool on socket 0
-   eip197: 0:0 registers: paddr: 0xf2880000, vaddr: 0x0x7f56a80000
-   DMA buffer (131136 bytes) for CDR #0 allocated: paddr = 0xb0585e00, vaddr = 0x7f09384e00
-   DMA buffer (131136 bytes) for RDR #0 allocated: paddr = 0xb05a5f00, vaddr = 0x7f093a4f00
-   DMA buffers allocated for 2049 operations. Tokens - 256 bytes
-   Lcore 0: cryptodev 0
-   L2FWD: lcore 1 has nothing to do
-   L2FWD: lcore 2 has nothing to do
-   L2FWD: lcore 3 has nothing to do
-   L2FWD: entering main loop on lcore 0
-   L2FWD:  -- lcoreid=0 portid=0
-   L2FWD:  -- lcoreid=0 cryptoid=0
-   Options:-
-   nportmask: ffffffff
-   ports per lcore: 1
-   refresh period : 10000
-   single lcore mode: disabled
-   stats_printing: enabled
-   sessionless crypto: disabled
-
-   Crypto chain: Input --> Encrypt --> Auth generate --> Output
-
-   ---- Cipher information ---
-   Algorithm: aes-cbc
-   Cipher key: at [0x7f56db4e80], len=16
-   00000000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ................
-   IV: at [0x7f56db4b80], len=16
-   00000000: 20 F0 63 0E 45 EB 2D 84 72 D4 13 6E 36 B5 AF FE |  .c.E.-.r..n6...
-
-   ---- Authentication information ---
-   Algorithm: sha1-hmac
-   Auth key: at [0x7f56db4d80], len=16
-   00000000: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | ................
-   IV: at [0x7f56db4a80], len=0
-   AAD: at [0x7f253ceb80], len=
-- 
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 2/3] crypto/mvsam: update features list
  2018-09-04 13:59 [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
  2018-10-01 13:24 ` [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal
  3 siblings, 0 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Tomasz Duszynski

Add following features to the device's features list
and update documentation accordingly:
* OOP SGL in LB out
* OOP LB in LB out

Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
---
 doc/guides/cryptodevs/features/mvsam.ini | 2 ++
 drivers/crypto/mvsam/rte_mrvl_pmd.c      | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/guides/cryptodevs/features/mvsam.ini b/doc/guides/cryptodevs/features/mvsam.ini
index dd17a4c..0cc90a5 100644
--- a/doc/guides/cryptodevs/features/mvsam.ini
+++ b/doc/guides/cryptodevs/features/mvsam.ini
@@ -6,6 +6,8 @@
 Symmetric crypto       = Y
 Sym operation chaining = Y
 HW Accelerated         = Y
+OOP SGL In LB  Out     = Y
+OOP LB  In LB  Out     = Y
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 73eff75..21c3a95 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -729,7 +729,9 @@ cryptodev_mrvl_crypto_create(const char *name,
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
 			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
-			RTE_CRYPTODEV_FF_HW_ACCELERATED;
+			RTE_CRYPTODEV_FF_HW_ACCELERATED |
+			RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
+			RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT;
 
 	/* Set vector instructions mode supported */
 	internals = dev->data->dev_private;
-- 
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically
  2018-09-04 13:59 [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-25 11:18   ` Akhil Goyal
  2018-10-01 13:24 ` [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal
  3 siblings, 1 reply; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Dmitri Epshtein

From: Dmitri Epshtein <dima@marvell.com>

MUSDK 18.09 introduced API for getting CIOs number dynamically.
Use that instead of predefined constant.

Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Reviewed-by: Natalie Samsonov <nsamsono@marvell.com>
Tested-by: Natalie Samsonov <nsamsono@marvell.com>
---
 drivers/crypto/mvsam/rte_mrvl_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 21c3a95..9a85fd9 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -866,7 +866,7 @@ cryptodev_mrvl_crypto_init(struct rte_vdev_device *vdev)
 			.private_data_size =
 				sizeof(struct mrvl_crypto_private),
 			.max_nb_queue_pairs =
-				sam_get_num_inst() * SAM_HW_RING_NUM,
+				sam_get_num_inst() * sam_get_num_cios(0),
 			.socket_id = rte_socket_id()
 		},
 		.max_nb_sessions = MRVL_PMD_DEFAULT_MAX_NB_SESSIONS
-- 
2.7.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
@ 2018-09-25 11:18   ` Akhil Goyal
  0 siblings, 0 replies; 6+ messages in thread
From: Akhil Goyal @ 2018-09-25 11:18 UTC (permalink / raw)
  To: Tomasz Duszynski, dev; +Cc: nsamsono, mw, Dmitri Epshtein

Hi,

On 9/4/2018 7:29 PM, Tomasz Duszynski wrote:
> From: Dmitri Epshtein <dima@marvell.com>
>
> MUSDK 18.09 introduced API for getting CIOs number dynamically.
> Use that instead of predefined constant.
>
> Signed-off-by: Dmitri Epshtein <dima@marvell.com>
> Reviewed-by: Natalie Samsonov <nsamsono@marvell.com>
> Tested-by: Natalie Samsonov <nsamsono@marvell.com>
> ---
>   drivers/crypto/mvsam/rte_mrvl_pmd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
> index 21c3a95..9a85fd9 100644
> --- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
> +++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
> @@ -866,7 +866,7 @@ cryptodev_mrvl_crypto_init(struct rte_vdev_device *vdev)
>   			.private_data_size =
>   				sizeof(struct mrvl_crypto_private),
>   			.max_nb_queue_pairs =
> -				sam_get_num_inst() * SAM_HW_RING_NUM,
> +				sam_get_num_inst() * sam_get_num_cios(0),
>   			.socket_id = rte_socket_id()
>   		},
>   		.max_nb_sessions = MRVL_PMD_DEFAULT_MAX_NB_SESSIONS
This patch can be picked by net-next. So marking this patch as 
superseded, I think a copy is already sent in
[PATCH v3 00/13] net/mvpp2: add new features

Thanks,
Akhil

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09
  2018-09-04 13:59 [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
                   ` (2 preceding siblings ...)
  2018-09-04 13:59 ` [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
@ 2018-10-01 13:24 ` Akhil Goyal
  3 siblings, 0 replies; 6+ messages in thread
From: Akhil Goyal @ 2018-10-01 13:24 UTC (permalink / raw)
  To: Tomasz Duszynski, dev; +Cc: nsamsono, mw



On 9/4/2018 7:29 PM, Tomasz Duszynski wrote:
> This patch series aligns MVSAM PMD with MUSDK 18.09.
>
> Dmitri Epshtein (2):
>    doc: update mvsam documentation
>    crypto/mvsam: get number of CIOs dynamically
>
> Tomasz Duszynski (1):
>    crypto/mvsam: update features list
>
>   doc/guides/cryptodevs/features/mvsam.ini |  12 +++
>   doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
>   drivers/crypto/mvsam/rte_mrvl_pmd.c      |   6 +-
>   3 files changed, 63 insertions(+), 102 deletions(-)
>
> --
> 2.7.4
>
Patch 1/3 and 2/3 applied to dpdk-next-crypto

Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-01 13:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-04 13:59 [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
2018-09-04 13:59 ` [dpdk-dev] [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
2018-09-04 13:59 ` [dpdk-dev] [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
2018-09-04 13:59 ` [dpdk-dev] [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
2018-09-25 11:18   ` Akhil Goyal
2018-10-01 13:24 ` [dpdk-dev] [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).