55a13a7ed1b05de43ada776813584e37e7871f0c
[sliver-openvswitch.git] / rhel / etc_init.d_openvswitch
1 #!/bin/sh
2 #
3 # openvswitch
4 #
5 # chkconfig: 2345 09 91
6 # description: Manage Open vSwitch kernel modules and user-space daemons
7
8 # Copyright (C) 2009, 2010, 2011 Nicira, Inc.
9 #
10 # Licensed under the Apache License, Version 2.0 (the "License");
11 # you may not use this file except in compliance with the License.
12 # You may obtain a copy of the License at:
13 #
14 #     http://www.apache.org/licenses/LICENSE-2.0
15 #
16 # Unless required by applicable law or agreed to in writing, software
17 # distributed under the License is distributed on an "AS IS" BASIS,
18 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 # See the License for the specific language governing permissions and
20 # limitations under the License.
21 ### BEGIN INIT INFO
22 # Provides:          openvswitch-switch
23 # Required-Start:
24 # Required-Stop:
25 # Default-Start:     2 3 4 5
26 # Default-Stop:      0 1 6
27 # Short-Description: Open vSwitch switch
28 ### END INIT INFO
29
30 . /usr/share/openvswitch/scripts/ovs-lib || exit 1
31 test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch
32
33 start () {
34     set ovs_ctl ${1-start}
35     set "$@" --system-id=random
36     if test X"$FORCE_COREFILES" != X; then
37         set "$@" --force-corefiles="$FORCE_COREFILES"
38     fi
39     if test X"$OVSDB_SERVER_PRIORITY" != X; then
40         set "$@" --ovsdb-server-priority="$OVSDB_SERVER_PRIORITY"
41     fi
42     if test X"$VSWITCHD_PRIORITY" != X; then
43         set "$@" --ovs-vswitchd-priority="$VSWITCHD_PRIORITY"
44     fi
45     if test X"$VSWITCHD_MLOCKALL" != X; then
46         set "$@" --mlockall="$VSWITCHD_MLOCKALL"
47     fi
48     set "$@" $OVS_CTL_OPTS
49     "$@"
50
51     ovs_ctl --protocol=gre enable-protocol
52
53     touch /var/lock/subsys/openvswitch
54 }
55
56 stop () {
57     ovs_ctl stop
58     rm -f /var/lock/subsys/openvswitch
59 }
60
61 restart () {
62     if [ "$1" = "--save-flows=yes" ]; then
63         start restart
64     else
65         stop
66         start
67     fi
68 }
69
70 case $1 in
71     start)
72         start
73         ;;
74     stop)
75         stop
76         ;;
77     restart)
78         shift
79         restart "$@"
80         ;;
81     reload|force-reload)
82         # Nothing to do.
83         ;;
84     status)
85         ovs_ctl status
86         ;;
87     version)
88         ovs_ctl version
89         ;;
90     force-reload-kmod)
91         start force-reload-kmod
92         ;;
93     help)
94         printf "$0 [start|stop|restart|reload|force-reload|status|version|force-reload-kmod]\n"
95         ;;
96     *)
97         printf "Unknown command: $1\n"
98         exit 1
99         ;;
100 esac