]>
Commit | Line | Data |
---|---|---|
064af421 BP |
1 | #! /bin/sh |
2 | # | |
5e0c05bc | 3 | # Copyright (C) 2011, 2012 Nicira Networks, Inc. |
064af421 | 4 | # |
43bb5f82 BP |
5 | # Licensed under the Apache License, Version 2.0 (the "License"); |
6 | # you may not use this file except in compliance with the License. | |
7 | # You may obtain a copy of the License at: | |
064af421 | 8 | # |
43bb5f82 BP |
9 | # http://www.apache.org/licenses/LICENSE-2.0 |
10 | # | |
11 | # Unless required by applicable law or agreed to in writing, software | |
12 | # distributed under the License is distributed on an "AS IS" BASIS, | |
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | # See the License for the specific language governing permissions and | |
15 | # limitations under the License. | |
064af421 BP |
16 | # |
17 | ### BEGIN INIT INFO | |
18 | # Provides: openvswitch-switch | |
19 | # Required-Start: $network $named $remote_fs $syslog | |
9b094b09 | 20 | # Required-Stop: $remote_fs |
064af421 BP |
21 | # Default-Start: 2 3 4 5 |
22 | # Default-Stop: 0 1 6 | |
23 | # Short-Description: Open vSwitch switch | |
1db6b185 TG |
24 | # Description: openvswitch-switch provides the userspace components and utilities for |
25 | # the Open vSwitch kernel-based switch. | |
064af421 BP |
26 | ### END INIT INFO |
27 | ||
733a287e | 28 | (test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0 |
f3ac83df | 29 | |
d422c118 | 30 | . /usr/share/openvswitch/scripts/ovs-lib |
43bb5f82 | 31 | test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch |
78a04c9f | 32 | |
9fc47ed7 BP |
33 | if test X"$BRCOMPAT" = Xyes && test ! -x /usr/sbin/ovs-brcompatd; then |
34 | BRCOMPAT=no | |
35 | log_warning_msg "ovs-brcompatd missing, disabling bridge compatibility" | |
36 | fi | |
37 | ||
38 | ovs_ctl () { | |
39 | set /usr/share/openvswitch/scripts/ovs-ctl "$@" | |
40 | if test X"$BRCOMPAT" = Xyes; then | |
41 | set "$@" --brcompat | |
42 | fi | |
43 | "$@" | |
44 | } | |
f3ac83df | 45 | |
64624b3c SH |
46 | load_kmod () { |
47 | ovs_ctl load-kmod || exit $? | |
48 | } | |
49 | ||
5ae616d6 | 50 | start () { |
64624b3c SH |
51 | if ovs_ctl load-kmod; then |
52 | : | |
53 | else | |
54 | echo "Module has probably not been built for this kernel." | |
55 | if ! test -d /usr/share/doc/openvswitch-datapath-source; then | |
56 | echo "Install the openvswitch-datapath-source package, then read" | |
57 | else | |
58 | echo "For instructions, read" | |
59 | fi | |
60 | echo "/usr/share/doc/openvswitch-datapath-source/README.Debian" | |
61 | fi | |
9fc47ed7 | 62 | set ovs_ctl ${1-start} --system-id=random |
5ae616d6 BP |
63 | if test X"$FORCE_COREFILES" != X; then |
64 | set "$@" --force-corefiles="$FORCE_COREFILES" | |
65 | fi | |
b3a375f2 | 66 | "$@" || exit $? |
24e81092 | 67 | |
9fc47ed7 | 68 | ovs_ctl --protocol=gre enable-protocol |
5ae616d6 BP |
69 | } |
70 | ||
71 | stop () { | |
9fc47ed7 | 72 | ovs_ctl stop |
5ae616d6 BP |
73 | } |
74 | ||
75 | case $1 in | |
76 | start) | |
77 | start | |
78 | ;; | |
43bb5f82 | 79 | stop | force-stop) |
5ae616d6 | 80 | stop |
064af421 | 81 | ;; |
43bb5f82 BP |
82 | reload | force-reload) |
83 | # The OVS daemons keep up-to-date. | |
f20bbd7a | 84 | ;; |
064af421 | 85 | restart) |
5ae616d6 BP |
86 | stop |
87 | start | |
f20bbd7a | 88 | ;; |
064af421 | 89 | status) |
9fc47ed7 | 90 | ovs_ctl status |
5e0c05bc | 91 | exit $? |
064af421 | 92 | ;; |
5ae616d6 BP |
93 | force-reload-kmod) |
94 | start force-reload-kmod | |
95 | ;; | |
64624b3c SH |
96 | load-kmod) |
97 | load_kmod | |
98 | ;; | |
064af421 | 99 | *) |
64624b3c | 100 | echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2 |
f20bbd7a JP |
101 | exit 1 |
102 | ;; | |
064af421 BP |
103 | esac |
104 | ||
105 | exit 0 |