On 12/2/2020 1:05 PM, lir...@marvell.com wrote:
From: Liron Himi <lir...@marvell.com>
- update musdk requirement branch
- add the use of PKG_CONFIG
Signed-off-by: Liron Himi <lir...@marvell.com>
Reviewed-by: Liron Himi <lir...@marvell.com>
---
doc/guides/cryptodevs/mvsam.rst | 61 ++++++++++++++++++++++++++-------
doc/guides/nics/mvneta.rst | 45 ++++++++++++------------
doc/guides/nics/mvpp2.rst | 43 +++++++----------------
3 files changed, 83 insertions(+), 66 deletions(-)
diff --git a/doc/guides/cryptodevs/mvsam.rst b/doc/guides/cryptodevs/mvsam.rst
index 6188c1248..6ea6d31b6 100644
--- a/doc/guides/cryptodevs/mvsam.rst
+++ b/doc/guides/cryptodevs/mvsam.rst
@@ -1,6 +1,7 @@
.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2017 Marvell International Ltd.
- Copyright(c) 2017 Semihalf.
+ Copyright(c) 2018 Marvell International Ltd.
+ Copyright(c) 2018 Semihalf.
+ All rights reserved.
When updating dates, it can be extended as 2017-2018, instead of replacing the
start year.
Also why 2018 but not 2020?
"All rights reserved." seems added, does it really needed, or added by mistake?
MVSAM Crypto Poll Mode Driver
=============================
@@ -22,6 +23,12 @@ Features
MVSAM CRYPTO PMD has support for:
+* Symmetric crypto operations: encryption/description and authentication
+* Symmetric chaining crypto operations
+* HW Accelerated using EIP97/EIP197b/EIP197d
+* Out-of-place Scatter-gather list Input, Linear Buffers Output
+* Out-of-place Linear Buffers Input, Linear Buffers Output
+
Can you please send the crypto doc updates in a separate patch? That is better
to go into crypto tree after Akhil's review.
Cipher algorithms:
* ``RTE_CRYPTO_CIPHER_NULL``
@@ -61,6 +68,27 @@ Limitations
* Hardware only supports scenarios where ICV (digest buffer) is placed just
after the authenticated data. Other placement will result in error.
+Prerequisites
+-------------
+
+- Custom Linux Kernel sources
+
+ .. code-block:: console
+
+ git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git
-b linux-4.4.120-armada-18.09
+
+- Out of tree `mvpp2x_sysfs` kernel module sources
+
+ .. code-block:: console
+
+ git clone https://github.com/MarvellEmbeddedProcessors/mvpp2x-marvell.git
-b mvpp2x-armada-18.09
+
+- MUSDK (Marvell User-Space SDK) sources
+
+ .. code-block:: console
+
+ git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git
-b musdk-release-SDK-10.3.5.0-PR2
+
Installation
------------
@@ -74,23 +102,30 @@ extra option must be passed to the library configuration script:
For instructions how to build required kernel modules please refer
to `doc/musdk_get_started.txt`.
-Initialization
---------------
+Building DPDK
+-------------
+
+Driver needs precompiled MUSDK library during compilation.
+MUSDK will be installed to `usr/local` under current directory.
Can't MUSDK be installed with a operating system packages? If so the path will
be different.
+For the detailed build instructions please consult
``doc/musdk_get_started.txt``.
+
This ``doc/musdk_get_started.txt`` is under MUSDK, right? Can you please clarify
where the document is. And it is not helpful to refer a document that is not
accessible, can there be a way to provide a link for the document.
+Add path to libmusdk.pc in PKG_CONFIG_PATH environment variable:
-After successfully building MVSAM CRYPTO PMD, the following modules need to be
-loaded:
+.. code-block:: console
+
+ export PKG_CONFIG_PATH=$<musdk_install_dir>/lib/pkgconfig/:$PKG_CONFIG_PATH
+
+Build DPDK:
.. code-block:: console
- insmod musdk_cma.ko
- insmod crypto_safexcel.ko rings=0,0
- insmod mv_sam_uio.ko
+ meson build --cross-file config/arm/arm64_armada_linux_gcc
+ ninja -C build
+
-The following parameters (all optional) are exported by the driver:
-- ``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.
Why this information is removed?
+Usage Example
+-------------
l2fwd-crypto example application can be used to verify MVSAM CRYPTO PMD
operation:
diff --git a/doc/guides/nics/mvneta.rst b/doc/guides/nics/mvneta.rst
index e8abde42d..404998e62 100644
--- a/doc/guides/nics/mvneta.rst
+++ b/doc/guides/nics/mvneta.rst
@@ -3,6 +3,8 @@
Copyright(c) 2018 Semihalf.
All rights reserved.
+.. _mvneta_poll_mode_driver:
+
MVNETA Poll Mode Driver
=======================
@@ -25,6 +27,7 @@ Features of the MVNETA PMD are:
- Speed capabilities
- Jumbo frame
- MTU update
+- Jumbo frame
- Promiscuous mode
- Unicast MAC filter
- Link status
@@ -33,6 +36,8 @@ Features of the MVNETA PMD are:
- L4 checksum offload
- Packet type parsing
- Basic stats
+- Multicast MAC filter
+- Scattered TX frames
Limitations
@@ -42,6 +47,11 @@ Limitations
functionality. Current workaround is to reset board so that NETA has a
chance to start in a sane state.
+- MUSDK architecture does not support changing configuration in run time.
+ All nessesary configurations should be done before first dev_start().
s/nessesary/necessary
+
+- Running more than one DPDK-MUSDK application simultaneously is not supported.
+
Prerequisites
-------------
@@ -56,7 +66,7 @@ Prerequisites
.. code-block:: console
- git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git -b musdk-armada-18.09
+ git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git
-b musdk-release-SDK-10.3.5.0-PR2
Do you need a matrix to show which DPDK version supports which musdk version, or
can musdk version updated freely?
And above is a branch, which seems moving actively, would it be better to
provide a tag which is fixed and tested point in the musdk?
MUSDK is a light-weight library that provides direct access to Marvell's
NETA. Alternatively prebuilt MUSDK library can be
@@ -64,11 +74,8 @@ Prerequisites
approval has been granted, library can be found by typing ``musdk`` in
the search box.
- MUSDK must be configured with the following features:
-
- .. code-block:: console
-
- --enable-pp2=no --enable-neta
+ To better understand the library, please consult documentation
+ available in the ``doc`` top level directory of the MUSDK sources.
Again our documentation is referring a doc that is not accessible, can you
provide a link here?
- DPDK environment
@@ -98,36 +105,28 @@ Building DPDK
-------------
Driver needs precompiled MUSDK library during compilation.
+MUSDK will be installed to `usr/local` under current directory.
+For the detailed build instructions please consult
``doc/musdk_get_started.txt``.
-.. code-block:: console
+Add path to libmusdk.pc in PKG_CONFIG_PATH environment variable:
- export CROSS_COMPILE=<toolchain>/bin/aarch64-linux-gnu-
- ./bootstrap
- ./configure --host=aarch64-linux-gnu --enable-pp2=no --enable-neta
- make install
+.. code-block:: console
-MUSDK will be installed to `usr/local` under current directory.
-For the detailed build instructions please consult
``doc/musdk_get_started.txt``.
+ export PKG_CONFIG_PATH=$<musdk_install_dir>/lib/pkgconfig/:$PKG_CONFIG_PATH
-The path to the MUSDK installation directory needs to set in meson, shown in the
-following command:
+Build DPDK:
.. code-block:: console
- meson -Dlib_musdk_dir=/path/to/musdk build ninja -C build
+ meson build --cross-file config/arm/arm64_armada_linux_gcc
+ ninja -C build
Usage Example
-------------
MVNETA PMD requires extra out of tree kernel modules to function properly.
-`musdk_uio` and `mv_neta_uio` sources are part of the MUSDK. Please consult
-``doc/musdk_get_started.txt`` for the detailed build instructions.
-
-.. code-block:: console
-
- insmod musdk_uio.ko
- insmod mv_neta_uio.ko
+Please consult ``doc/musdk_get_started.txt`` for the detailed build
instructions.
Additionally interfaces used by DPDK application need to be put up:
diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst
index 6fbce8358..b151407ad 100644
--- a/doc/guides/nics/mvpp2.rst
+++ b/doc/guides/nics/mvpp2.rst
@@ -1,6 +1,7 @@
.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2017 Marvell International Ltd.
- Copyright(c) 2017 Semihalf.
+ Copyright(c) 2018 Marvell International Ltd.
+ Copyright(c) 2018 Semihalf.
+ All rights reserved.
Same questions as above.
.. _mvpp2_poll_mode_driver:
@@ -91,7 +92,7 @@ Prerequisites
.. code-block:: console
- git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git -b musdk-armada-18.09
+ git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git
-b musdk-release-SDK-10.3.5.0-PR2
MUSDK is a light-weight library that provides direct access to Marvell's
PPv2 (Packet Processor v2). Alternatively prebuilt MUSDK library can be
@@ -112,47 +113,29 @@ Building DPDK
-------------
Driver needs precompiled MUSDK library during compilation.
-
-.. code-block:: console
-
- export CROSS_COMPILE=<toolchain>/bin/aarch64-linux-gnu-
- ./bootstrap
- ./configure --host=aarch64-linux-gnu
- make install
-
MUSDK will be installed to `usr/local` under current directory.
For the detailed build instructions please consult
``doc/musdk_get_started.txt``.
-The path to the MUSDK installation directory needs to set in meson, shown in the
-command below.
+Add path to libmusdk.pc in PKG_CONFIG_PATH environment variable:
+
+.. code-block:: console
+
+ export PKG_CONFIG_PATH=$<musdk_install_dir>/lib/pkgconfig/:$PKG_CONFIG_PATH
-For additional instructions regarding DPDK cross compilation please refer to :doc:`Cross compile DPDK for ARM64 <../linux_gsg/cross_build_dpdk_for_arm64>`.
+Build DPDK:
.. code-block:: console
- meson -Dlib_musdk_dir=/path/to/musdk build ninja -C build
+ meson build --cross-file config/arm/arm64_armada_linux_gcc
+ ninja -C build
Usage Example
-------------
MVPP2 PMD requires extra out of tree kernel modules to function properly.
-`musdk_cma` sources are part of the MUSDK. Please consult
-``doc/musdk_get_started.txt`` for the detailed build instructions.
-For `mvpp2x_sysfs` please consult ``Documentation/pp22_sysfs.txt`` for the
-detailed build instructions.
-
-.. code-block:: console
-
- insmod musdk_cma.ko
- insmod mvpp2x_sysfs.ko
-
-Additionally interfaces used by DPDK application need to be put up:
-
-.. code-block:: console
+Please consult ``doc/musdk_get_started.txt`` for the detailed build
instructions.
- ip link set eth0 up
- ip link set eth2 up
In order to run testpmd example application following command can be used: