From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com [209.85.128.169]) by dpdk.org (Postfix) with ESMTP id 5607C1B1BA for ; Tue, 26 Sep 2017 11:40:31 +0200 (CEST) Received: by mail-wr0-f169.google.com with SMTP id z39so12393347wrb.8 for ; Tue, 26 Sep 2017 02:40:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XX5MgMgRHKEYJzAfeH0c2pMOBrxSUzO80FaCEjYE82g=; b=lZc32KZfsllavCncYFO5bdjDTDPGVDx4ljkZ7WD1WSQgZsW9knWZnjf7jCseLWyG5c sgkptm3On0fgDg1TajJPoH8wqmGywGaO7RbAPY5JKN7r2VQ+lidO+vp6/kVMuRo1Pzrk FlLYuiNEtAFOXY+ln2JfhzX6I9qFUqvhPYbnMm8ir2VXAwFZdqoPFejF8w8/dvLt2q+o oxhyBp5gQ+++0/mzcPi4AH2qwzghEkTvF5ok0hUnNWQeT2s1KimQi4s/TlwEzZwcPz9j Exxc8OMrZV08i7l124ajrfjcuhhsVC7CS1O87e3jbkZlHPtBs5kUQlRefNnTQ7mFC42x 3Hdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XX5MgMgRHKEYJzAfeH0c2pMOBrxSUzO80FaCEjYE82g=; b=jC9Y3bvFZeQEKb/ly+CcTyh80WSky3ceGA2OusfBDsDJXWfUoMOYgxgxc4DpZLJLco +A+iaNUWZvvWMTo4IuJald2/qRRx0h7O8pXEqnZQkVhgBK3hBu2w9/vfQOZSwSAKXgBd XztBIJ/+++2q9uIf07EWSvhk9dY70aQVU1mvlD+iuFYhhQ2pzITo4oNYMkjsr5rPGOTT FWHMr3HJYWRbu3M8Nf+yTTfLyNoDtORI7C9/iC2KdVnqAXwbpG/4g5a+DhGTj4kj7IDG er9YzhB1KHEJRjGDjlcQUA/tsElwW6tqVEZl4E0Qc1cGuDzcJ0kAlwv/Y4dsL/wm8y0H 1pfw== X-Gm-Message-State: AHPjjUjJG5Pkc88wfSiUDymKf4tYSNSr4VGHBzp7Gac4J/yl3sTt7tdC ktJCcY6Hqpn1NyBB9+dtBEKRfsExH6E= X-Google-Smtp-Source: AOwi7QB28GwFRAjMf7sWZeMlVvtGqg9USxVkUtoXSSLhNYyjToeeilmNyKtK9/koAcdHLvwlPH75Ng== X-Received: by 10.46.31.18 with SMTP id f18mr1095729ljf.181.1506418831364; Tue, 26 Sep 2017 02:40:31 -0700 (PDT) Received: from tdu.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id g12sm1273593lfd.64.2017.09.26.02.40.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 26 Sep 2017 02:40:30 -0700 (PDT) From: Tomasz Duszynski To: dev@dpdk.org Cc: mw@semihalf.com, dima@marvell.com, nsamsono@marvell.com, Tomasz Duszynski , Jacek Siuda Date: Tue, 26 Sep 2017 11:40:00 +0200 Message-Id: <1506418805-12117-4-git-send-email-tdu@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1506418805-12117-1-git-send-email-tdu@semihalf.com> References: <1506418805-12117-1-git-send-email-tdu@semihalf.com> Subject: [dpdk-dev] [PATCH 3/8] doc: add mrvl net pmd documentation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Sep 2017 09:40:32 -0000 Add documentation for the MRVL NET PMD driver. Signed-off-by: Jacek Siuda Signed-off-by: Tomasz Duszynski --- doc/guides/nics/features/mrvl.ini | 24 ++++++ doc/guides/nics/index.rst | 1 + doc/guides/nics/mrvl.rst | 151 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 doc/guides/nics/features/mrvl.ini create mode 100644 doc/guides/nics/mrvl.rst diff --git a/doc/guides/nics/features/mrvl.ini b/doc/guides/nics/features/mrvl.ini new file mode 100644 index 0000000..781d6dc --- /dev/null +++ b/doc/guides/nics/features/mrvl.ini @@ -0,0 +1,24 @@ +; +; Supported features of the 'mrvl' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Speed capabilities = Y +Link status = Y +MTU update = Y +Jumbo frame = Y +Promiscuous mode = Y +Allmulticast mode = Y +Unicast MAC filter = Y +Multicast MAC filter = Y +RSS hash = Y +VLAN filter = Y +CRC offload = Y +L3 checksum offload = Y +L4 checksum offload = Y +Packet type parsing = Y +Basic stats = Y +Stats per queue = Y +ARMv8 = Y +Usage doc = Y diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 36f4f3f..7192f63 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -55,6 +55,7 @@ Network Interface Controller Drivers liquidio mlx4 mlx5 + mrvl nfp qede sfc_efx diff --git a/doc/guides/nics/mrvl.rst b/doc/guides/nics/mrvl.rst new file mode 100644 index 0000000..241d89b --- /dev/null +++ b/doc/guides/nics/mrvl.rst @@ -0,0 +1,151 @@ +.. BSD LICENSE + Copyright(c) 2017 Semihalf. All rights reserved. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Semihalf nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (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 +====================== + +The MRVL PMD (librte_pmd_mrvl) provides poll mode driver support +for the Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter. + +.. Note:: + + Due to external dependencies, this driver is disabled by default. It must + be enabled manually by setting relevant configuration option manually. + Please refer to `Config File Options`_ section for further details. + + +Features +-------- + +Features of the MRVL PMD are: + +- Speed capabilities +- Link status +- Queue start/stop +- MTU update +- Jumbo frame +- Promiscuous mode +- Allmulticast mode +- Unicast MAC filter +- Multicast MAC filter +- RSS hash +- VLAN filter +- CRC offload +- L3 checksum offload +- L4 checksum offload +- Packet type parsing +- Basic stats +- Stats per queue + + +Limitations +----------- + +- Number of lcores is limited to 9 by MUSDK internal design. If more lcores + need to be allocated, locking will have to be considered. Number of available + lcores can be changed via ``MRVL_MUSDK_HIFS_RESERVED`` define in + ``mrvl_ethdev.c`` source file. + +- Flushing vlans added for filtering is not possible due to MUSDK missing + functionality. Current workaround is to reset board so that PPv2 has a + chance to start in a sane state. + + +Prerequisites +------------- + +- MUSDK (Marvell User-Space SDK) sources available + `here `_. + + 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 + search box. + +- DPDK environment + + Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup + DPDK environment. + + +Config File Options +------------------- + +The following options can be modified in the ``config`` file. + +- ``CONFIG_RTE_LIBRTE_MRVL_PMD`` (default ``n``) + + Toggle compilation of the librte_pmd_mrvl driver. + +- ``CONFIG_RTE_LIBRTE_MRVL_DEBUG`` (default ``n``) + + Toggle display of debugging messages. + +- ``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. + + +Building DPDK +------------- + +Driver needs precompiled MUSDK library during compilation. Detailed build +process is described in library's documentation under ``doc`` directory. + +Before the DPDK build process the environmental variable ``LIBMUSDK_PATH`` with +the path to the MUSDK installation directory needs to be exported. + +Usage Example +------------- + +MRVL PMD requires extra kernel modules to function properly: + +.. code-block:: console + + insmod musdk_uio.ko + insmod mv_pp_uio.ko + insmod mvpp2x_sysfs.ko + +Additionally interfaces used by DPDK application need to be put up: + +.. code-block:: console + + ip link set eth0 up + ip link set eth1 up + +In order to run testpmd example application following command can be used: + +.. code-block:: console + + ./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 -- 2.7.4