neutron/doc/source/devref/ovs_vhostuser.rst
Terry Wilson 34d4d46c40 Add vhost-user support via ovs capabilities/datapath_type
Adds the ovs 'config' property which returns the contents of the
single row of the Open_vSwitch table. This gives access to certain
OVS capabilities such as datapath_types and iface_types.

Using this information in concert with the datapath_type config
option, vif details are calculated by the OVS mech driver. If
datapath_type == 'netdev' and OVS on the agent host is capable of
supporting dpdkvhostuser, then it is used.

Authored-By: Terry Wilson <twilson@redhat.com>
Co-Authored-By: Sean Mooney <sean.k.mooney@intel.com>

Closes-Bug: #1506127
Change-Id: I5047f1d1276e2f52ff02a0cba136e222779d059c
2015-11-18 14:04:06 -06:00

63 lines
2.4 KiB
ReStructuredText

..
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Convention for heading levels in Neutron devref:
======= Heading 0 (reserved for the title in a document)
------- Heading 1
~~~~~~~ Heading 2
+++++++ Heading 3
''''''' Heading 4
(Avoid deeper levels because they do not render well.)
Neutron Open vSwitch vhost-user support
=======================================
Neutron supports using Open vSwitch + DPDK vhost-user interfaces directly in
the OVS ML2 driver and agent. The current implementation relies on a multiple
configuration values and includes runtime verification of Open vSwitch's
capability to provide these interfaces.
The OVS agent detects the capability of the underlying Open vSwitch
installation and passes that information over RPC via the agent
'configurations' dictionary. The ML2 driver uses this information to select
the proper VIF type and binding details.
Neutron+OVS+DPDK platform requirements
--------------------------------------
OVS 2.4.0+
DPDK 2.0+
Neutron OVS+DPDK vhost-user config
----------------------------------
[OVS]
datapath_type=netdev
vhostuser_socket_dir=/var/run/openvswitch
When OVS is running with DPDK support enabled, and the datapath_type is set to
"netdev", then the OVS ML2 driver will use the vhost-user VIF type and pass
the necessary binding details to use OVS+DPDK and vhost-user sockets. This
includes the vhoustuser_socket_dir setting, which must match the directory
passed to ovs-vswitchd on startup.
What about the networking-ovs-dpdk repo?
----------------------------------------
The networking-ovs-dpdk repo will continue to exist and undergo active
development. This feature just removes the necessity for a separate ML2 driver
and OVS agent in the networking-ovs-dpdk repo. The networking-ovs-dpdk project
also provides a devstack plugin which also allows automated CI, a puppet
module, and an OpenFlow-based security group implementation.