New upstream version 18.02
[deb_dpdk.git] / doc / guides / nics / mrvl.rst
index fbfdf47..b7f3292 100644 (file)
@@ -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.
 
     (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
 ======================
 
 MRVL Poll Mode Driver
 ======================
 
@@ -87,31 +89,40 @@ Limitations
 Prerequisites
 -------------
 
 Prerequisites
 -------------
 
-- Custom Linux Kernel sources available
-  `here <https://github.com/MarvellEmbeddedProcessors/linux-marvell/tree/linux-4.4.52-armada-17.08>`__.
+- 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 <https://github.com/MarvellEmbeddedProcessors/mvpp2x-marvell/tree/mvpp2x-armada-17.08>`__.
+  .. code-block:: console
 
 
-- MUSDK (Marvell User-Space SDK) sources available
-  `here <https://github.com/MarvellEmbeddedProcessors/musdk-marvell/tree/musdk-armada-17.08>`__.
+     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 <https://extranet.marvell.com>`_. 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 <https://extranet.marvell.com>`_. 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
 
 
 - DPDK environment
 
-    Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
-    DPDK environment.
+  Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
+  DPDK environment.
 
 
 Config File Options
 
 
 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.
 
 
     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
 -----------------
 
 QoS Configuration
 -----------------
@@ -142,7 +148,7 @@ Configuration syntax
 
    [port <portnum> default]
    default_tc = <default_tc>
 
    [port <portnum> default]
    default_tc = <default_tc>
-   qos_mode = <qos_priority>
+   mapping_priority = <mapping_priority>
 
    [port <portnum> tc <traffic_class>]
    rxq = <rx_queue_list>
 
    [port <portnum> tc <traffic_class>]
    rxq = <rx_queue_list>
@@ -160,7 +166,7 @@ Where:
 
 - ``<default_tc>``: Default traffic class (e.g. 0)
 
 
 - ``<default_tc>``: Default traffic class (e.g. 0)
 
-- ``<qos_priority>``: QoS priority for mapping (`ip`, `vlan`, `ip/vlan` or `vlan/ip`).
+- ``<mapping_priority>``: QoS priority for mapping (`ip`, `vlan`, `ip/vlan` or `vlan/ip`).
 
 - ``<traffic_class>``: Traffic Class to be configured.
 
 
 - ``<traffic_class>``: 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 \
 .. 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
 -------------
 
 
 
 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=<toolchain>/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.
 
 
 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=<musdk>/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
 -------------
 
 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
 .. 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:
 
 
 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 \
 
    ./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