X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fmrvl.rst;h=b7f32921ad8029a388ed874686d5be212f029b63;hb=ca33590b6af032bff57d9cc70455660466a654b2;hp=fbfdf478bf065d7c189d052d82c86075c3cf0b47;hpb=055c52583a2794da8ba1e85a48cce3832372b12f;p=deb_dpdk.git diff --git a/doc/guides/nics/mrvl.rst b/doc/guides/nics/mrvl.rst index fbfdf478..b7f32921 100644 --- a/doc/guides/nics/mrvl.rst +++ b/doc/guides/nics/mrvl.rst @@ -29,6 +29,8 @@ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.. _mrvl_poll_mode_driver: + MRVL Poll Mode Driver ====================== @@ -87,31 +89,40 @@ Limitations Prerequisites ------------- -- Custom Linux Kernel sources available - `here `__. +- Custom Linux Kernel sources + + .. code-block:: console + + git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git -b linux-4.4.52-armada-17.10 + +- Out of tree `mvpp2x_sysfs` kernel module sources -- Out of tree `mvpp2x_sysfs` kernel module sources available - `here `__. + .. code-block:: console -- MUSDK (Marvell User-Space SDK) sources available - `here `__. + git clone https://github.com/MarvellEmbeddedProcessors/mvpp2x-marvell.git -b mvpp2x-armada-17.10 - MUSDK is a light-weight library that provides direct access to Marvell's - PPv2 (Packet Processor v2). Alternatively prebuilt MUSDK library can be - requested from `Marvell Extranet `_. Once - approval has been granted, library can be found by typing ``musdk`` in - the search box. +- MUSDK (Marvell User-Space SDK) sources - MUSDK must be configured with the following features: + .. code-block:: console - .. code-block:: console + git clone https://github.com/MarvellEmbeddedProcessors/musdk-marvell.git -b musdk-armada-17.10 - --enable-bpool-dma=64 + MUSDK is a light-weight library that provides direct access to Marvell's + PPv2 (Packet Processor v2). Alternatively prebuilt MUSDK library can be + requested from `Marvell Extranet `_. Once + 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-bpool-dma=64 - DPDK environment - Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup - DPDK environment. + Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup + DPDK environment. Config File Options @@ -123,11 +134,6 @@ The following options can be modified in the ``config`` file. Toggle compilation of the librte_pmd_mrvl driver. -- ``CONFIG_RTE_MRVL_MUSDK_DMA_MEMSIZE`` (default ``41943040``) - - Size in bytes of the contiguous memory region that MUSDK will allocate - for run-time DMA-able data buffers. - QoS Configuration ----------------- @@ -142,7 +148,7 @@ Configuration syntax [port default] default_tc = - qos_mode = + mapping_priority = [port tc ] rxq = @@ -160,7 +166,7 @@ Where: - ````: Default traffic class (e.g. 0) -- ````: QoS priority for mapping (`ip`, `vlan`, `ip/vlan` or `vlan/ip`). +- ````: QoS priority for mapping (`ip`, `vlan`, `ip/vlan` or `vlan/ip`). - ````: Traffic Class to be configured. @@ -209,18 +215,34 @@ Usage example .. code-block:: console ./testpmd --vdev=eth_mrvl,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \ - -c 7 -- -i -a --disable-hw-vlan-strip --rxq=2 + -c 7 -- -i -a --rxq=2 Building DPDK ------------- -Driver needs precompiled MUSDK library during compilation. Please consult -``doc/musdk_get_started.txt`` for the detailed build instructions. +Driver needs precompiled MUSDK library during compilation. + +.. code-block:: console + + export CROSS_COMPILE=/bin/aarch64-linux-gnu- + ./bootstrap + ./configure --host=aarch64-linux-gnu --enable-bpool-dma=64 + make install + +MUSDK will be installed to `usr/local` under current directory. +For the detailed build instructions please consult ``doc/musdk_get_started.txt``. Before the DPDK build process the environmental variable ``LIBMUSDK_PATH`` with the path to the MUSDK installation directory needs to be exported. +.. code-block:: console + + export LIBMUSDK_PATH=/usr/local + export CROSS=aarch64-linux-gnu- + make config T=arm64-armv8a-linuxapp-gcc + sed -ri 's,(MRVL_PMD=)n,\1y,' build/.config + make Usage Example ------------- @@ -242,7 +264,7 @@ Additionally interfaces used by DPDK application need to be put up: .. code-block:: console ip link set eth0 up - ip link set eth1 up + ip link set eth2 up In order to run testpmd example application following command can be used: @@ -250,4 +272,4 @@ In order to run testpmd example application following command can be used: ./testpmd --vdev=eth_mrvl,iface=eth0,iface=eth2 -c 7 -- \ --burst=128 --txd=2048 --rxd=1024 --rxq=2 --txq=2 --nb-cores=2 \ - -i -a --disable-hw-vlan-strip --rss-udp + -i -a --rss-udp