2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-22 18:07:40 +00:00

dpdk: Remove deprecated pdump support.

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.")

Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
Ilya Maximets 2020-02-28 17:33:07 +01:00
parent 704ae35726
commit 4cf89cb074
7 changed files with 2 additions and 113 deletions

View File

@ -124,10 +124,6 @@ function install_dpdk()
sed -i '/CONFIG_RTE_EAL_IGB_UIO=y/s/=y/=n/' build/.config 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 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' make -j4 CC=gcc EXTRA_CFLAGS='-fPIC'
EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/build" EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=$(pwd)/build"
echo "Installed DPDK source in $(pwd)" echo "Installed DPDK source in $(pwd)"
@ -168,8 +164,6 @@ if [ "$DPDK" ] || [ "$DPDK_SHARED" ]; then
DPDK_VER="19.11" DPDK_VER="19.11"
fi fi
install_dpdk $DPDK_VER install_dpdk $DPDK_VER
# Enable pdump support in OVS.
EXTRA_OPTS="${EXTRA_OPTS} --enable-dpdk-pdump"
if [ "$CC" = "clang" ]; then if [ "$CC" = "clang" ]; then
# Disregard cast alignment errors until DPDK is fixed # Disregard cast alignment errors until DPDK is fixed
CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align" CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-cast-align"

View File

@ -36,7 +36,6 @@ DOC_SOURCE = \
Documentation/topics/dpdk/bridge.rst \ Documentation/topics/dpdk/bridge.rst \
Documentation/topics/dpdk/jumbo-frames.rst \ Documentation/topics/dpdk/jumbo-frames.rst \
Documentation/topics/dpdk/memory.rst \ Documentation/topics/dpdk/memory.rst \
Documentation/topics/dpdk/pdump.rst \
Documentation/topics/dpdk/phy.rst \ Documentation/topics/dpdk/phy.rst \
Documentation/topics/dpdk/pmd.rst \ Documentation/topics/dpdk/pmd.rst \
Documentation/topics/dpdk/qos.rst \ Documentation/topics/dpdk/qos.rst \

View File

@ -38,6 +38,5 @@ DPDK Support
/topics/dpdk/vdev /topics/dpdk/vdev
/topics/dpdk/pmd /topics/dpdk/pmd
/topics/dpdk/qos /topics/dpdk/qos
/topics/dpdk/pdump
/topics/dpdk/jumbo-frames /topics/dpdk/jumbo-frames
/topics/dpdk/memory /topics/dpdk/memory

View File

@ -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

2
NEWS
View File

@ -4,6 +4,8 @@ Post-v2.13.0
- OpenFlow: - OpenFlow:
* The OpenFlow ofp_desc/serial_num may now be configured by setting the * The OpenFlow ofp_desc/serial_num may now be configured by setting the
value of other-config:dp-sn in the Bridge table. value of other-config:dp-sn in the Bridge table.
- DPDK:
* Deprecated DPDK pdump packet capture support removed.
v2.13.0 - 14 Feb 2020 v2.13.0 - 14 Feb 2020

View File

@ -359,25 +359,6 @@ AC_DEFUN([OVS_CHECK_DPDK], [
AC_DEFINE([VHOST_NUMA], [1], [NUMA Aware vHost support detected in DPDK.]) AC_DEFINE([VHOST_NUMA], [1], [NUMA Aware vHost support detected in DPDK.])
], [], [[#include <rte_config.h>]]) ], [], [[#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 AC_CHECK_DECL([RTE_LIBRTE_MLX5_PMD], [dnl found
OVS_FIND_DEPENDENCY([mnl_attr_put], [mnl], [libmnl]) OVS_FIND_DEPENDENCY([mnl_attr_put], [mnl], [libmnl])
AC_CHECK_DECL([RTE_IBVERBS_LINK_DLOPEN], [], [dnl not found AC_CHECK_DECL([RTE_IBVERBS_LINK_DLOPEN], [], [dnl not found

View File

@ -26,9 +26,6 @@
#include <rte_log.h> #include <rte_log.h>
#include <rte_memzone.h> #include <rte_memzone.h>
#include <rte_version.h> #include <rte_version.h>
#ifdef DPDK_PDUMP
#include <rte_pdump.h>
#endif
#include "dirs.h" #include "dirs.h"
#include "fatal-signal.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 */ /* We are called from the main thread here */
RTE_PER_LCORE(_lcore_id) = NON_PMD_CORE_ID; 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 */ /* Finally, register the dpdk classes */
netdev_dpdk_register(); netdev_dpdk_register();
netdev_register_flow_api_provider(&netdev_offload_dpdk); netdev_register_flow_api_provider(&netdev_offload_dpdk);