X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xenserver%2Fetc_xensource_scripts_vif;h=d27bc10daa73d5b57bc0f5972689ed5882fc9fe5;hb=79554078d08b849059389f007a00c85b471d9e3d;hp=4e24d83aa209856bca0cb6c47f0bc51fd71ed8ad;hpb=a4af00400a835eb87569ba40e21874c05e872c0f;p=openvswitch diff --git a/xenserver/etc_xensource_scripts_vif b/xenserver/etc_xensource_scripts_vif index 4e24d83a..d27bc10d 100755 --- a/xenserver/etc_xensource_scripts_vif +++ b/xenserver/etc_xensource_scripts_vif @@ -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) ;;