[ovs-dev] [PATCH] dpdk: announce deprecation of vhost-user server ports

Darrell Ball dball at vmware.com
Fri Jun 9 16:27:26 UTC 2017



On 6/9/17, 6:41 AM, "Aaron Conole" <aconole at redhat.com> wrote:

    Hi Sean, and Mark,
    
    "Mooney, Sean K" <sean.k.mooney at intel.com> writes:
    
    >> -----Original Message-----
    >> From: Aaron Conole [mailto:aconole at redhat.com]
    >> Sent: Thursday, June 8, 2017 8:12 PM
    >> To: Kevin Traynor <ktraynor at redhat.com>
    >> Cc: dev at openvswitch.org; Darrell Ball <dball at vmware.com>; Loftus, Ciara
    >> <ciara.loftus at intel.com>; Mooney, Sean K <sean.k.mooney at intel.com>
    >> Subject: Re: [PATCH] dpdk: announce deprecation of vhost-user server
    >> ports
    >> 
    >> Hi Kevin,
    >> 
    >> Kevin Traynor <ktraynor at redhat.com> writes:
    >> 
    >> > On 06/07/2017 11:46 PM, Aaron Conole wrote:
    >> >> Since vhost-user server mode ports are the preferred mechanism for
    >> >> interconnecting Open vSwitch with VMs when using DPDK, and since
    >> >> there are currently no known use cases for vhost-user server mode
    >> >> ports apart from version incompatibilities with QEMU, announce that
    >> >> server mode ports are considered deprecated and will be removed in a
    >> future release.
    >
    > [Mooney, Sean K] not to be pedantic but you contradicted your self her. First sentence
    > You say vhost-user server mode ports are preferred then you say lets remove them.
    > I would suggest you use the interface names instead and say
    > dpdkvhostuser when referring to what will be removed
    > Server mode port is ambigious since its not clear if you are referring
    > to qemu or dpdk when you say server mode.
    
    The mistake was pointed out - unfortunately it was already applied.
    
    Sorry for the confusion.


Ouch.
Since this is a documentation patch for the most part, maybe most
people will just refer to the documentation itself and not notice the extra
‘server’ word in the commit message.

