Merge "Make neutron ml2 use ovs native interface"
diff --git a/lib/neutron_plugins/openvswitch_agent b/lib/neutron_plugins/openvswitch_agent
index 0af2f20..f009966 100644
--- a/lib/neutron_plugins/openvswitch_agent
+++ b/lib/neutron_plugins/openvswitch_agent
@@ -95,6 +95,11 @@
# XEN_INTEGRATION_BRIDGE is the integration bridge in dom0
iniset "/$Q_PLUGIN_CONF_FILE.domU" ovs integration_bridge $XEN_INTEGRATION_BRIDGE
+ # Set OVS native interface for ovs-agent in compute node
+ XEN_DOM0_IP=$(echo "$XENAPI_CONNECTION_URL" | cut -d "/" -f 3)
+ iniset /$Q_PLUGIN_CONF_FILE ovs ovsdb_connection tcp:$XEN_DOM0_IP:6640
+ iniset /$Q_PLUGIN_CONF_FILE ovs of_listen_address $HOST_IP
+
# Set up domU's L2 agent:
# Create a bridge "br-$VLAN_INTERFACE"
diff --git a/lib/nova_plugins/hypervisor-xenserver b/lib/nova_plugins/hypervisor-xenserver
index a63e72e..b053856 100644
--- a/lib/nova_plugins/hypervisor-xenserver
+++ b/lib/nova_plugins/hypervisor-xenserver
@@ -93,6 +93,15 @@
if is_service_enabled neutron; then
# Remove restriction on linux bridge in Dom0 when neutron is enabled
$ssh_dom0 "rm -f /etc/modprobe.d/blacklist-bridge*"
+
+ count=`$ssh_dom0 "iptables -t filter -L XenServerDevstack |wc -l"`
+ if [ "$count" = "0" ]; then
+ {
+ echo "iptables -t filter --new XenServerDevstack"
+ echo "iptables -t filter -I INPUT -j XenServerDevstack"
+ echo "iptables -t filter -I XenServerDevstack -p tcp --dport 6640 -j ACCEPT"
+ } | $ssh_dom0
+ fi
fi
}