xenserver, rhel: Enable extra ovs-ctl options from init scripts.
[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     if test X"$BRCOMPAT" = Xyes; then
49         set "$@" --brcompat
50     fi
51     set "$@" $OVS_CTL_OPTS
52     "$@"
53
54     $ovs_ctl --protocol=gre enable-protocol
55
56     touch /var/lock/subsys/openvswitch
57 }
58
59 stop () {
60     $ovs_ctl stop
61     rm -f /var/lock/subsys/openvswitch
62 }
63
64 ovs_ctl=/usr/share/openvswitch/scripts/ovs-ctl
65 case $1 in
66     start)
67         start
68         ;;
69     stop)
70         stop
71         ;;
72     restart)
73         stop
74         start
75         ;;
76     reload|force-reload)
77         # Nothing to do.
78         ;;
79     status)
80         $ovs_ctl status
81         ;;
82     version)
83         $ovs_ctl version
84         ;;
85     force-reload-kmod)
86         start force-reload-kmod
87         ;;
88     help)
89         printf "$0 [start|stop|restart|reload|force-reload|status|version|force-reload-kmod]\n"
90         ;;
91     *)
92         printf "Unknown command: $1\n"
93         exit 1
94         ;;
95 esac