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 | ||
