rdobuilder 167853
#!/bin/bash
rdobuilder 167853
rdobuilder 167853
# Copyright (c) 2011 Alexey I. Froloff.
rdobuilder 167853
#
rdobuilder 167853
# Licensed under the Apache License, Version 2.0 (the "License");
rdobuilder 167853
# you may not use this file except in compliance with the License.
rdobuilder 167853
# You may obtain a copy of the License at:
rdobuilder 167853
#
rdobuilder 167853
#     http://www.apache.org/licenses/LICENSE-2.0
rdobuilder 167853
#
rdobuilder 167853
# Unless required by applicable law or agreed to in writing, software
rdobuilder 167853
# distributed under the License is distributed on an "AS IS" BASIS,
rdobuilder 167853
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rdobuilder 167853
# See the License for the specific language governing permissions and
rdobuilder 167853
# limitations under the License.
rdobuilder 167853
rdobuilder 167853
. /etc/init.d/functions
rdobuilder 167853
rdobuilder 167853
cd /etc/sysconfig/network-scripts
rdobuilder 167853
. ./network-functions
rdobuilder 167853
rdobuilder 167853
[ -f ../network ] && . ../network
rdobuilder 167853
rdobuilder 167853
CONFIG=${1}
rdobuilder 167853
TIMEOUT=10
rdobuilder 167853
rdobuilder 167853
source_config
rdobuilder 167853
rdobuilder 167853
. /etc/sysconfig/network
rdobuilder 167853
rdobuilder 167853
OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-${REAL_DEVICETYPE}"
rdobuilder 167853
rdobuilder 167853
if [ ! -x ${OTHERSCRIPT} ]; then
rdobuilder 167853
    OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-eth"
rdobuilder 167853
fi
rdobuilder 167853
rdobuilder 167853
SERVICE_UNIT=/usr/lib/systemd/system/ovsdb-server.service
rdobuilder 167853
if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then
rdobuilder 167853
        if ! systemctl --quiet is-active ovsdb-server.service; then
rdobuilder 167853
                systemctl start ovsdb-server.service
rdobuilder 167853
        fi
rdobuilder 167853
else
rdobuilder 167853
        if [ ! -f /var/lock/subsys/openvswitch ]; then
rdobuilder 167853
                /sbin/service openvswitch start
rdobuilder 167853
        fi
rdobuilder 167853
fi
rdobuilder 167853
rdobuilder 167853
case "$TYPE" in
rdobuilder 167853
        OVSBridge|OVSUserBridge)
rdobuilder 167853
                ${OTHERSCRIPT} ${CONFIG} $2
rdobuilder 167853
                retval=$?
rdobuilder 167853
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-br "$DEVICE"
rdobuilder 167853
                ;;
rdobuilder 167853
        OVSPort|OVSIntPort|OVSBond)
rdobuilder 167853
                ${OTHERSCRIPT} ${CONFIG} $2
rdobuilder 167853
                retval=$?
rdobuilder 167853
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
rdobuilder 167853
                ;;
rdobuilder 167853
        OVSPatchPort|OVSTunnel)
rdobuilder 167853
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
rdobuilder 167853
                ;;
rdobuilder 167853
        OVSDPDKPort|OVSDPDKVhostUserPort|OVSDPDKBond)
rdobuilder 167853
                ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE"
rdobuilder 167853
                ;;
rdobuilder 167853
        *)
rdobuilder 167853
                echo $"Invalid OVS interface type $TYPE"
rdobuilder 167853
                exit 1
rdobuilder 167853
                ;;
rdobuilder 167853
esac
rdobuilder 167853
rdobuilder 167853
exit $retval