It is a bit odd to say
“this is the preferred method and therefore we going to nuke it” (

    >> >>
    >> >> Cc: Ciara Loftus <ciara.loftus at intel.com>
    >> >> Cc: Kevin Traynor <ktraynor at redhat.com>
    >> >> Suggested-by: Darrell Ball <dball at vmware.com>
    >> >> Signed-off-by: Aaron Conole <aconole at redhat.com>
    >> >> ---
    >> >>  Documentation/topics/dpdk/vhost-user.rst | 24 ++++++++++++++++-----
    >> ---
    >> >>  NEWS                                     |  2 ++
    >> >>  lib/netdev-dpdk.c                        |  2 ++
    >> >>  3 files changed, 20 insertions(+), 8 deletions(-)
    >> >>
    >> >> diff --git a/Documentation/topics/dpdk/vhost-user.rst
    >> >> b/Documentation/topics/dpdk/vhost-user.rst
    >> >> index a1c19fd..9d36cf2 100644
    >> >> --- a/Documentation/topics/dpdk/vhost-user.rst
    >> >> +++ b/Documentation/topics/dpdk/vhost-user.rst
    >> >> @@ -32,13 +32,19 @@ documentation`_ on same.
    >> >>  Quick Example
    >> >>  -------------
    >> >>
    >> >> -This example demonstrates how to add two ``dpdkvhostuser`` ports to
    >> >> an existing -bridge called ``br0``::
    >> >> +This example demonstrates how to add two ``dpdkvhostuserclient``
    >> >> +ports to an existing bridge called ``br0``::
    >> >>
    >> >> -    $ ovs-vsctl add-port br0 dpdkvhostuser0 \
    >> >> -        -- set Interface dpdkvhostuser0 type=dpdkvhostuser
    >> >> -    $ ovs-vsctl add-port br0 dpdkvhostuser1 \
    >> >> -        -- set Interface dpdkvhostuser1 type=dpdkvhostuser
    >> >> +    $ ovs-vsctl add-port br0 dpdkvhostclient0 \
    >> >> +        -- set Interface dpdkvhostclient0 type=dpdkvhostuserclient
    >> \
    >> >> +           options:vhost-server-path=/tmp/dpdkvhostclient0
    >> >> +    $ ovs-vsctl add-port br0 dpdkvhostclient1 \
    >> >> +        -- set Interface dpdkvhostclient1 type=dpdkvhostuserclient
    >> \
    >> >> +           options:vhost-server-path=/tmp/dpdkvhostclient1
    >> >> +
    >> >> +For the above examples to work, an appropriate server socket must
    >> be
    >> >> +created at the paths specified (``/tmp/dpdkvhostclient0`` and
    >> >> +``/tmp/dpdkvhostclient0``).
    >> >
    >> > You could mention QEMU here. So the reader knows where to look.
    >> > "These can be created by QEMU. See below for details."?
    >> 
    >> Good idea.  I'll add it.
    >> 
    >> Thanks for the review!
    >> 
    >> >>  vhost-user vs. vhost-user-client
    >> >>  --------------------------------
    >> >> @@ -59,7 +65,8 @@ means if OVS dies, all VMs **must** be restarted.
    >> >> On the other hand, for  vhost-user-client ports, OVS acts as the
    >> >> client and QEMU the server. This means  OVS can die and be restarted
    >> >> without issue, and it is also possible to restart  an instance
    >> >> itself. For this reason, vhost-user-client ports are the preferred -
    >> type for most use cases.
    >> >> +type for most use cases.  Ports of type vhost-user are currently
    >> >> +deprecated and will be removed in a future release.
    >> >>
    >> >>  .. _dpdk-vhost-user:
    >> >>
    >> >> @@ -68,7 +75,8 @@ vhost-user
    >> >>
    >> >>  .. important::
    >> >>
    >> >> -   Use of vhost-user ports requires QEMU >= 2.2
    >> >> +   Use of vhost-user ports requires QEMU >= 2.2;  vhost-user ports
    >> are
    >> >> +   *deprecated*.
    >> >>
    >> >>  To use vhost-user ports, you must first add said ports to the
    >> >> switch. DPDK  vhost-user ports can have arbitrary names with the
    >> >> exception of forward and diff --git a/NEWS b/NEWS index
    >> >> 82004c8..b81d033 100644
    >> >> --- a/NEWS
    >> >> +++ b/NEWS
    >> >> @@ -16,6 +16,8 @@ Post-v2.7.0
    >> >>         Log level can be changed in a usual OVS way using
    >> >>         'ovs-appctl vlog' commands for 'dpdk' module. Lower bound
    >> >>         still can be configured via extra arguments for DPDK EAL.
    >> >> +     * dpdkvhostuser ports are marked as deprecated.  They will be
    >> removed
    >> >> +       in an upcoming release.
    >> >>     - IPFIX now provides additional counters:
    >> >>       * Total counters since metering process startup.
    >> >>       * Per-flow TCP flag counters.
    >> >> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index
    >> >> b770b70..9ab4aeb 100644
    >> >> --- a/lib/netdev-dpdk.c
    >> >> +++ b/lib/netdev-dpdk.c
    >> >> @@ -966,6 +966,8 @@ netdev_dpdk_vhost_construct(struct netdev
    >> *netdev)
    >> >>      err = vhost_common_construct(netdev);
    >> >>
    >> >>      ovs_mutex_unlock(&dpdk_mutex);
    >> >> +    VLOG_WARN_ONCE("dpdkvhostuser ports are considered deprecated;
    >> "
    >> >> +                   "please migrate to dpdkvhostuserclient ports.");
    >> >>      return err;
    >> >>  }
    >> >>
    >> >>
    



More information about the dev mailing list