Group :: Networking/Other
RPM: openvswitch
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
#!/bin/sh
#
# openvswitch an Open Virtual Switch
#
# chkconfig: 2345 09 91
# description: Manage Open vSwitch kernel modules and user-space services
## processname: ovs-vswitchd
# config: /etc/sysconfig/openvswitch
#
### BEGIN INIT INFO
# Provides: openvswitch
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Short-Description: Manage Open vSwitch kernel modules and user-space services
# Description: Manage Open vSwitch kernel modules and user-space services
### END INIT INFO
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/rc.d/init.d/functions
SCRIPTS=/usr/share/openvswitch/scripts
. $SCRIPTS/ovs-lib || exit 1
SourceIfNotEmpty /etc/sysconfig/openvswitch
ovs_ctl=$SCRIPTS/ovs-ctl
LOCKFILE=/var/lock/subsys/openvswitch
RETVAL=0
start() {
set $ovs_ctl ${1-start}
set "$@" --system-id=random
if [ -n "$FORCE_COREFILES" ]; then
set "$@" --force-corefiles="$FORCE_COREFILES"
fi
if [ -n "$OVSDB_SERVER_PRIORITY" ]; then
set "$@" --ovsdb-server-priority="$OVSDB_SERVER_PRIORITY"
fi
if [ -n "$VSWITCHD_PRIORITY" ]; then
set "$@" --ovs-vswitchd-priority="$VSWITCHD_PRIORITY"
fi
if [ -n "$VSWITCHD_MLOCKALL" ]; then
set "$@" --mlockall="$VSWITCHD_MLOCKALL"
fi
[ "$OVS_CTL_OPTS" ] && set "$@" $OVS_CTL_OPTS
"$@"
$ovs_ctl --protocol=gre enable-protocol
RETVAL=$?
touch "$LOCKFILE"
#Workaround for etcnet. Down interfaces managed by etcnet if lo is down
if ! ip -o link show dev lo 2>/dev/null | cut -d' ' -f3 | grep -qs '[<,]UP[,>]' ; then
for iface in $(ovs-vsctl -d bare list interface | grep ^name | expand | tr -s ' ' | cut -d' ' -f3); do
[ -d "/etc/net/ifaces/$iface" ] || continue
ip -o link set dev $iface down 2>/dev/null
done
fi
return $RETVAL
}
stop() {
$ovs_ctl stop
RETVAL=$?
rm -f "$LOCKFILE"
return $RETVAL
}
restart()
{
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload|restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart|condreload)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
force-reload-kmod)
start force-reload-kmod
;;
status)
$ovs_ctl status
RETVAL=$?
;;
version)
$ovs_ctl version
RETVAL=$?
;;
*)
msg_usage "${0##*/} [start|stop|restart|reload|status|version|force-reload-kmod|condrestart|condreload|condstop]"
RETVAL=1
esac
exit $RETVAL