On 6/12/2018 9:50 PM, Ravi Kerur wrote:
On Tue, Jun 12, 2018 at 3:31 AM, Stokes, Ian <ian.sto...@intel.com
> 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
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
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.
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
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?
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."
(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
Note this isn't available in DPDK 17.11.
dev mailing list