[dpdk-dev] [PATCH] doc: add how to use packet capture framework

Reshma Pattan reshma.pattan at intel.com
Wed Jul 12 16:12:11 CEST 2017


Describes how to use pdump library and dpdk-pdump tool
to capture traffic on dpdk ports.

Signed-off-by: Reshma Pattan <reshma.pattan at intel.com>
---
 doc/guides/howto/img/packet_capture_framework.svg | 128 +++++++++++++++++++
 doc/guides/howto/index.rst                        |   1 +
 doc/guides/howto/packet_capture_framework.rst     | 146 ++++++++++++++++++++++
 3 files changed, 275 insertions(+)
 create mode 100644 doc/guides/howto/img/packet_capture_framework.svg
 create mode 100644 doc/guides/howto/packet_capture_framework.rst

diff --git a/doc/guides/howto/img/packet_capture_framework.svg b/doc/guides/howto/img/packet_capture_framework.svg
new file mode 100644
index 0000000..e0805a3
--- /dev/null
+++ b/doc/guides/howto/img/packet_capture_framework.svg
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="530px" height="319px" viewBox="0 0 530 319" enable-background="new 0 0 530 319" xml:space="preserve">  <image id="image0" width="530" height="319" x="0" y="0"
+    xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhIAAAE/CAMAAAAkOdr4AAAABGdBTUEAAK/INwWK6QAAACBjSFJN
+AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABs1BMVEX////b5OzP2+alvNCg
+uM2Dor5xlbVZg6lBcZxTfqV3mbjJ1+PD0uCPq8VNeqK9zt3z9vlHdZ/h6e/n7fN9nrtfh6yxxdb5
++/xljK+rwNNrkLKVsMibtMuJp8Lt8vbV4Om3ydr//9uQOgAAOpDb//+2ZgDbkDoAAAA6kNsAZrb/
+tmYAAGa2////25A6AAD//7ZmAAAAADqQ2//P58+QZgBmtv+QOjrM//+2kDrq8vq81u6Jt+GEtOBq
+pNlbm9Vlodiy0Ovl7/j1+fyZweV/sd7b6fZgntaUvuTG3PDW5vTw9vvL3/LB2e91q9yPu+L6/P6o
+yumtzerg7Pd6rt2exOZwqNrbtmbv9+8AaKuraABAoEAAei4uegBJfaxEdqRamtNYls5ZmNJWk8pY
+l9BGeadLgbJOhrjR4/O30+xDdJ9UkMejx+hIfKpPiLtCcp5EdaFTj8VXlcxKf7BOh7pVkshKf65R
+i8BSjcFbvfH///ixrNVFd6VHeql5z/jmz9uV3///3+P///GVm9Vbm9ux7///7+p5m9Wx7/hbrOrm
+///MvdVbm+N5m9vm//hNhLZOhbdSjcNClZWmAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+EHDAYgBpFQ
+/AoAABiMSURBVHja7Z2NfxM3mscniRMrCTE2ISQBAgnBcZKWl5KybYEoFNrwUihtgQ2lW6AHpIXt
+0te7ctsC2aN3t0v3rvcnn17mRRq/ZKzRSPLM8/t8bI9nZM2jR1/rZaQZeR4IBAKBQJrU1z9QGhwq
+owJreGikVBrtt50TbmjH2LDt/HBHlcGdVdsZYpuHwRpxRJn8Q3b077JtjE2N94+WSrsnKBYjeyZt
+W2NP/UPEA1OlPtt2uKPx6RH6F9lp2w5L6ttNCsrpcdtmuKbqzr3kf1LEVsXkPoRq+6u2zXBSO0lL
+e6Rq2wrTqpI6Y+aAbStc1eR0BZUL1rbaVUaVg7aNcFnjU6gyatsIk+qvoAloRHRUlbS0pm0bYU6j
+RawquxZpbA3YtsGUdlXQjG0bekGzCO2wbYMZVctoxLYNvaEBVCvENZvJITRRtW1Ej2gQlYvQK5tB
+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
+rkJggg==" />
+</svg>
diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
index a483444..468939b 100644
--- a/doc/guides/howto/index.rst
+++ b/doc/guides/howto/index.rst
@@ -42,3 +42,4 @@ HowTo Guides
     vfd
     virtio_user_for_container_networking
     virtio_user_as_exceptional_path
