This blueprint describes a generic hardware driver interface within the OpenStack Networking plugins which will enable support for different hardware backends for L2 network segregation (VLANs, tunneling, etc.). This API is available as a common driver library under quantum/common/hardware_driver and may be used by any OpenStack Networking plugin. Currently we have modified only the popular OVSPlugin to use this driver API.
This may be useful for existing data centers with hardware switches which needs to be used along with Openstack infrastructure. In this case a hardware vendor may introduce a hardware driver which confirms to this driver API, which will allow using vendor's hardware within Openstack along with Open vSwitch virtual switches to provide L2 network segregation.
This will allow automatic L2 network provisioning on the hardware devices alongside with the open vswitch provisioning in the compute node hypervisors.
We have implemented the driver API proposed in this blueprint and are providing the source code for an Arista Driver which supports provisioning of Arista TOR (top-of-the-rack) switches alongside with open vswitches.