add man pages for installed binaries 11/2911/1
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Fri, 16 Sep 2016 09:16:11 +0000 (11:16 +0200)
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>
Fri, 16 Sep 2016 09:16:11 +0000 (11:16 +0200)
Backport of the expected to be accepted patches to add man page
generation for installed binaries.
http://dpdk.org/ml/archives/dev/2016-August/045079.html

Change-Id: I53046cc707ef312f7b036ad3cb4ef7265bf5276a
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
debian/patches/dpdk-dev-v2-1-4-doc-move-tool-guides-in-their-own-subdirectory.patch [new file with mode: 0644]
debian/patches/dpdk-dev-v2-2-4-doc-rendering-and-installation-of-man-pages.patch [new file with mode: 0644]
debian/patches/dpdk-dev-v2-3-4-doc-add-basic-invocation-info-for-dpdk-pmdinfo.patch [new file with mode: 0644]
debian/patches/dpdk-dev-v2-4-4-doc-add-basic-invocation-info-for-dpdk-devbind.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/dpdk-dev-v2-1-4-doc-move-tool-guides-in-their-own-subdirectory.patch b/debian/patches/dpdk-dev-v2-1-4-doc-move-tool-guides-in-their-own-subdirectory.patch
new file mode 100644 (file)
index 0000000..a1cc65c
--- /dev/null
@@ -0,0 +1,528 @@
+diff --git a/doc/guides/index.rst b/doc/guides/index.rst
+index 0441859..57570f6 100644
+--- a/doc/guides/index.rst
++++ b/doc/guides/index.rst
+@@ -41,6 +41,7 @@ DPDK documentation
+    nics/index
+    cryptodevs/index
+    sample_app_ug/index
++   tools/index
+    testpmd_app_ug/index
+    faq/index
+    howto/index
+diff --git a/doc/guides/sample_app_ug/index.rst b/doc/guides/sample_app_ug/index.rst
+index 96bb317..6573452 100644
+--- a/doc/guides/sample_app_ug/index.rst
++++ b/doc/guides/sample_app_ug/index.rst
+@@ -72,11 +72,9 @@ Sample Applications User Guide
+     dist_app
+     vm_power_management
+     tep_termination
+-    proc_info
+     ptpclient
+     performance_thread
+     ipsec_secgw
+-    pdump
+ **Figures**
+diff --git a/doc/guides/sample_app_ug/pdump.rst b/doc/guides/sample_app_ug/pdump.rst
+deleted file mode 100644
+index ac0e7c9..0000000
+--- a/doc/guides/sample_app_ug/pdump.rst
++++ /dev/null
+@@ -1,144 +0,0 @@
+-
+-..  BSD LICENSE
+-    Copyright(c) 2016 Intel Corporation. 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 Intel Corporation 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.
+-
+-
+-dpdk-pdump Application
+-======================
+-
+-The ``dpdk-pdump`` tool is a Data Plane Development Kit (DPDK) tool that runs as
+-a DPDK secondary process and is capable of enabling packet capture on dpdk ports.
+-
+-   .. Note::
+-
+-      * The ``dpdk-pdump`` tool depends on libpcap based PMD which is disabled
+-        by default in the build configuration files,
+-        owing to an external dependency on the libpcap development files
+-        which must be installed on the board.
+-        Once the libpcap development files are installed, the libpcap based PMD
+-        can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the DPDK.
+-
+-
+-Running the Application
+------------------------
+-
+-The tool has a number of command line options:
+-
+-.. code-block:: console
+-
+-   ./build/app/dpdk-pdump --
+-                          --pdump '(port=<port id> | device_id=<pci id or vdev name>),
+-                                   (queue=<queue_id>),
+-                                   (rx-dev=<iface or pcap file> |
+-                                    tx-dev=<iface or pcap file>),
+-                                   [ring-size=<ring size>],
+-                                   [mbuf-size=<mbuf data size>],
+-                                   [total-num-mbufs=<number of mbufs>]'
+-                          [--server-socket-path=<server socket dir>]
+-                          [--client-socket-path=<client socket dir>]
+-
+-The ``--pdump`` command line option is mandatory and it takes various sub arguments which are described in
+-below section.
+-
+-   .. Note::
+-
+-      * Parameters inside the parentheses represents mandatory parameters.
+-
+-      * Parameters inside the square brackets represents optional parameters.
+-
+-      * Multiple instances of ``--pdump`` can be passed to capture packets on different port and queue combinations.
+-
+-The ``--server-socket-path`` command line option is optional. This represents the server socket directory.
+-If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
+-for non root users.
+-
+-The ``--client-socket-path`` command line option is optional. This represents the client socket directory.
+-If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
+-for non root users.
+-
+-
+-The ``--pdump`` parameters
+-~~~~~~~~~~~~~~~~~~~~~~~~~~
+-
+-``port``:
+-Port id of the eth device on which packets should be captured.
+-
+-``device_id``:
+-PCI address (or) name of the eth device on which packets should be captured.
+-
+-   .. Note::
+-
+-      * As of now the ``dpdk-pdump`` tool cannot capture the packets of virtual devices
+-        in the primary process due to a bug in the ethdev library. Due to this bug, in a multi process context,
+-        when the primary and secondary have different ports set, then the secondary process
+-        (here the ``dpdk-pdump`` tool) overwrites the ``rte_eth_devices[]`` entries of the primary process.
+-
+-``queue``:
+-Queue id of the eth device on which packets should be captured. The user can pass a queue value of ``*`` to enable
+-packet capture on all queues of the eth device.
+-
+-``rx-dev``:
+-Can be either a pcap file name or any Linux iface.
+-
+-``tx-dev``:
+-Can be either a pcap file name or any Linux iface.
+-
+-   .. Note::
+-
+-      * To receive ingress packets only, ``rx-dev`` should be passed.
+-
+-      * To receive egress packets only, ``tx-dev`` should be passed.
+-
+-      * To receive ingress and egress packets separately ``rx-dev`` and ``tx-dev``
+-        should both be passed with the different file names or the Linux iface names.
+-
+-      * To receive ingress and egress packets separately ``rx-dev`` and ``tx-dev``
+-        should both be passed with the same file names or the the Linux iface names.
+-
+-``ring-size``:
+-Size of the ring. This value is used internally for ring creation. The ring will be used to enqueue the packets from
+-the primary application to the secondary. This is an optional parameter with default size 16384.
+-
+-``mbuf-size``:
+-Size of the mbuf data. This is used internally for mempool creation. Ideally this value must be same as
+-the primary application's mempool's mbuf data size which is used for packet RX. This is an optional parameter with
+-default size 2176.
+-
+-``total-num-mbufs``:
+-Total number mbufs in mempool. This is used internally for mempool creation. This is an optional parameter with default
+-value 65535.
+-
+-
+-Example
+--------
+-
+-.. code-block:: console
+-
+-   $ sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
+diff --git a/doc/guides/sample_app_ug/proc_info.rst b/doc/guides/sample_app_ug/proc_info.rst
+deleted file mode 100644
+index 73f2195..0000000
+--- a/doc/guides/sample_app_ug/proc_info.rst
++++ /dev/null
+@@ -1,71 +0,0 @@
+-
+-..  BSD LICENSE
+-    Copyright(c) 2015 Intel Corporation. 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 Intel Corporation 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.
+-
+-
+-dpdk-procinfo Application
+-=========================
+-
+-The dpdk-procinfo application is a Data Plane Development Kit (DPDK) application
+-that runs as a DPDK secondary process and is capable of retrieving port
+-statistics, resetting port statistics and printing DPDK memory information.
+-This application extends the original functionality that was supported by
+-dump_cfg.
+-
+-Running the Application
+------------------------
+-The application has a number of command line options:
+-
+-.. code-block:: console
+-
+-   ./$(RTE_TARGET)/app/dpdk-procinfo -- -m | [-p PORTMASK] [--stats | --xstats |
+-   --stats-reset | --xstats-reset]
+-
+-Parameters
+-~~~~~~~~~~
+-**-p PORTMASK**: Hexadecimal bitmask of ports to configure.
+-
+-**--stats**
+-The stats parameter controls the printing of generic port statistics. If no
+-port mask is specified stats are printed for all DPDK ports.
+-
+-**--xstats**
+-The stats parameter controls the printing of extended port statistics. If no
+-port mask is specified xstats are printed for all DPDK ports.
+-
+-**--stats-reset**
+-The stats-reset parameter controls the resetting of generic port statistics. If
+-no port mask is specified, the generic stats are reset for all DPDK ports.
+-
+-**--xstats-reset**
+-The xstats-reset parameter controls the resetting of extended port statistics.
+-If no port mask is specified xstats are reset for all DPDK ports.
+-
+-**-m**: Print DPDK memory information.
+diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst
+new file mode 100644
+index 0000000..d7654a2
+--- /dev/null
++++ b/doc/guides/tools/index.rst
+@@ -0,0 +1,40 @@
++..  BSD LICENSE
++    Copyright(c) 2016 Canonical Limited. 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 Intel Corporation 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.
++
++Tool User Guides
++================
++
++.. toctree::
++    :maxdepth: 2
++    :numbered:
++
++    proc_info
++    pdump
++
+diff --git a/doc/guides/tools/pdump.rst b/doc/guides/tools/pdump.rst
+new file mode 100644
+index 0000000..ac0e7c9
+--- /dev/null
++++ b/doc/guides/tools/pdump.rst
+@@ -0,0 +1,144 @@
++
++..  BSD LICENSE
++    Copyright(c) 2016 Intel Corporation. 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 Intel Corporation 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.
++
++
++dpdk-pdump Application
++======================
++
++The ``dpdk-pdump`` tool is a Data Plane Development Kit (DPDK) tool that runs as
++a DPDK secondary process and is capable of enabling packet capture on dpdk ports.
++
++   .. Note::
++
++      * The ``dpdk-pdump`` tool depends on libpcap based PMD which is disabled
++        by default in the build configuration files,
++        owing to an external dependency on the libpcap development files
++        which must be installed on the board.
++        Once the libpcap development files are installed, the libpcap based PMD
++        can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the DPDK.
++
++
++Running the Application
++-----------------------
++
++The tool has a number of command line options:
++
++.. code-block:: console
++
++   ./build/app/dpdk-pdump --
++                          --pdump '(port=<port id> | device_id=<pci id or vdev name>),
++                                   (queue=<queue_id>),
++                                   (rx-dev=<iface or pcap file> |
++                                    tx-dev=<iface or pcap file>),
++                                   [ring-size=<ring size>],
++                                   [mbuf-size=<mbuf data size>],
++                                   [total-num-mbufs=<number of mbufs>]'
++                          [--server-socket-path=<server socket dir>]
++                          [--client-socket-path=<client socket dir>]
++
++The ``--pdump`` command line option is mandatory and it takes various sub arguments which are described in
++below section.
++
++   .. Note::
++
++      * Parameters inside the parentheses represents mandatory parameters.
++
++      * Parameters inside the square brackets represents optional parameters.
++
++      * Multiple instances of ``--pdump`` can be passed to capture packets on different port and queue combinations.
++
++The ``--server-socket-path`` command line option is optional. This represents the server socket directory.
++If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
++for non root users.
++
++The ``--client-socket-path`` command line option is optional. This represents the client socket directory.
++If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
++for non root users.
++
++
++The ``--pdump`` parameters
++~~~~~~~~~~~~~~~~~~~~~~~~~~
++
++``port``:
++Port id of the eth device on which packets should be captured.
++
++``device_id``:
++PCI address (or) name of the eth device on which packets should be captured.
++
++   .. Note::
++
++      * As of now the ``dpdk-pdump`` tool cannot capture the packets of virtual devices
++        in the primary process due to a bug in the ethdev library. Due to this bug, in a multi process context,
++        when the primary and secondary have different ports set, then the secondary process
++        (here the ``dpdk-pdump`` tool) overwrites the ``rte_eth_devices[]`` entries of the primary process.
++
++``queue``:
++Queue id of the eth device on which packets should be captured. The user can pass a queue value of ``*`` to enable
++packet capture on all queues of the eth device.
++
++``rx-dev``:
++Can be either a pcap file name or any Linux iface.
++
++``tx-dev``:
++Can be either a pcap file name or any Linux iface.
++
++   .. Note::
++
++      * To receive ingress packets only, ``rx-dev`` should be passed.
++
++      * To receive egress packets only, ``tx-dev`` should be passed.
++
++      * To receive ingress and egress packets separately ``rx-dev`` and ``tx-dev``
++        should both be passed with the different file names or the Linux iface names.
++
++      * To receive ingress and egress packets separately ``rx-dev`` and ``tx-dev``
++        should both be passed with the same file names or the the Linux iface names.
++
++``ring-size``:
++Size of the ring. This value is used internally for ring creation. The ring will be used to enqueue the packets from
++the primary application to the secondary. This is an optional parameter with default size 16384.
++
++``mbuf-size``:
++Size of the mbuf data. This is used internally for mempool creation. Ideally this value must be same as
++the primary application's mempool's mbuf data size which is used for packet RX. This is an optional parameter with
++default size 2176.
++
++``total-num-mbufs``:
++Total number mbufs in mempool. This is used internally for mempool creation. This is an optional parameter with default
++value 65535.
++
++
++Example
++-------
++
++.. code-block:: console
++
++   $ sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
+diff --git a/doc/guides/tools/proc_info.rst b/doc/guides/tools/proc_info.rst
+new file mode 100644
+index 0000000..73f2195
+--- /dev/null
++++ b/doc/guides/tools/proc_info.rst
+@@ -0,0 +1,71 @@
++
++..  BSD LICENSE
++    Copyright(c) 2015 Intel Corporation. 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 Intel Corporation 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.
++
++
++dpdk-procinfo Application
++=========================
++
++The dpdk-procinfo application is a Data Plane Development Kit (DPDK) application
++that runs as a DPDK secondary process and is capable of retrieving port
++statistics, resetting port statistics and printing DPDK memory information.
++This application extends the original functionality that was supported by
++dump_cfg.
++
++Running the Application
++-----------------------
++The application has a number of command line options:
++
++.. code-block:: console
++
++   ./$(RTE_TARGET)/app/dpdk-procinfo -- -m | [-p PORTMASK] [--stats | --xstats |
++   --stats-reset | --xstats-reset]
++
++Parameters
++~~~~~~~~~~
++**-p PORTMASK**: Hexadecimal bitmask of ports to configure.
++
++**--stats**
++The stats parameter controls the printing of generic port statistics. If no
++port mask is specified stats are printed for all DPDK ports.
++
++**--xstats**
++The stats parameter controls the printing of extended port statistics. If no
++port mask is specified xstats are printed for all DPDK ports.
++
++**--stats-reset**
++The stats-reset parameter controls the resetting of generic port statistics. If
++no port mask is specified, the generic stats are reset for all DPDK ports.
++
++**--xstats-reset**
++The xstats-reset parameter controls the resetting of extended port statistics.
++If no port mask is specified xstats are reset for all DPDK ports.
++
++**-m**: Print DPDK memory information.
diff --git a/debian/patches/dpdk-dev-v2-2-4-doc-rendering-and-installation-of-man-pages.patch b/debian/patches/dpdk-dev-v2-2-4-doc-rendering-and-installation-of-man-pages.patch
new file mode 100644 (file)
index 0000000..f2e307f
--- /dev/null
@@ -0,0 +1,56 @@
+diff --git a/doc/guides/conf.py b/doc/guides/conf.py
+index cd6a4f7..55b6b2f 100644
+--- a/doc/guides/conf.py
++++ b/doc/guides/conf.py
+@@ -105,6 +105,14 @@ class CustomLatexFormatter(LatexFormatter):
+ # Replace the default latex formatter.
+ PygmentsBridge.latex_formatter = CustomLatexFormatter
++# Configuration for man pages
++man_pages = [("testpmd_app_ug/run_app", "testpmd",
++              "tests for dpdk pmds", "", 1),
++             ("tools/pdump", "dpdk-pdump",
++              "enable packet capture on dpdk ports", "", 1),
++             ("tools/proc_info", "dpdk-procinfo",
++              "access dpdk port stats and memory info", "", 1)]
++
+ ######## :numref: fallback ########
+ # The following hook functions add some simple handling for the :numref:
+ # directive for Sphinx versions prior to 1.3.1. The functions replace the
+diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
+index 9952f25..21d9bdf 100644
+--- a/mk/rte.sdkdoc.mk
++++ b/mk/rte.sdkdoc.mk
+@@ -63,7 +63,7 @@ help:
+ all: api-html guides-html guides-pdf
+ .PHONY: clean
+-clean: api-html-clean guides-html-clean guides-pdf-clean
++clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
+ .PHONY: api-html
+ api-html: api-html-clean
+diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
+index 5217063..533d369 100644
+--- a/mk/rte.sdkinstall.mk
++++ b/mk/rte.sdkinstall.mk
+@@ -66,6 +66,7 @@ includedir  ?=      $(prefix)/include/dpdk
+ datarootdir ?=      $(prefix)/share
+ docdir      ?=       $(datarootdir)/doc/dpdk
+ datadir     ?=       $(datarootdir)/dpdk
++mandir      ?=       $(datarootdir)/man
+ sdkdir      ?=                $(datadir)
+ targetdir   ?=                $(datadir)/$(RTE_TARGET)
+@@ -133,6 +134,11 @@ install-runtime:
+                                  $(DESTDIR)$(sbindir)/dpdk-devbind)
+       $(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/tools/dpdk-pmdinfo.py, \
+                                  $(DESTDIR)$(bindir)/dpdk-pmdinfo)
++ifneq ($(wildcard $O/doc/man/*/*.1),)
++      $(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir))
++      $(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir)/man1)
++      $(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
++endif
+ install-kmod:
+ ifneq ($(wildcard $O/kmod/*),)
diff --git a/debian/patches/dpdk-dev-v2-3-4-doc-add-basic-invocation-info-for-dpdk-pmdinfo.patch b/debian/patches/dpdk-dev-v2-3-4-doc-add-basic-invocation-info-for-dpdk-pmdinfo.patch
new file mode 100644 (file)
index 0000000..ab0f9b4
--- /dev/null
@@ -0,0 +1,88 @@
+diff --git a/doc/guides/conf.py b/doc/guides/conf.py
+index 55b6b2f..c45c4be 100644
+--- a/doc/guides/conf.py
++++ b/doc/guides/conf.py
+@@ -111,7 +111,9 @@ man_pages = [("testpmd_app_ug/run_app", "testpmd",
+              ("tools/pdump", "dpdk-pdump",
+               "enable packet capture on dpdk ports", "", 1),
+              ("tools/proc_info", "dpdk-procinfo",
+-              "access dpdk port stats and memory info", "", 1)]
++              "access dpdk port stats and memory info", "", 1),
++             ("tools/pmdinfo", "dpdk-pmdinfo",
++              "dump a PMDs hardware support info", "", 1)]
+ ######## :numref: fallback ########
+ # The following hook functions add some simple handling for the :numref:
+diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst
+index d7654a2..80f2115 100644
+--- a/doc/guides/tools/index.rst
++++ b/doc/guides/tools/index.rst
+@@ -37,4 +37,5 @@ Tool User Guides
+     proc_info
+     pdump
++    pmdinfo
+diff --git a/doc/guides/tools/pmdinfo.rst b/doc/guides/tools/pmdinfo.rst
+new file mode 100644
+index 0000000..a90c59f
+--- /dev/null
++++ b/doc/guides/tools/pmdinfo.rst
+@@ -0,0 +1,57 @@
++
++..  BSD LICENSE
++    Copyright(c) 2016 Canonical Limited. 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 Intel Corporation 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.
++
++
++dpdk-pmdinfo Application
++========================
++
++The ``dpdk-pmdinfo`` tool is a Data Plane Development Kit (DPDK) utility that
++can dump a PMDs hardware support info.
++
++
++Running the Application
++-----------------------
++
++The tool has a number of command line options:
++
++.. code-block:: console
++
++
++   dpdk-pmdinfo [-hrtp] [-d <pci id file] <elf-file>
++
++   -h, --help            Show a short help message and exit
++   -r, --raw             Dump as raw json strings
++   -d FILE, --pcidb=FILE Specify a pci database to get vendor names from
++   -t, --table           Output information on hw support as a hex table
++   -p, --plugindir       Scan dpdk for autoload plugins
++
++.. Note::
++
++   * Parameters inside the square brackets represents optional parameters.
diff --git a/debian/patches/dpdk-dev-v2-4-4-doc-add-basic-invocation-info-for-dpdk-devbind.patch b/debian/patches/dpdk-dev-v2-4-4-doc-add-basic-invocation-info-for-dpdk-devbind.patch
new file mode 100644 (file)
index 0000000..4b6c18d
--- /dev/null
@@ -0,0 +1,190 @@
+diff --git a/doc/guides/conf.py b/doc/guides/conf.py
+index c45c4be..149bcdb 100644
+--- a/doc/guides/conf.py
++++ b/doc/guides/conf.py
+@@ -113,7 +113,9 @@ man_pages = [("testpmd_app_ug/run_app", "testpmd",
+              ("tools/proc_info", "dpdk-procinfo",
+               "access dpdk port stats and memory info", "", 1),
+              ("tools/pmdinfo", "dpdk-pmdinfo",
+-              "dump a PMDs hardware support info", "", 1)]
++              "dump a PMDs hardware support info", "", 1),
++             ("tools/devbind", "dpdk-devbind",
++              "check device status and bind/unbind them from drivers", "", 8)]
+ ######## :numref: fallback ########
+ # The following hook functions add some simple handling for the :numref:
+diff --git a/doc/guides/tools/devbind.rst b/doc/guides/tools/devbind.rst
+new file mode 100644
+index 0000000..18a8059
+--- /dev/null
++++ b/doc/guides/tools/devbind.rst
+@@ -0,0 +1,143 @@
++
++..  BSD LICENSE
++    Copyright(c) 2016 Canonical Limited. 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 Intel Corporation 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.
++
++
++dpdk-devbind Application
++========================
++
++The ``dpdk-devbind`` tool is a Data Plane Development Kit (DPDK) tool that helps binding and unbinding devices from specific drivers.
++As well as checking their status in that regard.
++
++
++Running the Application
++-----------------------
++
++The tool has a number of command line options:
++
++.. code-block:: console
++
++   dpdk-devbind [options] DEVICE1 DEVICE2 ....
++
++OPTIONS
++-------
++
++* ``--help, --usage``
++
++        Display usage information and quit
++
++* ``-s, --status``
++
++        Print the current status of all known network interfaces.
++        For each device, it displays the PCI domain, bus, slot and function,
++        along with a text description of the device. Depending upon whether the
++        device is being used by a kernel driver, the ``igb_uio`` driver, or no
++        driver, other relevant information will be displayed:
++        - the Linux interface name e.g. ``if=eth0``
++        - the driver being used e.g. ``drv=igb_uio``
++        - any suitable drivers not currently using that device e.g. ``unused=igb_uio``
++        NOTE: if this flag is passed along with a bind/unbind option, the
++        status display will always occur after the other operations have taken
++        place.
++
++* ``-b driver, --bind=driver``
++
++        Select the driver to use or "none" to unbind the device
++
++* ``-u, --unbind``
++
++        Unbind a device (Equivalent to ``-b none``)
++
++* ``--force``
++
++        By default, devices which are used by Linux - as indicated by having
++        routes in the routing table - cannot be modified. Using the ``--force``
++        flag overrides this behavior, allowing active links to be forcibly
++        unbound.
++        WARNING: This can lead to loss of network connection and should be used
++        with caution.
++
++
++.. warning::
++
++    Due to the way VFIO works, there are certain limitations to which devices can be used with VFIO.
++    Mainly it comes down to how IOMMU groups work.
++    Any Virtual Function device can be used with VFIO on its own, but physical devices will require either all ports bound to VFIO,
++    or some of them bound to VFIO while others not being bound to anything at all.
++
++    If your device is behind a PCI-to-PCI bridge, the bridge will then be part of the IOMMU group in which your device is in.
++    Therefore, the bridge driver should also be unbound from the bridge PCI device for VFIO to work with devices behind the bridge.
++
++.. warning::
++
++    While any user can run the ``dpdk-devbind.py`` script to view the status of the network ports,
++    binding or unbinding network ports requires root privileges.
++
++
++Examples
++--------
++
++To display current device status::
++
++   dpdk-devbind --status
++
++To bind eth1 from the current driver and move to use igb_uio::
++
++   dpdk-devbind --bind=igb_uio eth1
++
++To unbind 0000:01:00.0 from using any driver::
++
++   dpdk-devbind -u 0000:01:00.0
++
++To bind 0000:02:00.0 and 0000:02:00.1 to the ixgbe kernel driver::
++
++   dpdk-devbind -b ixgbe 02:00.0 02:00.1
++
++To check status of all network ports, assign one to the igb_uio driver and check status again::
++
++   # Check the status of the available devices.
++   dpdk-devbind --status
++   Network devices using DPDK-compatible driver
++   ============================================
++   <none>
++
++   Network devices using kernel driver
++   ===================================
++   0000:0a:00.0 '82599ES 10-Gigabit' if=eth2 drv=ixgbe unused=
++
++
++   # Bind the device to igb_uio.
++   sudo dpdk-devbind -b igb_uio 0000:0a:00.0
++
++
++   # Recheck the status of the devices.
++   dpdk-devbind --status
++   Network devices using DPDK-compatible driver
++   ============================================
++   0000:0a:00.0 '82599ES 10-Gigabit' drv=igb_uio unused=
+diff --git a/doc/guides/tools/index.rst b/doc/guides/tools/index.rst
+index 80f2115..cbe98b2 100644
+--- a/doc/guides/tools/index.rst
++++ b/doc/guides/tools/index.rst
+@@ -38,4 +38,5 @@ Tool User Guides
+     proc_info
+     pdump
+     pmdinfo
++    devbind
+diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
+index 533d369..b1faf28 100644
+--- a/mk/rte.sdkinstall.mk
++++ b/mk/rte.sdkinstall.mk
+@@ -139,6 +139,11 @@ ifneq ($(wildcard $O/doc/man/*/*.1),)
+       $(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir)/man1)
+       $(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
+ endif
++ifneq ($(wildcard $O/doc/man/*/*.8),)
++      $(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir))
++      $(Q)$(call rte_mkdir,     $(DESTDIR)$(mandir)/man8)
++      $(Q)cp -a $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
++endif
+ install-kmod:
+ ifneq ($(wildcard $O/kmod/*),)
index 31c7f38..13c6c03 100644 (file)
@@ -6,3 +6,7 @@ make-load-devel-config-not-to-appear-as-executable.patch
 rte-compile-pre-cppflags.patch
 fix-power-default-config.patch
 rte-devel-build-env.patch
+dpdk-dev-v2-1-4-doc-move-tool-guides-in-their-own-subdirectory.patch
+dpdk-dev-v2-2-4-doc-rendering-and-installation-of-man-pages.patch
+dpdk-dev-v2-3-4-doc-add-basic-invocation-info-for-dpdk-pmdinfo.patch
+dpdk-dev-v2-4-4-doc-add-basic-invocation-info-for-dpdk-devbind.patch