Setting tag sliver-openvswitch-2.2.90-1
[sliver-openvswitch.git] / rhel / etc_sysconfig_network-scripts_ifdown-ovs
index 3b5252d..6e96d62 100755 (executable)
@@ -22,6 +22,7 @@ cd /etc/sysconfig/network-scripts
 [ -f ../network ] && . ../network
 
 CONFIG=${1}
+TIMEOUT=10
 
 source_config
 
@@ -33,16 +34,30 @@ if [ ! -x ${OTHERSCRIPT} ]; then
     OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-eth"
 fi
 
+SERVICE_UNIT=/usr/lib/systemd/system/openvswitch-nonetwork.service
+if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
+       if ! systemctl --quiet is-active openvswitch-nonetwork.service; then
+               systemctl start openvswitch-nonetwork.service
+       fi
+else
+       if [ ! -f /var/lock/subsys/openvswitch ]; then
+               /sbin/service openvswitch start
+       fi
+fi
+
 case "$TYPE" in
        OVSBridge)
                ${OTHERSCRIPT} ${CONFIG} $2
                retval=$?
-               ovs-vsctl -- --if-exists del-br "$DEVICE"
+               ovs-vsctl -t ${TIMEOUT} -- --if-exists del-br "$DEVICE"
                ;;
-       OVSPort|OVSIntPort|OVSBond)
+       OVSPort|OVSIntPort|OVSBond|OVSTunnel)
                ${OTHERSCRIPT} ${CONFIG} $2
                retval=$?
-               ovs-vsctl -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
+               ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
+               ;;
+       OVSPatchPort)
+               ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
                ;;
        *)
                echo $"Invalid OVS interface type $TYPE"