[ovs-dev] Issue with OVS 2.9.0, DPDK 18.02 and vhost-user

Ravi Kerur rkerur at gmail.com
Thu Jun 14 11:45:21 UTC 2018


On Wed, Jun 13, 2018 at 9:50 AM Ian Stokes <ian.stokes at intel.com> wrote:

> On 6/12/2018 9:50 PM, Ravi Kerur wrote:
> >
> >
> > On Tue, Jun 12, 2018 at 3:31 AM, Stokes, Ian <ian.stokes at intel.com
> > <mailto:ian.stokes at intel.com>> wrote:
> >
> >     > Hi,
> >     >
> >     > I have used first link to install, compile and run OVS 2.9.0 and
> DPDK
> >     > 18.02, second link to configure vhost-client ports. However, facing
> >     > several issues when configured as per the documentation. Inputs
> >     > appreciated.
> >     >
> >     > http://docs.openvswitch.org/en/latest/intro/install/dpdk/
> >     <http://docs.openvswitch.org/en/latest/intro/install/dpdk/>
> >     >
> >     > http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/
> >     <http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/>
> >     >
> >
> >     Is there a specific reason you require DPDK 18.02?
> >
> >     DPDK 17.11 is the latest officially support DPDK for OVS, I'd
> >     recommend testing with this as I'm not sure how well validated DPDK
> >     18.02 is.
> >
> >     In testing I also found that OVS will fail to compile with 18.02 due
> >     to 'rte_eth_find_next_owned_by' not being part of the stable ABI.
> >
> >     The list of supported DPDK to OVS mappings can be found in the
> >     release doc below.
> >
> >     http://docs.openvswitch.org/en/latest/faq/releases/
> >     <http://docs.openvswitch.org/en/latest/faq/releases/>
> >
> >
> > Thanks Ian. I am currently using OVS 2.9 and DPDK 18.02 seperately for
> > different things, hence thought of trying with that first. I was able to
> > compile and run as shown in the logs.  Issue was I didn't specify
> > 'datapath_type=netdev' when adding the bridge. Deleting and adding the
> > bridge with 'datapath_type', I was able to add dpdkvhostclient ports on
> > the bridge.
> >
> > Having said that, I decided to try 'ovs-master' + dpdk-17.11 as
> > mentioned in the link and was able to run everything with Tx/Rx packets.
> > Some clarifications I need. My testbed has physical host + containers.
> >
> > (1) tried with dpdkvhostuser (server port on OVS on host) and
> > virtio-user-client (testpmd/dpdk on containers). Was able to configure
> > and run traffic. I do see following messages in log file
> >
> > 2018-06-12T15:51:39.152Z|00080|netdev_dpdk|WARN|dpdkvhostuser ports are
> > considered deprecated;  please migrate to dpdkvhostuserclient ports.
> >
> > Any reason why dpdkvhostuser is not recommended or being deprecated?
>

Thanks for the pointers. Since the message says 'deprecated' I wasn't sure
functionality will be available in future releases.

>
>
> Sure, the documentation explains it best:
>
> "vHost User uses a client-server model. The server
> creates/manages/destroys the vHost User sockets, and the client connects
> to the server. Depending on which port type you use, dpdkvhostuser or
> dpdkvhostuserclient, a different configuration of the client-server
> model is used.
>
> For vhost-user ports, Open vSwitch acts as the server and QEMU the
> client. This 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 all known use cases;
> the only limitation is that vhost-user client mode ports require QEMU
> version 2.7. Ports of type vhost-user are currently deprecated and will
> be removed in a future release."
>
>
> http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/#vhost-user-vs-vhost-user-client
>
> > (2) tried with dpdkvhostuserclient (client port OVS on host) and
> > virtio-user-server (testpmd/dpdk on containers). Was unable to
> > configure. Any examples available for this?
>
> I haven't tried this setup myself to date.
>
> Are you running DPDK 18.05 in the container? Just looking for references
> to virtio-server-mode and I only spotted it in the 18.05 release notes.
>
>  From the DPDK 18.05 release notes:
>
> Added support for virtio-user server mode.
>
> In a container environment if the vhost-user backend restarts, there’s
> no way for it to reconnect to virtio-user. To address this, support for
> server mode has been added. In this mode the socket file is created by
> virtio-user, which the backend connects to. This means that if the
> backend restarts, it can reconnect to virtio-user and continue
> communications.
>
> https://dpdk.org/doc/guides/rel_notes/release_18_05.html
>
> Note this isn't available in DPDK 17.11.
>

Container dpdk version is 18.02. I will try with 18.05 soon. Thanks again
for your help.


> Ian
>


More information about the dev mailing list