{
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
}
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
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) ;;