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

Stokes, Ian ian.stokes at intel.com
Tue Jun 12 10:31:26 UTC 2018


> 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/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/

> Following logs from  /usr/local/var/log/openvswitch/ovs-vswitchd.log shows
> OVS/DPDK initialized correctly.
> 
> 2018-06-11T21:15:06.028Z|00001|vlog|INFO|opened log file
> /usr/local/var/log/openvswitch/ovs-vswitchd.log
> 2018-06-11T21:15:06.032Z|00002|ovs_numa|INFO|Discovered 4 CPU cores on
> NUMA node 0 2018-06-11T21:15:06.032Z|00003|ovs_numa|INFO|Discovered 1 NUMA
> nodes and 4 CPU cores
> 2018-06-
> 11T21:15:06.032Z|00004|reconnect|INFO|unix:/usr/local/var/run/openvswitch/
> db.sock:
> connecting...
> 2018-06-
> 11T21:15:06.032Z|00005|reconnect|INFO|unix:/usr/local/var/run/openvswitch/
> db.sock:
> connected
> 2018-06-11T21:15:06.033Z|00006|dpdk|INFO|Using DPDK 18.02.0 2018-06-
> 11T21:15:06.033Z|00007|dpdk|INFO|DPDK Enabled - initializing...
> 2018-06-11T21:15:06.033Z|00008|dpdk|INFO|No vhost-sock-dir provided -
> defaulting to /usr/local/var/run/openvswitch 2018-06-
> 11T21:15:06.033Z|00009|dpdk|INFO|IOMMU support for vhost-user-client
> disabled.
> 2018-06-11T21:15:06.033Z|00010|dpdk|INFO|EAL ARGS: ovs-vswitchd --huge-dir
> /dev/hugepages_1G --socket-mem 2,0 --no-pci --file-prefix=host -c
> 0x00000001
> 2018-06-11T21:15:06.034Z|00011|dpdk|INFO|EAL: Detected 4 lcore(s)
> 2018-06-11T21:15:06.034Z|00012|dpdk|INFO|EAL: 2048 hugepages of size
> 2097152 reserved, but no mounted hugetlbfs found for that size
> 2018-06-11T21:15:06.035Z|00013|dpdk|INFO|EAL: Multi-process socket
> /var/run/.host_unix
> 2018-06-11T21:15:06.036Z|00014|dpdk|INFO|EAL: Probing VFIO support...
> 2018-06-11T21:15:06.036Z|00015|dpdk|INFO|EAL: VFIO support initialized
> 2018-06-11T21:15:06.902Z|00016|dpdk|WARN|EAL: WARNING: cpu flags
> constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !
> 2018-06-11T21:15:06.906Z|00017|dpdk|INFO|DPDK Enabled - initialized 2018-
> 06-11T21:15:06.906Z|00018|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.9.0
> 
> root# ovs-vswitchd --version
> ovs-vswitchd (Open vSwitch) 2.9.0
> DPDK 18.02.0
> 
> root# ovs-vsctl get Open_vSwitch . dpdk_version
> ovs-vsctl: Open_vSwitch does not contain a column whose name matches
> "dpdk_version"
> root# ovs-vsctl get Open_vSwitch . dpdk_initialized
> ovs-vsctl: Open_vSwitch does not contain a column whose name matches
> "dpdk_initialized"

The functionality above is only available on OVS master, it will be part of OVS 2.10 but is not part of OVS 2.9.

> 
> Creating dpdkvhostclient port spits out following error message
> 
> ovs-vsctl add-port br0 dpdkvhostclient0 -- set Interface dpdkvhostclient0
> type=dpdkvhostuserclient options:vhost-server-path=/tmp/dpdkvhostclient0

The command above looks ok.

> ovs-vsctl: Error detected while setting up 'dpdkvhostclient0': could not
> add network device dpdkvhostclient0 to ofproto (Invalid argument).  See
> ovs-vswitchd log for details.
> ovs-vsctl: The default log directory is "/usr/local/var/log/openvswitch".
> 

How are you adding the bridge? Can you confirm that it is set to datapath type netdev as below

ovs-vsctl add-br br0 -- set Bridge br0 datapath_type=netdev

Ian

> From the logs....
> 
> 2018-06-12T01:25:34.290Z|00071|dpif_netlink|WARN|system at ovs-system: cannot
> create port `vhost-user-1' because it has unsupported type
> `dpdkvhostuserclient'
> 2018-06-12T01:25:34.290Z|00072|dpif|WARN|system at ovs-system: failed to add
> vhost-user-1 as port: Invalid argument
> 2018-06-12T01:25:34.290Z|00073|bridge|WARN|could not add network device
> vhost-user-1 to ofproto (Invalid argument)
> 2018-06-12T01:25:37.214Z|00074|dpif|WARN|system at ovs-system: failed to
> query port dpdkvhostclient0: Invalid argument
> 2018-06-12T01:25:37.214Z|00075|dpif_netlink|WARN|system at ovs-system: cannot
> create port `dpdkvhostclient0' because it has unsupported type
> `dpdkvhostuserclient'
> 2018-06-12T01:25:37.214Z|00076|dpif|WARN|system at ovs-system: failed to add
> dpdkvhostclient0 as port: Invalid argument 2018-06-
> 12T01:25:37.214Z|00077|bridge|WARN|could not add network device
> dpdkvhostclient0 to ofproto (Invalid argument)
> 2018-06-12T01:25:37.214Z|00078|netdev_dpdk|ERR|dpdkvhostclient0: Unable to
> unregister vhost driver for socket '/tmp/dpdkvhostclient0'.
> 2018-06-12T01:25:37.214Z|00079|dpif_netlink|WARN|system at ovs-system: cannot
> create port `vhost-user-1' because it has unsupported type
> `dpdkvhostuserclient'
> 2018-06-12T01:25:37.214Z|00080|dpif|WARN|system at ovs-system: failed to add
> vhost-user-1 as port: Invalid argument
> 2018-06-12T01:25:37.214Z|00081|bridge|WARN|could not add network device
> vhost-user-1 to ofproto (Invalid argument)
> 
> Thanks.
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list