diff options
Diffstat (limited to 'recipes-networking/openvswitch/files/openvswitch-switch')
-rw-r--r-- | recipes-networking/openvswitch/files/openvswitch-switch | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/recipes-networking/openvswitch/files/openvswitch-switch b/recipes-networking/openvswitch/files/openvswitch-switch new file mode 100644 index 00000000..6f08c3fa --- /dev/null +++ b/recipes-networking/openvswitch/files/openvswitch-switch | |||
@@ -0,0 +1,102 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # Copyright (C) 2011 Nicira Networks, Inc. | ||
4 | # | ||
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: | ||
8 | # | ||
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. | ||
16 | # | ||
17 | ### BEGIN INIT INFO | ||
18 | # Provides: openvswitch-switch | ||
19 | # Required-Start: $network $named $remote_fs $syslog | ||
20 | # Required-Stop: $remote_fs | ||
21 | # Default-Start: 2 3 4 5 | ||
22 | # Default-Stop: 0 1 6 | ||
23 | # Short-Description: Open vSwitch switch | ||
24 | ### END INIT INFO | ||
25 | |||
26 | (test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0 | ||
27 | |||
28 | . /usr/share/openvswitch/scripts/ovs-lib | ||
29 | test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch | ||
30 | |||
31 | if test X"$BRCOMPAT" = Xyes && test ! -x /usr/sbin/ovs-brcompatd; then | ||
32 | BRCOMPAT=no | ||
33 | log_warning_msg "ovs-brcompatd missing, disabling bridge compatibility" | ||
34 | fi | ||
35 | |||
36 | ovs_ctl () { | ||
37 | set /usr/share/openvswitch/scripts/ovs-ctl "$@" | ||
38 | if test X"$BRCOMPAT" = Xyes; then | ||
39 | set "$@" --brcompat | ||
40 | fi | ||
41 | "$@" | ||
42 | } | ||
43 | |||
44 | load_kmod () { | ||
45 | ovs_ctl load-kmod || exit $? | ||
46 | } | ||
47 | |||
48 | start () { | ||
49 | if ovs_ctl load-kmod; then | ||
50 | : | ||
51 | else | ||
52 | echo "Module has probably not been built for this kernel." | ||
53 | if ! test -d /usr/share/doc/openvswitch-datapath-source; then | ||
54 | echo "Install the openvswitch-datapath-source package, then read" | ||
55 | else | ||
56 | echo "For instructions, read" | ||
57 | fi | ||
58 | echo "/usr/share/doc/openvswitch-datapath-source/README.Debian" | ||
59 | fi | ||
60 | set ovs_ctl ${1-start} --system-id=random | ||
61 | if test X"$FORCE_COREFILES" != X; then | ||
62 | set "$@" --force-corefiles="$FORCE_COREFILES" | ||
63 | fi | ||
64 | "$@" || exit $? | ||
65 | |||
66 | ovs_ctl --protocol=gre enable-protocol | ||
67 | } | ||
68 | |||
69 | stop () { | ||
70 | ovs_ctl stop | ||
71 | } | ||
72 | |||
73 | case $1 in | ||
74 | start) | ||
75 | start | ||
76 | ;; | ||
77 | stop | force-stop) | ||
78 | stop | ||
79 | ;; | ||
80 | reload | force-reload) | ||
81 | # The OVS daemons keep up-to-date. | ||
82 | ;; | ||
83 | restart) | ||
84 | stop | ||
85 | start | ||
86 | ;; | ||
87 | status) | ||
88 | ovs_ctl status | ||
89 | ;; | ||
90 | force-reload-kmod) | ||
91 | start force-reload-kmod | ||
92 | ;; | ||
93 | load-kmod) | ||
94 | load_kmod | ||
95 | ;; | ||
96 | *) | ||
97 | echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2 | ||
98 | exit 1 | ||
99 | ;; | ||
100 | esac | ||
101 | |||
102 | exit 0 | ||