From: Shijith Thotton <shijith.thotton@caviumnetworks.com>
To: John Mcnamara <john.mcnamara@intel.com>,
Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 1/8] doc: add doc to explain compiling and testing of PMD
Date: Thu, 6 Apr 2017 13:21:50 +0530 [thread overview]
Message-ID: <1491465117-11252-2-git-send-email-shijith.thotton@caviumnetworks.com> (raw)
In-Reply-To: <1491465117-11252-1-git-send-email-shijith.thotton@caviumnetworks.com>
Add a section in NIC drivers documentation to explain compiling and
testing of a PMD. It also mentions about host setup, which is required
before running testpmd.
Add label "testpmd_ug" to refer user guide.
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
---
doc/guides/nics/build_and_test.rst | 134 ++++++++++++++++++++++++++++++++++++
doc/guides/nics/index.rst | 1 +
doc/guides/testpmd_app_ug/index.rst | 2 +
3 files changed, 137 insertions(+)
create mode 100644 doc/guides/nics/build_and_test.rst
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
new file mode 100644
index 0000000..4b87af6
--- /dev/null
+++ b/doc/guides/nics/build_and_test.rst
@@ -0,0 +1,134 @@
+.. BSD LICENSE
+ Copyright(c) 2017 Cavium, Inc.. 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 Cavium, Inc. 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(S) 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.
+
+.. _pmd_build_and_test:
+
+Compiling and testing a PMD for a NIC
+=====================================
+
+This section demonstrates how to compile and run a Poll Mode Driver (PMD) for
+the available Network Interface Cards in DPDK using TestPMD.
+
+TestPMD is one of the reference applications distributed with the DPDK. Its main
+purpose is to forward packets between Ethernet ports on a network interface and
+as such is the best way to test a PMD.
+
+Refer to the :ref:`testpmd application user guide <testpmd_ug>` for detailed
+information on how to build and run testpmd.
+
+Driver Compilation
+------------------
+
+To compile a PMD for Linux x86_64 gcc target, run the following "make" command.
+It will also build testpmd.
+
+.. code-block:: console
+
+ cd <DPDK-source-directory>
+ make install T=x86_64-native-linuxapp-gcc
+
+
+FreeBSD targets should use "gmake" command instead of "make".
+
+For more information, refer to the :ref:`Getting Started Guide for Linux <linux_gsg>`
+or :ref:`Getting Started Guide for FreeBSD <freebsd_gsg>` depending on your platform.
+
+Running testpmd in Linux
+------------------------
+
+This section demonstrates how to setup and run ``testpmd`` in Linux.
+
+#. Mount huge pages:
+
+ .. code-block:: console
+
+ mkdir /mnt/huge
+ mount -t hugetlbfs nodev /mnt/huge
+
+#. Request huge pages:
+
+ .. code-block:: console
+
+ echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages/nr_hugepages
+
+#. Load ``igb_uio`` or ``vfio-pci`` driver:
+
+ .. code-block:: console
+
+ modprobe uio
+ insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+
+ or
+
+ .. code-block:: console
+
+ modprobe vfio-pci
+
+#. Setup VFIO permissions for regular users before binding to ``vfio-pci``:
+
+ .. code-block:: console
+
+ sudo chmod a+x /dev/vfio
+
+ sudo chmod 0666 /dev/vfio/*
+
+#. Bind the adapters to ``igb_uio`` or ``vfio-pci`` loaded in the previous step:
+
+ .. code-block:: console
+
+ ./usertools/dpdk-devbind.py --bind igb_uio DEVICE1 DEVICE2 ...
+
+ Or setup VFIO permissions for regular users and then bind to ``vfio-pci``:
+
+ .. code-block:: console
+
+ ./usertools/dpdk-devbind.py --bind vfio-pci DEVICE1 DEVICE2 ...
+
+ .. note::
+
+ DEVICE1, DEVICE2 are specified via PCI "domain:bus:slot.func" syntax or
+ "bus:slot.func" syntax.
+
+#. Start ``testpmd`` with basic parameters:
+
+ .. code-block:: console
+
+ ./x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -- -i
+
+ Successful execution will show initialization messages from EAL, PMD and
+ testpmd application. A prompt will be displayed at the end for user commands
+ as interactive mode (``-i``) is on.
+
+ .. code-block:: console
+
+ testpmd>
+
+ Refer to the :ref:`testpmd runtime functions <testpmd_runtime>` for a list
+ of available commands.
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 4537113..245b53d 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -36,6 +36,7 @@ Network Interface Controller Drivers
:numbered:
overview
+ build_and_test
avp
bnx2x
bnxt
diff --git a/doc/guides/testpmd_app_ug/index.rst b/doc/guides/testpmd_app_ug/index.rst
index 1c39a17..61a9121 100644
--- a/doc/guides/testpmd_app_ug/index.rst
+++ b/doc/guides/testpmd_app_ug/index.rst
@@ -28,6 +28,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.
+.. _testpmd_ug:
+
Testpmd Application User Guide
==============================
--
1.8.3.1
next prev parent reply other threads:[~2017-04-06 7:53 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-01 15:03 [dpdk-dev] [RFC 0/2] doc: consolidate common part among PMD docs Shijith Thotton
2017-04-01 15:03 ` [dpdk-dev] [RFC 1/2] doc: add doc with steps to build PMD and run testpmd Shijith Thotton
2017-04-02 12:11 ` Mcnamara, John
2017-04-02 12:13 ` Mcnamara, John
2017-04-03 8:05 ` Shijith Thotton
2017-04-01 15:04 ` [dpdk-dev] [RFC 2/2] doc: include PMD build and run file in liquidio doc Shijith Thotton
2017-04-02 12:15 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 0/8] doc: consolidate common part among PMD docs Shijith Thotton
2017-04-06 7:51 ` Shijith Thotton [this message]
2017-04-06 16:43 ` [dpdk-dev] [PATCH 1/8] doc: add doc to explain compiling and testing of PMD Mcnamara, John
2017-04-06 18:30 ` Thomas Monjalon
2017-04-07 7:07 ` Shijith Thotton
2017-04-07 9:23 ` Mcnamara, John
2017-04-07 9:34 ` Thomas Monjalon
2017-04-07 9:42 ` Jerin Jacob
2017-04-07 10:10 ` Shijith Thotton
2017-04-06 7:51 ` [dpdk-dev] [PATCH 2/8] doc: refer PMD compile and test section from liquidio doc Shijith Thotton
2017-04-06 16:43 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 3/8] doc: refer PMD compile and test section from bnx2x doc Shijith Thotton
2017-04-06 16:45 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 4/8] doc: refer PMD compile and test section from cxgbe doc Shijith Thotton
2017-04-06 16:45 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 5/8] doc: refer PMD compile and test section from ena doc Shijith Thotton
2017-04-06 16:45 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 6/8] doc: refer PMD compile and test section from i40e doc Shijith Thotton
2017-04-06 16:46 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 7/8] doc: refer PMD compile and test section from nfp doc Shijith Thotton
2017-04-06 16:46 ` Mcnamara, John
2017-04-06 7:51 ` [dpdk-dev] [PATCH 8/8] doc: refer PMD compile and test section from qede doc Shijith Thotton
2017-04-06 16:46 ` Mcnamara, John
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 00/10] doc: consolidate common part among PMD docs Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 01/10] doc: add doc to explain compiling and testing of PMD Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 02/10] doc: refer PMD compile and test section from ark doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 03/10] doc: refer PMD compile and test section from bnx2x doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 04/10] doc: refer PMD compile and test section from cxgbe doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 05/10] doc: refer PMD compile and test section from ena doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 06/10] doc: refer PMD compile and test section from i40e doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 07/10] doc: refer PMD compile and test section from liquidio doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 08/10] doc: refer PMD compile and test section from nfp doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 09/10] doc: refer PMD compile and test section from qede doc Shijith Thotton
2017-04-11 18:56 ` [dpdk-dev] [PATCH v2 10/10] doc: refer PMD compile and test section from thunderx doc Shijith Thotton
2017-04-12 15:23 ` [dpdk-dev] [PATCH v2 00/10] doc: consolidate common part among PMD docs Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1491465117-11252-2-git-send-email-shijith.thotton@caviumnetworks.com \
--to=shijith.thotton@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=john.mcnamara@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).