[ovs-dev] [PATCH 1/2] dpdk: Remove deprecated pdump support.

Ilya Maximets i.maximets at ovn.org
Mon Mar 2 12:49:45 UTC 2020


DPDK pdump was deprecated in 2.13 release and didn't actually
work since 2.11.  Removing it.

More details in commit 4ae8c4617fd3 ("dpdk: Deprecate pdump support.")

Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
---
 .travis/linux-build.sh              |  6 ---
 Documentation/automake.mk           |  1 -
 Documentation/topics/dpdk/index.rst |  1 -
 Documentation/topics/dpdk/pdump.rst | 74 -----------------------------
 NEWS                                |  2 +
 acinclude.m4                        | 19 --------
 lib/dpdk.c                          | 12 -----
 7 files changed, 2 insertions(+), 113 deletions(-)
 delete mode 100644 Documentation/topics/dpdk/pdump.rst

diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index bb47b3ee1..359f7773b 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -124,10 +124,6 @@ function install_dpdk()
     sed -i '/CONFIG_RTE_EAL_IGB_UIO=y/s/=y/=n/' build/.config
     sed -i '/CONFIG_RTE_KNI_KMOD=y/s/=y/=n/' build/.config
 
-    # Enable pdump support in DPDK.
-    sed -i '/CONFIG_RTE_LIBRTE_PMD_PCAP=n/s/=n/=y/' build/.config
-    sed -i '/CONFIG_RTE_LIBRTE_PDUMP=n/s/=n/=y/' build/.config
-
     make -j4 CC=gcc EXTRA_CFLAGS='-fPIC'
     EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/build"
     echo "Installed DPDK source in $(pwd)"
@@ -168,8 +164,6 @@ if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
         DPDK_VER="19.11"
     fi
     install_dpdk $DPDK_VER
-    # Enable pdump support in OVS.
-    EXTRA_OPTS="${EXTRA_OPTS} --enable-dpdk-pdump"
     if [ "$CC" = "clang" ]; then
         # Disregard cast alignment errors until DPDK is fixed
         CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"
diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index 22976a3cd..691f345ec 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -36,7 +36,6 @@ DOC_SOURCE = \
 	Documentation/topics/dpdk/bridge.rst \
 	Documentation/topics/dpdk/jumbo-frames.rst \
 	Documentation/topics/dpdk/memory.rst \
-	Documentation/topics/dpdk/pdump.rst \
 	Documentation/topics/dpdk/phy.rst \
 	Documentation/topics/dpdk/pmd.rst \
 	Documentation/topics/dpdk/qos.rst \
diff --git a/Documentation/topics/dpdk/index.rst b/Documentation/topics/dpdk/index.rst
index f2862ea70..336dcc56b 100644
--- a/Documentation/topics/dpdk/index.rst
+++ b/Documentation/topics/dpdk/index.rst
@@ -38,6 +38,5 @@ DPDK Support
    /topics/dpdk/vdev
    /topics/dpdk/pmd
    /topics/dpdk/qos
-   /topics/dpdk/pdump
    /topics/dpdk/jumbo-frames
    /topics/dpdk/memory
diff --git a/Documentation/topics/dpdk/pdump.rst b/Documentation/topics/dpdk/pdump.rst
deleted file mode 100644
index ce03b327a..000000000
--- a/Documentation/topics/dpdk/pdump.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-..
-      Licensed under the Apache License, Version 2.0 (the "License"); you may
-      not use this file except in compliance with the License. You may obtain
-      a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-      License for the specific language governing permissions and limitations
-      under the License.
-
-      Convention for heading levels in Open vSwitch documentation:
-
-      =======  Heading 0 (reserved for the title in a document)
-      -------  Heading 1
-      ~~~~~~~  Heading 2
-      +++++++  Heading 3
-      '''''''  Heading 4
-
-      Avoid deeper levels because they do not render well.
-
-=====
-pdump
-=====
-
-.. versionadded:: 2.6.0
-
-.. warning::
-
-   DPDK pdump support is deprecated in OVS and will be removed in next
-   releases.
-
-pdump allows you to listen on DPDK ports and view the traffic that is passing
-on them. To use this utility, one must have libpcap installed on the system.
-Furthermore, DPDK must be built with ``CONFIG_RTE_LIBRTE_PDUMP=y`` and
-``CONFIG_RTE_LIBRTE_PMD_PCAP=y``. OVS should be built with
-``--enable-dpdk-pdump`` configuration option.
-
-.. warning::
-
-   A performance decrease is expected when using a monitoring application like
-   the DPDK pdump app.
-
-To use pdump, simply launch OVS as usual, then navigate to the ``app/pdump``
-directory in DPDK, ``make`` the application and run like so::
-
-    $ sudo ./build/app/dpdk-pdump -- \
-        --pdump port=0,queue=0,rx-dev=/tmp/pkts.pcap
-
-The above command captures traffic received on queue 0 of port 0 and stores it
-in ``/tmp/pkts.pcap``. Other combinations of port numbers, queues numbers and
-pcap locations are of course also available to use. For example, to capture all
-packets that traverse port 0 in a single pcap file::
-
-    $ sudo ./build/app/dpdk-pdump -- \
-        --pdump 'port=0,queue=*,rx-dev=/tmp/pkts.pcap,tx-dev=/tmp/pkts.pcap'
-
-.. note::
-
-   ``XDG_RUNTIME_DIR`` environment variable might need to be adjusted to
-   OVS runtime directory (``/var/run/openvswitch`` in most cases) for
-   ``dpdk-pdump`` utility if OVS started by non-root user.
-
-Many tools are available to view the contents of the pcap file. Once example is
-tcpdump. Issue the following command to view the contents of ``pkts.pcap``::
-
-    $ tcpdump -r pkts.pcap
-
-More information on the pdump app and its usage can be found in the `DPDK
-documentation`__.
-
-__ http://dpdk.org/doc/guides/tools/pdump.html
diff --git a/NEWS b/NEWS
index f62ef1f47..c58a9014e 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@ Post-v2.13.0
    - OpenFlow:
      * The OpenFlow ofp_desc/serial_num may now be configured by setting the
        value of other-config:dp-sn in the Bridge table.
