Adds support for the Indigo Virtual Switch

Allows users to specify which virtual switch Quantum should use
and inform Nova to use. It configures the quantum dhcp agent
interface driver to bind to the correct switch and sets the
vif_type that the BigSwitch/Floodlight plugin will send to Nova.

Change-Id: I077a9ce8ab205e2949e0a438307f7da46a8a247d
Implements: blueprint ivs-support
diff --git a/lib/quantum_plugins/bigswitch_floodlight b/lib/quantum_plugins/bigswitch_floodlight
index 1199745..cae8882 100644
--- a/lib/quantum_plugins/bigswitch_floodlight
+++ b/lib/quantum_plugins/bigswitch_floodlight
@@ -44,13 +44,23 @@
 function quantum_plugin_configure_service() {
     iniset /$Q_PLUGIN_CONF_FILE restproxy servers $BS_FL_CONTROLLERS_PORT
     iniset /$Q_PLUGIN_CONF_FILE restproxy servertimeout $BS_FL_CONTROLLER_TIMEOUT
+    if [ "$BS_FL_VIF_DRIVER" = "ivs" ]
+    then
+        iniset /$Q_PLUGIN_CONF_FILE nova vif_type ivs
+    fi
 }
 
 function quantum_plugin_setup_interface_driver() {
     local conf_file=$1
-    iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
+    if [ "$BS_FL_VIF_DRIVER" = "ivs" ]
+    then
+        iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.IVSInterfaceDriver
+    else
+        iniset $conf_file DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
+    fi
 }
 
+
 function has_quantum_plugin_security_group() {
     # 1 means False here
     return 1