Message ID | 20201202130529.7332-3-lironh@marvell.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Delegated to: | Ferruh Yigit |
Headers | show |
Series | armada: introduce musdk pkg-config | expand |
Context | Check | Description |
---|---|---|
ci/iol-testing | success | Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/travis-robot | success | Travis build: passed |
ci/checkpatch | warning | coding style issues |
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: > >
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. 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: 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(). + +- 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: 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. .. _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: