socket-util: getsockopt for Windows.
[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, 2013 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     touch /var/lock/subsys/openvswitch
52 }
53
54 stop () {
55     ovs_ctl stop
56     rm -f /var/lock/subsys/openvswitch
57 }
58
59 restart () {
60     if [ "$1" = "--save-flows=yes" ]; then
61         start restart
62     else
63         stop
64         start
65     fi
66 }
67
68 case $1 in
69     start)
70         start
71         ;;
72     stop)
73         stop
74         ;;
75     restart)
76         shift
77         restart "$@"
78         ;;
79     reload|force-reload)
80         # Nothing to do.
81         ;;
82     status)
83         ovs_ctl status
84         exit $?
85         ;;
86     version)
87         ovs_ctl version
88         ;;
89     force-reload-kmod)
90         start force-reload-kmod
91         ;;
92     help)
93         printf "$0 [start|stop|restart|reload|force-reload|status|version|force-reload-kmod]\n"
94         ;;
95     *)
96         printf "Unknown command: $1\n"
97         exit 1
98         ;;
99 esac