+   - DPDK:
+     * Deprecated DPDK pdump packet capture support removed.
 
 
 v2.13.0 - 14 Feb 2020
diff --git a/acinclude.m4 b/acinclude.m4
index 1212a463e..9338af947 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -359,25 +359,6 @@ AC_DEFUN([OVS_CHECK_DPDK], [
       AC_DEFINE([VHOST_NUMA], [1], [NUMA Aware vHost support detected in DPDK.])
     ], [], [[#include <rte_config.h>]])
 
-   AC_MSG_CHECKING([whether DPDK pdump support is enabled])
-   AC_ARG_ENABLE(
-     [dpdk-pdump],
-     [AC_HELP_STRING([--enable-dpdk-pdump],
-                     [Enable DPDK pdump packet capture support])],
-     [AC_MSG_RESULT([yes])
-      AC_MSG_WARN([DPDK pdump is deprecated, consider using ovs-tcpdump instead])
-      AC_CHECK_DECL([RTE_LIBRTE_PMD_PCAP], [
-        OVS_FIND_DEPENDENCY([pcap_dump], [pcap], [libpcap])
-        AC_CHECK_DECL([RTE_LIBRTE_PDUMP], [
-          AC_DEFINE([DPDK_PDUMP], [1], [DPDK pdump enabled in OVS.])
-        ], [
-          AC_MSG_ERROR([RTE_LIBRTE_PDUMP is not defined in rte_config.h])
-        ], [[#include <rte_config.h>]])
-      ], [
-        AC_MSG_ERROR([RTE_LIBRTE_PMD_PCAP is not defined in rte_config.h])
-      ], [[#include <rte_config.h>]])],
-      [AC_MSG_RESULT([no])])
-
     AC_CHECK_DECL([RTE_LIBRTE_MLX5_PMD], [dnl found
       OVS_FIND_DEPENDENCY([mnl_attr_put], [mnl], [libmnl])
       AC_CHECK_DECL([RTE_IBVERBS_LINK_DLOPEN], [], [dnl not found
diff --git a/lib/dpdk.c b/lib/dpdk.c
index 37ea2973c..31450d470 100644
--- a/lib/dpdk.c
+++ b/lib/dpdk.c
@@ -26,9 +26,6 @@
 #include <rte_log.h>
 #include <rte_memzone.h>
 #include <rte_version.h>
-#ifdef DPDK_PDUMP
-#include <rte_pdump.h>
-#endif
 
 #include "dirs.h"
 #include "fatal-signal.h"
@@ -431,15 +428,6 @@ dpdk_init__(const struct smap *ovs_other_config)
     /* We are called from the main thread here */
     RTE_PER_LCORE(_lcore_id) = NON_PMD_CORE_ID;
 
-#ifdef DPDK_PDUMP
-    VLOG_WARN("DPDK pdump support is deprecated and "
-              "will be removed in next OVS releases.");
-    err = rte_pdump_init();
-    if (err) {
-        VLOG_INFO("Error initialising DPDK pdump");
-    }
-#endif
-
     /* Finally, register the dpdk classes */
     netdev_dpdk_register();
     netdev_register_flow_api_provider(&netdev_offload_dpdk);
-- 
2.24.1



More information about the dev mailing list