Merge "master" into xs5.7.
[sliver-openvswitch.git] / xenserver / etc_xensource_scripts_vif
index 1baaeec..033e001 100755 (executable)
@@ -12,6 +12,8 @@
 # Keep other-config/ keys in sync with device.ml:vif_udev_keys
 
 cfg_mod="/usr/bin/ovs-cfg-mod"
+vsctl="/usr/bin/ovs-vsctl"
+dump_vif_details="/usr/share/vswitch/scripts/dump-vif-details"
 service="/sbin/service"
 IP="/sbin/ip"
 
@@ -89,13 +91,11 @@ add_to_bridge()
     fi
     logger -t scripts-vif "Adding ${dev} to ${bridge} with address ${address}"
 
-    vid=
-    if [ -e "/var/lib/openvswitch/br-$bridge" ]; then
-       . "/var/lib/openvswitch/br-$bridge"
-       if [ -n "$VLAN_SLAVE" -a -n "$VLAN_VID" ]; then
-           bridge=$VLAN_SLAVE
-           vid="--add=vlan.${dev}.tag=$VLAN_VID"
-       fi
+    local VLAN_ID=$($vsctl br-to-vlan $bridge)
+    local vid=
+    if [ "$VLAN_ID" -ne 0 ] ; then
+       bridge=$($vsctl br-to-parent $bridge)
+       vid="--add=vlan.${dev}.tag=${VLAN_ID}"
     fi
 
     if [ "$type" = "vif" ] ; then