vlog: Add a new log level "off".
[sliver-openvswitch.git] / xenserver / etc_xensource_scripts_vif
index f27ff5b..0625498 100755 (executable)
@@ -25,16 +25,6 @@ IP="/sbin/ip"
 
 vsctl="/usr/bin/ovs-vsctl"
 
-# XAPI before build 29381 (approximately) did not provide some of the
-# data in XenStore that we rely on.
-. /etc/xensource-inventory
-if test "$PRODUCT_VERSION" = "5.5.0" || test "${BUILD_NUMBER%[a-z]}" -le 26131
-then
-    xs550=true
-else
-    xs550=false
-fi
-
 handle_promiscuous()
 {
     local arg=$(xenstore-read "${PRIVATE}/other-config/promiscuous" 2>/dev/null)
@@ -96,43 +86,19 @@ handle_vswitch_vif_details()
     fi
 
     local vif_uuid=$(xenstore-read "${PRIVATE}/vif-uuid" 2>/dev/null)
-    if $xs550 && [ -z "${vif_uuid}" ] && [ -n "${vm_uuid}" ]; then
-        vif_uuid=$(xe vif-list --minimal vm-uuid="${vm_uuid}" device=$DEVID)
-    fi
     if [ -n "${vif_uuid}" ] ; then
-        set_vif_external_id "xs-vif-uuid" "${vif_uuid}"
+       set_vif_external_id "xs-vif-uuid" "${vif_uuid}"
     fi
 
     local vif_details=
     local net_uuid=$(xenstore-read "${PRIVATE}/network-uuid" 2>/dev/null)
-    if $xs550 && [ -z "${net_uuid}" ] && [ -n "${vif_uuid}" ]; then
-        net_uuid=$(xe vif-param-get uuid="${vif_uuid}" param-name=network-uuid)
-    fi
     if [ -n "${net_uuid}" ] ; then
-        set_vif_external_id "xs-network-uuid" "${net_uuid}"
+       set_vif_external_id "xs-network-uuid" "${net_uuid}"
     fi
-
     local address=$(xenstore-read "/local/domain/$DOMID/device/vif/$DEVID/mac" 2>/dev/null)
     if [ -n "${address}" ] ; then
         set_vif_external_id "attached-mac" "${address}"
     fi
-
-    if $xs550; then
-        # vNetManager needs to know the network UUID(s) associated with each
-        # datapath.  Normally interface-reconfigure adds them, but XAPI does
-        # not use interface-reconfigure for internal networks. Instead, XAPI
-        # calls the addbr ioctl internally, so we have to do it here instead
-        # for internal networks.  This is only acceptable because xapi is lazy
-        # about creating internal networks: it only creates one just before it
-        # adds the first vif to it.  There may still be a brief delay between
-        # the initial ovs-vswitchd connection to vNetManager and setting this
-        # configuration variable, but vNetManager can tolerate that.
-        local bridge=$1
-        if [ -n "${net_uuid}" ] ; then
-            logger -t scripts-vif "${bridge} xs-network-uuids ${net_uuid}"
-            echo "-- br-set-external-id $bridge xs-network-uuids ${net_uuid}"
-        fi
-    fi
 }
 
 add_to_bridge()
@@ -165,7 +131,7 @@ add_to_bridge()
             local vif_details=$(handle_vswitch_vif_details $bridge)
         fi
 
-        $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details
+        $vsctl --timeout=30 -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details
         ;;
     esac
         
@@ -179,10 +145,7 @@ remove_from_bridge()
         # Nothing to do
         ;;
     openvswitch)
-        # If ovs-brcompatd is running, it might already have deleted the
-        # port.  Use --if-exists to suppress the error that would otherwise
-        # arise in that case.
-        $vsctl -- --if-exists del-port $dev
+        $vsctl --timeout=30 -- del-port $dev
         ;;
     esac
 }