5 # chkconfig: 2345 09 91
6 # description: Manage Open vSwitch kernel modules and user-space daemons
8 # Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
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:
14 # http://www.apache.org/licenses/LICENSE-2.0
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.
22 # Provides: openvswitch-switch
25 # Default-Start: 2 3 4 5
27 # Short-Description: Open vSwitch switch
30 . /usr/share/openvswitch/scripts/ovs-lib.sh || exit 1
31 . /etc/xensource-inventory
32 test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch
34 case `cat /etc/xensource/network.conf` in
41 echo "Open vSwitch disabled (/etc/xensource/network.conf is invalid)" >&2
47 set $ovs_ctl ${1-start}
48 set "$@" --system-id="$INSTALLATION_UUID"
49 set "$@" --system-type="$PRODUCT_BRAND"
50 set "$@" --system-version="$PRODUCT_VERSION-$BUILD_NUMBER"
51 set "$@" --external-id=xs-system-uuid="$INSTALLATION_UUID"
52 set "$@" --daemon-cwd=/var/xen/openvswitch
53 if test X"$FORCE_COREFILES" != X; then
54 set "$@" --force-corefiles="$FORCE_COREFILES"
56 if test X"$OVSDB_SERVER_PRIORITY" != X; then
57 set "$@" --ovsdb-server-priority="$OVSDB_SERVER_PRIORITY"
59 if test X"$VSWITCHD_PRIORITY" != X; then
60 set "$@" --ovs-vswitchd-priority="$VSWITCHD_PRIORITY"
62 if test X"$VSWITCHD_MLOCKALL" != X; then
63 set "$@" --mlockall="$VSWITCHD_MLOCKALL"
65 if test ! -e /var/run/openvswitch.booted; then
66 touch /var/run/openvswitch.booted
67 set "$@" --delete-bridges
71 if daemon_is_running ovs-xapi-sync; then
72 log_success_msg "ovs-xapi-sync is already running"
74 PYTHONPATH=/usr/share/openvswitch/python \
75 /usr/share/openvswitch/scripts/ovs-xapi-sync \
76 --pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
79 $ovs_ctl --protocol=gre enable-protocol
81 touch /var/lock/subsys/openvswitch
86 stop_daemon ovs-xapi-sync
87 rm -f /var/lock/subsys/openvswitch
90 ovs_ctl=/usr/share/openvswitch/scripts/ovs-ctl
103 # The main OVS daemons keep up-to-date, but ovs-xapi-sync needs help.
104 pidfile=/var/run/openvswitch/ovs-xapi-sync.pid
105 if test -e "$pidfile"; then
107 action "Configuring Open vSwitch external IDs" kill -HUP $pid
111 $ovs_ctl status && daemon_status ovs-xapi-sync
117 start force-reload-kmod
120 printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"
123 printf "Unknown command: $1\n"