[ ! -f "$pidfile" ] && return
if running $name; then
kill $pid
- [ -n "$DODTIME" ] && sleep "$DODTIME"s
+ [ -n "$DODTIME" ] && sleep "$DODTIME"
if running $name; then
kill -KILL $pid
- [ -n "$DODTIME" ] && sleep "$DODTIME"s
+ [ -n "$DODTIME" ] && sleep "$DODTIME"
if running $name; then
echo "Cannot kill $name (pid=$pid)!"
exit 1
echo "For instructions, read"
echo "/usr/share/doc/openvswitch-datapath-source/README.Debian"
fi
- exit 1
+ exit 0
fi
}
done
fi
unload_module openvswitch_mod
- unload_module ip_gre_mod
}
case "$1" in
start)
load_module openvswitch_mod
- unload_module ip_gre
- load_module ip_gre_mod
if test -n "$CORE_LIMIT"; then
check_op "Setting core limit to $CORE_LIMIT" ulimit -c "$CORE_LIMIT"
# Create an empty configuration database if it doesn't exist.
if test ! -e /etc/openvswitch/conf.db; then
- install -d -m 755 -o root -g root /etc/openvswitch
-
# Create configuration database.
ovsdb-tool -vANY:console:emer \
create /etc/openvswitch/conf.db \
/usr/share/openvswitch/vswitch.ovsschema
- else
+ elif ! running ovsdb-server; then
# Upgrade or downgrade schema and compact database.
ovsdb-tool -vANY:console:emer \
convert /etc/openvswitch/conf.db \
install -d -m 755 -o root -g root /var/log/openvswitch
fi
+ if [ ! -d /var/log/openvswitch/cores ]; then
+ install -d -m 755 -o root -g root /var/log/openvswitch/cores
+ fi
+
# Start ovsdb-server.
set --
set -- "$@" /etc/openvswitch/conf.db
set -- "$@" --verbose=ANY:console:emer --verbose=ANY:syslog:err
set -- "$@" --log-file=/var/log/openvswitch/ovsdb-server.log
- set -- "$@" --detach --pidfile $monitor_opt
+ set -- "$@" --detach --no-chdir --pidfile $monitor_opt
set -- "$@" --remote punix:/var/run/openvswitch/db.sock
set -- "$@" --remote db:Open_vSwitch,managers
set -- "$@" --private-key=db:SSL,private_key
set -- "$@" --bootstrap-ca-cert=db:SSL,ca_cert
set -- "$@" $OVSDB_SERVER_OPTS
echo -n "Starting ovsdb-server: "
- start-stop-daemon --start --quiet \
+ start-stop-daemon --start --quiet --oknodo \
--pidfile /var/run/openvswitch/ovsdb-server.pid \
+ --chdir /var/log/openvswitch/cores \
--exec $ovsdb_server -- "$@"
if running ovsdb-server; then
echo "ovsdb-server."
echo " ERROR."
fi
- ovs-vsctl --no-wait init
+ ovs-vsctl --no-wait --timeout=5 init
# Start ovs-vswitchd.
set --
set -- "$@" --verbose=ANY:console:emer --verbose=ANY:syslog:err
set -- "$@" --log-file=/var/log/openvswitch/ovs-vswitchd.log
- set -- "$@" --detach --pidfile $monitor_opt
+ set -- "$@" --detach --no-chdir --pidfile $monitor_opt
set -- "$@" unix:/var/run/openvswitch/db.sock
set -- "$@" $OVS_VSWITCHD_OPTS
echo -n "Starting ovs-vswitchd: "
- start-stop-daemon --start --quiet \
+ start-stop-daemon --start --quiet --oknodo \
--pidfile /var/run/openvswitch/ovs-vswitchd.pid \
+ --chdir /var/log/openvswitch/cores \
--exec $ovs_vswitchd -- "$@"
if running ovs-vswitchd; then
echo "ovs-vswitchd."
;;
stop)
echo -n "Stopping ovs-vswitchd: "
- start-stop-daemon --stop --quiet --oknodo \
+ start-stop-daemon --stop --quiet --oknodo --retry 5 \
--pidfile /var/run/openvswitch/ovs-vswitchd.pid \
+ --chdir /var/log/openvswitch/cores \
--exec $ovs_vswitchd
echo "ovs-vswitchd."
echo -n "Stopping ovsdb-server: "
- start-stop-daemon --stop --quiet --oknodo \
+ start-stop-daemon --stop --quiet --oknodo --retry 5 \
--pidfile /var/run/openvswitch/ovsdb-server.pid \
+ --chdir /var/log/openvswitch/cores \
--exec $ovsdb_server
echo "ovsdb-server."
;;
done
;;
*)
- N=/etc/init.d/$NAME
+ N=/etc/init.d/openvswitch-switch
echo "Usage: $N {start|stop|restart|force-reload|status|force-stop|unload}" >&2
exit 1
;;