mirror of
https://github.com/openvswitch/ovs
synced 2025-10-21 14:49:41 +00:00
This reverts commit 5902b4ed6
.
For end users that do not plan to use tunnels or use only selected
tunnels, it probably is a bad idea to punch firewall holes by default.
Opening holes like this may surprise the user.
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
155 lines
4.1 KiB
Bash
Executable File
155 lines
4.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# openvswitch
|
|
#
|
|
# chkconfig: 2345 09 91
|
|
# description: Manage Open vSwitch kernel modules and user-space daemons
|
|
|
|
# Copyright (C) 2009, 2010, 2011 Nicira, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at:
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
### BEGIN INIT INFO
|
|
# Provides: openvswitch-switch
|
|
# Required-Start:
|
|
# Required-Stop:
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Open vSwitch switch
|
|
### END INIT INFO
|
|
|
|
. /usr/share/openvswitch/scripts/ovs-lib || exit 1
|
|
. /etc/xensource-inventory
|
|
test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch
|
|
|
|
case `cat /etc/xensource/network.conf` in
|
|
vswitch|openvswitch)
|
|
;;
|
|
bridge)
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Open vSwitch disabled (/etc/xensource/network.conf is invalid)" >&2
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
start_ovs_xapi_sync () {
|
|
if daemon_is_running ovs-xapi-sync; then
|
|
log_success_msg "ovs-xapi-sync is already running"
|
|
else
|
|
PYTHONPATH=/usr/share/openvswitch/python \
|
|
/usr/share/openvswitch/scripts/ovs-xapi-sync \
|
|
--log-file --pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
|
|
fi
|
|
}
|
|
|
|
start () {
|
|
set ovs_ctl ${1-start}
|
|
set "$@" --system-id="$INSTALLATION_UUID"
|
|
set "$@" --system-type="$PRODUCT_BRAND"
|
|
set "$@" --system-version="$PRODUCT_VERSION-$BUILD_NUMBER"
|
|
set "$@" --external-id=xs-system-uuid="$INSTALLATION_UUID"
|
|
set "$@" --daemon-cwd=/var/xen/openvswitch
|
|
if test X"$FORCE_COREFILES" != X; then
|
|
set "$@" --force-corefiles="$FORCE_COREFILES"
|
|
fi
|
|
if test X"$OVSDB_SERVER_PRIORITY" != X; then
|
|
set "$@" --ovsdb-server-priority="$OVSDB_SERVER_PRIORITY"
|
|
fi
|
|
if test X"$VSWITCHD_PRIORITY" != X; then
|
|
set "$@" --ovs-vswitchd-priority="$VSWITCHD_PRIORITY"
|
|
fi
|
|
if test X"$VSWITCHD_MLOCKALL" != X; then
|
|
set "$@" --mlockall="$VSWITCHD_MLOCKALL"
|
|
fi
|
|
if test ! -e /var/run/openvswitch.booted; then
|
|
touch /var/run/openvswitch.booted
|
|
set "$@" --delete-bridges
|
|
fi
|
|
set "$@" $OVS_CTL_OPTS
|
|
"$@"
|
|
|
|
start_ovs_xapi_sync
|
|
|
|
ovs_ctl --protocol=gre enable-protocol
|
|
|
|
touch /var/lock/subsys/openvswitch
|
|
}
|
|
|
|
force_reload_kmod () {
|
|
start force-reload-kmod
|
|
|
|
# Restart the high-availability daemon if it is running. Otherwise
|
|
# it loses its heartbeat and reboots the system after a few minutes.
|
|
if pidof xhad >/dev/null && test -e /etc/xensource/xhad.conf; then
|
|
PATH=$PATH:/opt/xensource/xha
|
|
action "Stopping HA daemon" ha_stop_daemon
|
|
action "Starting HA daemon" ha_start_daemon
|
|
fi
|
|
|
|
action "Stopping ovs-xapi-sync" stop_daemon ovs-xapi-sync
|
|
action "Starting ovs-xapi-sync" start_ovs_xapi_sync
|
|
}
|
|
|
|
stop () {
|
|
ovs_ctl stop
|
|
stop_daemon ovs-xapi-sync
|
|
rm -f /var/lock/subsys/openvswitch
|
|
}
|
|
|
|
restart () {
|
|
if [ "$1" = "--save-flows=yes" ]; then
|
|
stop_daemon ovs-xapi-sync
|
|
start restart
|
|
else
|
|
stop
|
|
start
|
|
fi
|
|
}
|
|
|
|
case $1 in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
shift
|
|
restart "$@"
|
|
;;
|
|
reload|force-reload)
|
|
# The main OVS daemons keep up-to-date, but ovs-xapi-sync needs help.
|
|
if daemon_is_running ovs-xapi-sync; then
|
|
action "Configuring Open vSwitch external IDs" \
|
|
ovs-appctl -t ovs-xapi-sync flush-cache
|
|
fi
|
|
;;
|
|
status)
|
|
ovs_ctl status && daemon_status ovs-xapi-sync
|
|
;;
|
|
version)
|
|
ovs_ctl version
|
|
;;
|
|
force-reload-kmod)
|
|
force_reload_kmod
|
|
;;
|
|
help)
|
|
printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"
|
|
;;
|
|
*)
|
|
printf "Unknown command: $1\n"
|
|
exit 1
|
|
;;
|
|
esac
|