summaryrefslogtreecommitdiffstats
path: root/doc/guides/nics/mrvl.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guides/nics/mrvl.rst')
-rw-r--r--doc/guides/nics/mrvl.rst78
1 files changed, 50 insertions, 28 deletions
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 <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
- 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
@@ -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 <portnum> default]
default_tc = <default_tc>
- qos_mode = <qos_priority>
+ mapping_priority = <mapping_priority>
[port <portnum> tc <traffic_class>]
rxq = <rx_queue_list>
@@ -160,7 +166,7 @@ Where:
- ``<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.
@@ -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=<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.
+.. 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
-------------
@@ -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