+    packet_capture_framework
diff --git a/doc/guides/howto/packet_capture_framework.rst b/doc/guides/howto/packet_capture_framework.rst
new file mode 100644
index 0000000..e74bee2
--- /dev/null
+++ b/doc/guides/howto/packet_capture_framework.rst
@@ -0,0 +1,146 @@
+..  BSD LICENSE
+    Copyright(c) 2017 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.
+
+
+This doc describes how the Data Plane Development Kit (DPDK) packet capture
+framework is used for capturing packets on the DPDK ports. It is written with
+users of DPDK in mind who want to know more about the feature and for those
+who want to monitor traffic on DPDK-controlled devices.
+
+The DPDK packet capture framework was introduced in DPDK v16.07.
+The DPDK packet capture framework consists of the DPDK pdump library and
+DPDK pdump tool.
+
+
+DPDK pdump Library and pdump Tool
+=================================
+
+The ``librte_pdump`` library provides the APIs required to allow users to
+initialize the packet capture framework and to enable or disable packet
+capture. The library works on a client/server model and its usage is
+recommended for debugging purposes.
+
+The ``dpdk-pdump`` tool is developed based on the ``librte_pdump`` library.
+The ``dpdk-pdump`` tool runs as a DPDK secondary process and is capable
+of enabling or disabling packet capture on the DPDK ports.
+The ``dpdk-pdump`` tool provides command-line options with which users can
+request enabling or disabling of the packet capture on DPDK ports.
+
+The application which initializes the packet capture framework will act as a
+server and the application that enables or disables the packet capture will
+act as a client. The server sends the Rx and Tx packets from the DPDK ports
+to the client.
+
+In DPDK the ``testpmd`` application is modified to initialize the packet
+capture framework and act as a server, and the ``dpdk-pdump`` tool acts
+as a client. To view Rx or Tx packets of ``testpmd``, the application should
+be launched first, and then the ``dpdk-pdump`` tool. Packets from the
+``testpmd`` will be sent to the tool, which then sends them on to the pcap
+pmd device and that device writes them to the pcap file or to an external
+interface depending on the command-line option used.
+
+   .. Note::
+      * The ``dpdk-pdump`` tool can only be used in conjunction with a primary
+        application which has the packet capture framework initialized already.
+        In dpdk, only the ``testpmd`` is modified to initialize packet capture
+        framework, other applications remain untouched. So, if the ``dpdk-pdump``
+        tool has to be used with any application other than the testpmd, user
+        needs to explicitly modify that application to call packet capture
+        framework initialization code. Refer ``app/test-pmd/testpmd.c``
+        code and look for ``pdump`` keyword to see how this is done.
+
+      * 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.
+
+
+Test Environment
+----------------
+
+The overview of using packet capture framework and dpdk-pdump tool
+for packet capturing on the DPDK port
+in :numref:`figure_packet_capture_framework`.
+
+.. _figure_packet_capture_framework:
+
+.. figure:: img/packet_capture_framework.*
+
+   Packet capturing on DPDK port using the dpdk-pdump tool.
+
+Configuration Steps
+-------------------
+
+The following steps demonstrate how to run the ``dpdk-pdump`` tool to
+capture Rx side packets of dpdk_port0
+in :numref:`figure_packet_capture_framework` and inspect them using
+``tcpdump``.
+
+#. Modify the DPDK primary application to initialize the packet capture framework
+   as mentioned in above note, enable below config options and build the DPDK::
+
+     CONFIG_RTE_LIBRTE_PMD_PCAP=y
+     CONFIG_RTE_LIBRTE_PDUMP=y
+
+#. Launch testpmd as the primary application::
+
+     sudo ./app/testpmd -c 0xf0 -n 4 -- -i --port-topology=chained
+
+#. Launch the pdump tool as follows::
+
+     sudo ./build/app/dpdk-pdump -- \
+                              --pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap'
+
+#. Send traffic to dpdk_port0 from traffic generator.
+   Inspect packets captured in the file capture.pcap using a tool
+   that can interpret pcap files, for example tcpdump::
+
+     $tcpdump -nr /tmp/capture.pcap
+     reading from file /tmp/capture.pcap, link-type EN10MB (Ethernet)
+     11:11:36.891404 IP 4.4.4.4.whois++ > 3.3.3.3.whois++: UDP, length 18
+     11:11:36.891442 IP 4.4.4.4.whois++ > 3.3.3.3.whois++: UDP, length 18
+     11:11:36.891445 IP 4.4.4.4.whois++ > 3.3.3.3.whois++: UDP, length 18
+
+Conclusion
+----------
+
+In this doc we described the ``librte_pdump`` library and ``dpdk-pdump`` tool
+usage for capturing traffic of DPDK ports.
+
+Additional Information
+----------------------
+
+More details on ``librte_pdump`` library and ``dpdk-pdump`` tool can be found
+at following links.
+
+#. http://dpdk.org/doc/guides/prog_guide/pdump_lib.html
+#. http://dpdk.org/doc/guides/tools/pdump.html
-- 
2.7.4



More information about the dev mailing list