ovsdb-idl: Fix bad logic in ovsdb_idl_txn_commit() state transitions.
[openvswitch] / xenserver / etc_xensource_scripts_vif
index 4e24d83aa209856bca0cb6c47f0bc51fd71ed8ad..d27bc10daa73d5b57bc0f5972689ed5882fc9fe5 100755 (executable)
@@ -61,7 +61,8 @@ handle_mtu()
 {
     local mtu=$(xenstore-read "${PRIVATE}/MTU" 2>/dev/null)
     if [ $? -eq 0 -a -n "${mtu}" ]; then
-       echo "${mtu}" > /sys/class/net/${dev}/mtu
+       logger -t scripts-vif "Setting ${dev} MTU ${mtu}"
+       ${IP} link set "${dev}" mtu ${mtu} || logger -t scripts-vif "Failed to ip link set ${dev} mtu ${mtu}. Error code $?"
     fi
 }
 
@@ -96,7 +97,7 @@ add_to_bridge()
                        logger -t scripts-vif "Failed to retrieve vif details for vswitch"
                fi
 
-               $vsctl add-port $bridge $dev $vif_details
+               $vsctl -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details
            ;;
     esac
            
@@ -117,7 +118,13 @@ remove_from_bridge()
 
 NETWORK_MODE=$(cat /etc/xensource/network.conf)
 ACTION=$1
-TYPE=$2
+
+# Older versions of XenServer do not pass in the type as an argument
+if [[ $# -lt 2 ]]; then
+    TYPE=vif
+else
+    TYPE=$2
+fi
 
 case $NETWORK_MODE in
     bridge|vswitch) ;;