From patchwork Wed Oct 23 17:19:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1182345 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46yz461wMkz9sPF for ; Thu, 24 Oct 2019 05:12:22 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id E97BDC6E; Wed, 23 Oct 2019 18:11:51 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0E1FCC64 for ; Wed, 23 Oct 2019 18:11:50 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 277E98AD for ; Wed, 23 Oct 2019 18:11:48 +0000 (UTC) X-Originating-IP: 75.54.222.30 Received: from sigfpe.attlocal.net (75-54-222-30.lightspeed.rdcyca.sbcglobal.net [75.54.222.30]) (Authenticated sender: blp@ovn.org) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 62F1AFF805; Wed, 23 Oct 2019 18:11:44 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Wed, 23 Oct 2019 10:19:38 -0700 Message-Id: <20191023171939.6414-2-blp@ovn.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191023171939.6414-1-blp@ovn.org> References: <20191023171939.6414-1-blp@ovn.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ben Pfaff , Jianjun Shen Subject: [ovs-dev] [PATCH v3 1/2] faq: Give specific versions that introduced various features. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Some users would find it useful to know the particular OVS version that introduced a feature to the OVS tree kernel module or to the OVS userspace (DPDK) datapath implementation. This patch updates the FAQ to include that information. This information is primarily gleaned from the top-level NEWS file. For most of these, I did not verify them by looking carefully through the history, so some of them may be inaccurate, although a few people made corrections in review. Requested-by: Jianjun Shen Signed-off-by: Ben Pfaff --- Documentation/faq/releases.rst | 60 +++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst index ec6f90916064..1dd491266f79 100644 --- a/Documentation/faq/releases.rst +++ b/Documentation/faq/releases.rst @@ -97,41 +97,47 @@ Q: Are all features available with all datapaths? OVS source tree. Userspace - Also known as DPDK, dpif-netdev or dummy datapath. It is the only - datapath that works on NetBSD, FreeBSD and Mac OSX. + This datapath supports conventional system devices as well as + DPDK and AF_XDP devices when support for those is built. This + is the only datapath that works on NetBSD, FreeBSD and Mac OSX. Hyper-V Also known as the Windows datapath. - The following table lists the datapath supported features from an Open - vSwitch user's perspective. + The following table lists the datapath supported features from an + Open vSwitch user's perspective. The "Linux upstream" column + lists the Linux kernel version that introduced a given feature + into its kernel module. The "Linux OVS tree" and "Userspace" + columns list the Open vSwitch release versions that introduced a + given feature into the included kernel module or the userspace + datapath, respectively. ========================== ============== ============== ========= ======= Feature Linux upstream Linux OVS tree Userspace Hyper-V ========================== ============== ============== ========= ======= - Connection tracking 4.3 YES YES YES - Conntrack Fragment Reass. 4.3 YES YES YES - Conntrack Timeout Policies 5.2 YES NO NO - Conntrack Zone Limit 4.18 YES NO YES - NAT 4.6 YES YES YES - Tunnel - LISP NO YES NO NO - Tunnel - STT NO YES NO YES - Tunnel - GRE 3.11 YES YES YES - Tunnel - VXLAN 3.12 YES YES YES - Tunnel - Geneve 3.18 YES YES YES - Tunnel - GRE-IPv6 4.18 YES YES NO - Tunnel - VXLAN-IPv6 4.3 YES YES NO - Tunnel - Geneve-IPv6 4.4 YES YES NO - Tunnel - ERSPAN 4.18 YES YES NO - Tunnel - ERSPAN-IPv6 4.18 YES YES NO - QoS - Policing YES YES YES NO - QoS - Shaping YES YES NO NO - sFlow YES YES YES NO - IPFIX 3.10 YES YES YES - Set action YES YES YES PARTIAL - NIC Bonding YES YES YES YES - Multiple VTEPs YES YES YES YES - Meters 4.15 YES YES NO + Connection tracking 4.3 2.5 2.6 YES + Conntrack Fragment Reass. 4.3 2.6 2.10 YES + Conntrack Timeout Policies 5.2 2.12 NO NO + Conntrack Zone Limit 4.18 2.10 NO YES + NAT 4.6 2.6 2.8 YES + Tunnel - LISP NO 2.11 NO NO + Tunnel - STT NO 2.4 NO YES + Tunnel - GRE 3.11 1.0 2.4 YES + Tunnel - VXLAN 3.12 1.10 2.4 YES + Tunnel - Geneve 3.18 2.4 2.4 YES + Tunnel - GRE-IPv6 4.18 2.6 2.6 NO + Tunnel - VXLAN-IPv6 4.3 2.6 2.6 NO + Tunnel - Geneve-IPv6 4.4 2.6 2.6 NO + Tunnel - ERSPAN 4.18 2.10 2.10 NO + Tunnel - ERSPAN-IPv6 4.18 2.10 2.10 NO + QoS - Policing YES 1.1 2.6 NO + QoS - Shaping YES 1.1 NO NO + sFlow YES 1.0 1.0 NO + IPFIX 3.10 1.11 1.11 YES + Set action YES 1.0 1.0 PARTIAL + NIC Bonding YES 1.0 1.0 YES + Multiple VTEPs YES 1.10 1.10 YES + Meters 4.15 1.10 1.10 NO ========================== ============== ============== ========= ======= Do note, however: From patchwork Wed Oct 23 17:19:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1182347 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46yz4w5wTzz9sCJ for ; Thu, 24 Oct 2019 05:13:04 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id A1157C8B; Wed, 23 Oct 2019 18:11:56 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0F590C84 for ; Wed, 23 Oct 2019 18:11:55 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9C8838AD for ; Wed, 23 Oct 2019 18:11:53 +0000 (UTC) X-Originating-IP: 75.54.222.30 Received: from sigfpe.attlocal.net (75-54-222-30.lightspeed.rdcyca.sbcglobal.net [75.54.222.30]) (Authenticated sender: blp@ovn.org) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 27596FF806; Wed, 23 Oct 2019 18:11:47 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Wed, 23 Oct 2019 10:19:39 -0700 Message-Id: <20191023171939.6414-3-blp@ovn.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191023171939.6414-1-blp@ovn.org> References: <20191023171939.6414-1-blp@ovn.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ben Pfaff , Ilya Maximets Subject: [ovs-dev] [PATCH v3 2/2] docs: DPDK isn't a datapath, so don't use the term. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org The DPDK library allows OVS fast access to packet I/O in userspace. It is not a datapath. This commit avoids using that term. Suggested-by: Ilya Maximets Signed-off-by: Ben Pfaff Acked-by: Ilya Maximets --- Documentation/howto/dpdk.rst | 11 ++++++----- Documentation/howto/userspace-tunneling.rst | 4 ++-- Documentation/intro/install/distributions.rst | 4 ++-- Documentation/intro/install/dpdk.rst | 6 +++--- Documentation/topics/dpdk/bridge.rst | 7 ++++--- Documentation/topics/dpdk/index.rst | 6 +++--- Documentation/topics/dpdk/phy.rst | 10 +++++----- Documentation/topics/dpdk/pmd.rst | 6 +++--- Documentation/topics/dpdk/ring.rst | 2 +- Documentation/topics/dpdk/vhost-user.rst | 2 +- Documentation/topics/testing.rst | 4 ++-- acinclude.m4 | 2 +- tests/system-dpdk.at | 10 +++++----- vswitchd/ovs-vswitchd.8.in | 5 ++--- 14 files changed, 40 insertions(+), 39 deletions(-) diff --git a/Documentation/howto/dpdk.rst b/Documentation/howto/dpdk.rst index 6397d25f16ad..766a7950ce9b 100644 --- a/Documentation/howto/dpdk.rst +++ b/Documentation/howto/dpdk.rst @@ -25,14 +25,15 @@ Using Open vSwitch with DPDK ============================ -This document describes how to use Open vSwitch with DPDK datapath. +This document describes how to use Open vSwitch with DPDK. .. important:: - Using the DPDK datapath requires building OVS with DPDK support. The - mapping of OVS version to DPDK can vary between releases. For version - mapping information refer to :doc:`releases FAQ `. For - build instructions refer to :doc:`/intro/install/dpdk`. + Using DPDK with OVS requires configuring OVS at build time to use + the DPDK library. The version of DPDK that OVS supports varies + from one OVS release to another, as described in the :doc:`releases + FAQ `. For build instructions refer to + :doc:`/intro/install/dpdk`. Ports and Bridges ----------------- diff --git a/Documentation/howto/userspace-tunneling.rst b/Documentation/howto/userspace-tunneling.rst index 1b9d8b9eb469..0122ce76e9b7 100644 --- a/Documentation/howto/userspace-tunneling.rst +++ b/Documentation/howto/userspace-tunneling.rst @@ -74,8 +74,8 @@ Two Physical Hosts The environment assumes the use of two hosts, named `host1` and `host2`. We only detail the configuration of `host1` but a similar configuration can be used for `host2`. Both hosts should be configured with Open vSwitch (with or -without the DPDK datapath), QEMU/KVM and suitable VM images. Open vSwitch -should be running before proceeding. +without DPDK), QEMU/KVM and suitable VM images. Open vSwitch should be running +before proceeding. Configuration Steps ------------------- diff --git a/Documentation/intro/install/distributions.rst b/Documentation/intro/install/distributions.rst index 5987178eaafc..54362c0a495e 100644 --- a/Documentation/intro/install/distributions.rst +++ b/Documentation/intro/install/distributions.rst @@ -46,8 +46,8 @@ that includes the core userspace components of the switch. automatically build and install Open vSwitch kernel module for your running kernel. -3. For DPDK datapath, Open vSwitch with DPDK support is bundled in the package -``openvswitch-switch-dpdk``. +3. For fast userspace switching, Open vSwitch with DPDK support is +bundled in the package ``openvswitch-switch-dpdk``. Fedora ------ diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst index 6e5f1ea60af2..50de7fbac7bf 100644 --- a/Documentation/intro/install/dpdk.rst +++ b/Documentation/intro/install/dpdk.rst @@ -107,8 +107,8 @@ Install DPDK Install OVS ~~~~~~~~~~~ -OVS can be installed using different methods. For OVS to use DPDK datapath, it -has to be configured with DPDK support (``--with-dpdk``). +OVS can be installed using different methods. For OVS to use DPDK, it +has to be configured to build against the DPDK library (``--with-dpdk``). .. note:: This section focuses on generic recipe that suits most cases. For @@ -288,7 +288,7 @@ with either the ovs-vswitchd logs, or by running either of the commands:: "DPDK 17.11.0" At this point you can use ovs-vsctl to set up bridges and other Open vSwitch -features. Seeing as we've configured the DPDK datapath, we will use DPDK-type +features. Seeing as we've configured DPDK support, we will use DPDK-type ports. For example, to create a userspace bridge named ``br0`` and add two ``dpdk`` ports to it, run:: diff --git a/Documentation/topics/dpdk/bridge.rst b/Documentation/topics/dpdk/bridge.rst index 4ca79a4abd58..d9bc7eba4230 100644 --- a/Documentation/topics/dpdk/bridge.rst +++ b/Documentation/topics/dpdk/bridge.rst @@ -25,13 +25,14 @@ DPDK Bridges ============ -The DPDK datapath requires specially configured bridge(s) in order to utilize -DPDK-backed :doc:`physical ` and :doc:`virtual ` ports. +Bridge must be specially configured to utilize DPDK-backed +:doc:`physical ` and :doc:`virtual ` ports. Quick Example ------------- -This example demonstrates how to add a bridge using the DPDK datapath:: +This example demonstrates how to add a bridge that will take advantage +of DPDK:: $ ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev diff --git a/Documentation/topics/dpdk/index.rst b/Documentation/topics/dpdk/index.rst index cf24a7b6d47d..f2862ea7019a 100644 --- a/Documentation/topics/dpdk/index.rst +++ b/Documentation/topics/dpdk/index.rst @@ -21,9 +21,9 @@ Avoid deeper levels because they do not render well. -================= -The DPDK Datapath -================= +============ +DPDK Support +============ .. NOTE(stephenfin): Part of this doc is included in 'howto/dpdk'. Update that .. if you modify this document diff --git a/Documentation/topics/dpdk/phy.rst b/Documentation/topics/dpdk/phy.rst index 93d74df45286..9f36e8dfc12c 100644 --- a/Documentation/topics/dpdk/phy.rst +++ b/Documentation/topics/dpdk/phy.rst @@ -125,11 +125,11 @@ Multiqueue ---------- Poll Mode Driver (PMD) threads are the threads that do the heavy lifting for -the DPDK datapath. Correct configuration of PMD threads and the Rx queues they -utilize is a requirement in order to deliver the high-performance possible with -DPDK acceleration. It is possible to configure multiple Rx queues for ``dpdk`` -ports, thus ensuring this is not a bottleneck for performance. For information -on configuring PMD threads, refer to :doc:`pmd`. +DPDK userspace switching. Correct configuration of PMD threads and the Rx +queues they utilize is a requirement in order to deliver the high-performance +possible with DPDK acceleration. It is possible to configure multiple Rx queues +for ``dpdk`` ports, thus ensuring this is not a bottleneck for performance. For +information on configuring PMD threads, refer to :doc:`pmd`. .. _dpdk-phy-flow-control: diff --git a/Documentation/topics/dpdk/pmd.rst b/Documentation/topics/dpdk/pmd.rst index b0e19d794b7c..ffa74f0c0043 100644 --- a/Documentation/topics/dpdk/pmd.rst +++ b/Documentation/topics/dpdk/pmd.rst @@ -26,9 +26,9 @@ PMD Threads =========== Poll Mode Driver (PMD) threads are the threads that do the heavy lifting for -the DPDK datapath and perform tasks such as continuous polling of input ports -for packets, classifying packets once received, and executing actions on the -packets once they are classified. +DPDK userspace switching. They perform tasks such as continuous polling of +input ports for packets, classifying packets once received, and executing +actions on the packets once they are classified. PMD threads utilize Receive (Rx) and Transmit (Tx) queues, commonly known as *rxq*\s and *txq*\s. While Tx queue configuration happens automatically, Rx diff --git a/Documentation/topics/dpdk/ring.rst b/Documentation/topics/dpdk/ring.rst index e48b44ce8038..af0531178ab7 100644 --- a/Documentation/topics/dpdk/ring.rst +++ b/Documentation/topics/dpdk/ring.rst @@ -32,7 +32,7 @@ DPDK Ring Ports :doc:`vhost-user ports ` are a better choice and should be used instead. -The DPDK datapath provides DPDK-backed ring ports that are implemented using +OVS DPDK support provides DPDK-backed ring ports that are implemented using DPDK's ``librte_ring`` library. For more information on this library, refer to the `DPDK documentation`_. diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst index fab87bd3dbe7..73647dcda257 100644 --- a/Documentation/topics/dpdk/vhost-user.rst +++ b/Documentation/topics/dpdk/vhost-user.rst @@ -25,7 +25,7 @@ DPDK vHost User Ports ===================== -The DPDK datapath provides DPDK-backed vHost user ports as a primary way to +OVS support for DPDK provides DPDK-backed vHost user ports as a primary way to interact with guests. For more information on vHost User, refer to the `QEMU documentation`_ on same. diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst index 31433c591744..8b5d268e02df 100644 --- a/Documentation/topics/testing.rst +++ b/Documentation/topics/testing.rst @@ -324,8 +324,8 @@ The results of the testsuite are in ``tests/system-userspace-testsuite.dir``. All the features documented under `Unit Tests`_ are available for the userspace datapath testsuite. -DPDK datapath -''''''''''''' +Userspace datapath with DPDK +'''''''''''''''''''''''''''' To test :doc:`/intro/install/dpdk` (i.e., the build was configured with ``--with-dpdk``, the DPDK is installed), run the testsuite and generate diff --git a/acinclude.m4 b/acinclude.m4 index 07c83b15bcbc..2eb8892fbfc8 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -289,7 +289,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [ [Specify the DPDK build directory])], [have_dpdk=true]) - AC_MSG_CHECKING([whether dpdk datapath is enabled]) + AC_MSG_CHECKING([whether dpdk is enabled]) if test "$have_dpdk" != true || test "$with_dpdk" = no; then AC_MSG_RESULT([no]) DPDKLIB_FOUND=false diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index 1da020aba0c7..a015d52f7935 100644 --- a/tests/system-dpdk.at +++ b/tests/system-dpdk.at @@ -5,7 +5,7 @@ AT_BANNER([OVS-DPDK unit tests]) dnl -------------------------------------------------------------------------- dnl Check if EAL init is successful -AT_SETUP([OVS-DPDK datapath - EAL init]) +AT_SETUP([OVS-DPDK - EAL init]) AT_KEYWORDS([dpdk]) OVS_DPDK_PRE_CHECK() OVS_DPDK_START() @@ -23,7 +23,7 @@ dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- dnl Add standard DPDK PHY port -AT_SETUP([OVS-DPDK datapath - add standard DPDK port]) +AT_SETUP([OVS-DPDK - add standard DPDK port]) AT_KEYWORDS([dpdk]) OVS_DPDK_PRE_PHY_SKIP() @@ -50,7 +50,7 @@ dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- dnl Add vhost-user-client port -AT_SETUP([OVS-DPDK datapath - add vhost-user-client port]) +AT_SETUP([OVS-DPDK - add vhost-user-client port]) AT_KEYWORDS([dpdk]) OVS_DPDK_PRE_CHECK() OVS_DPDK_START() @@ -82,7 +82,7 @@ dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- dnl Ping vhost-user port -AT_SETUP([OVS-DPDK datapath - ping vhost-user ports]) +AT_SETUP([OVS-DPDK - ping vhost-user ports]) AT_KEYWORDS([dpdk]) OVS_DPDK_PRE_CHECK() AT_SKIP_IF([! which testpmd >/dev/null 2>/dev/null]) @@ -159,7 +159,7 @@ dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- dnl Ping vhost-user-client port -AT_SETUP([OVS-DPDK datapath - ping vhost-user-client ports]) +AT_SETUP([OVS-DPDK - ping vhost-user-client ports]) AT_KEYWORDS([dpdk]) OVS_DPDK_PRE_CHECK() AT_SKIP_IF([! which testpmd >/dev/null 2>/dev/null]) diff --git a/vswitchd/ovs-vswitchd.8.in b/vswitchd/ovs-vswitchd.8.in index a5cdc3aa4991..63df1541c848 100644 --- a/vswitchd/ovs-vswitchd.8.in +++ b/vswitchd/ovs-vswitchd.8.in @@ -79,9 +79,8 @@ only allow privileged users, such as the superuser, to use it. unavailable or unsuccessful. . .SS "DPDK Options" -For details on initializing the \fBovs\-vswitchd\fR DPDK datapath, -refer to the documentation or \fBovs\-vswitchd.conf.db\fR(5) for -details. +For details on initializing \fBovs\-vswitchd\fR to use DPDK ports, +refer to the documentation or \fBovs\-vswitchd.conf.db\fR(5). .SS "Daemon Options" .ds DD \ \fBovs\-vswitchd\fR detaches only after it has connected to the \