[v1,2/2] doc: update armada docs
Checks
Commit Message
From: Liron Himi <lironh@marvell.com>
- update musdk requirement branch
- add the use of PKG_CONFIG
Signed-off-by: Liron Himi <lironh@marvell.com>
Reviewed-by: Liron Himi <lironh@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(-)
Comments
On 12/2/2020 1:05 PM, lironh@marvell.com wrote:
> From: Liron Himi <lironh@marvell.com>
>
> - update musdk requirement branch
> - add the use of PKG_CONFIG
>
> Signed-off-by: Liron Himi <lironh@marvell.com>
> Reviewed-by: Liron Himi <lironh@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:
>
>
@@ -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.
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
+
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.
+For the detailed build instructions please consult ``doc/musdk_get_started.txt``.
+
+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.
+Usage Example
+-------------
l2fwd-crypto example application can be used to verify MVSAM CRYPTO PMD
operation:
@@ -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().
+
+- 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
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.
- 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:
@@ -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.
.. _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: