blob: 39d4d364e824b92f3c0d3f612351cc5f88ebb669 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
#!/bin/sh
#
# openvswitch
#
# chkconfig: 2345 09 91
# description: Manage Open vSwitch kernel modules and user-space daemons
# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
### BEGIN INIT INFO
# Provides: openvswitch-switch
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Open vSwitch switch
### END INIT INFO
. /usr/share/openvswitch/scripts/ovs-lib.sh || exit 1
. /etc/xensource-inventory
test -e /etc/sysconfig/openvswitch && . /etc/sysconfig/openvswitch
case `cat /etc/xensource/network.conf` in
vswitch|openvswitch)
;;
bridge)
exit 0
;;
*)
echo "Open vSwitch disabled (/etc/xensource/network.conf is invalid)" >&2
exit 0
;;
esac
start () {
set $ovs_ctl ${1-start}
set "$@" --system-id="$INSTALLATION_UUID"
set "$@" --system-type="$PRODUCT_BRAND"
set "$@" --system-version="$PRODUCT_VERSION-$BUILD_NUMBER"
set "$@" --external-id=xs-system-uuid="$INSTALLATION_UUID"
set "$@" --daemon-cwd=/var/xen/openvswitch
if test X"$FORCE_COREFILES" != X; then
set "$@" --force-corefiles="$FORCE_COREFILES"
fi
if test X"$OVSDB_SERVER_PRIORITY" != X; then
set "$@" --ovsdb-server-priority="$OVSDB_SERVER_PRIORITY"
fi
if test X"$VSWITCHD_PRIORITY" != X; then
set "$@" --ovs-vswitchd-priority="$VSWITCHD_PRIORITY"
fi
if test X"$VSWITCHD_MLOCKALL" != X; then
set "$@" --mlockall="$VSWITCHD_MLOCKALL"
fi
if test ! -e /var/run/openvswitch.booted; then
touch /var/run/openvswitch.booted
set "$@" --delete-bridges
fi
"$@"
if daemon_is_running ovs-xapi-sync; then
log_success_msg "ovs-xapi-sync is already running"
else
PYTHONPATH=/usr/share/openvswitch/python \
/usr/share/openvswitch/scripts/ovs-xapi-sync \
--pidfile --detach --monitor unix:/var/run/openvswitch/db.sock
fi
# Allow GRE traffic.
/sbin/iptables -I INPUT -p gre -j ACCEPT
touch /var/lock/subsys/openvswitch
}
stop () {
$ovs_ctl stop
stop_daemon ovs-xapi-sync
rm -f /var/lock/subsys/openvswitch
}
ovs_ctl=/usr/share/openvswitch/scripts/ovs-ctl
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload|force-reload)
# The main OVS daemons keep up-to-date, but ovs-xapi-sync needs help.
pidfile=/var/run/openvswitch/ovs-xapi-sync.pid
if test -e "$pidfile"; then
pid=`cat "$pidfile"`
action "Configuring Open vSwitch external IDs" kill -HUP $pid
fi
;;
status)
$ovs_ctl status && daemon_status ovs-xapi-sync
;;
version)
$ovs_ctl version
;;
force-reload-kmod)
start force-reload-kmod
;;
help)
printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"
;;
*)
printf "Unknown command: $1\n"
exit 1
;;
esac
|