X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fetc_xensource_scripts_vif;h=062549862e3f3e0628cd54d28f27bbcbaa8a9df8;hb=b153e667907ed68164a15207ad5f91ad4c39927c;hp=88006e2c4901104c5874e21d435590e062b33f25;hpb=6b7b9d34c0eab9871cf6284c41108a84129817f3;p=sliver-openvswitch.git diff --git a/xenserver/etc_xensource_scripts_vif b/xenserver/etc_xensource_scripts_vif index 88006e2c4..062549862 100755 --- a/xenserver/etc_xensource_scripts_vif +++ b/xenserver/etc_xensource_scripts_vif @@ -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() @@ -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 --timeout=30 -- --if-exists del-port $dev + $vsctl --timeout=30 -- del-port $dev ;; esac }