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)"
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"
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 \
/topics/dpdk/vdev
/topics/dpdk/pmd
/topics/dpdk/qos
- /topics/dpdk/pdump
/topics/dpdk/jumbo-frames
/topics/dpdk/memory
+++ /dev/null
-..
- 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
- 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
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
#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"
/* 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);