]> git.proxmox.com Git - mirror_ovs.git/blame - debian/ifupdown.sh
Set release date for 2.7.0.
[mirror_ovs.git] / debian / ifupdown.sh
CommitLineData
86b87c92
GS
1#! /bin/sh
2
fba6bd1d 3# Copyright (c) 2012, 2013 Nicira, Inc.
86b87c92
GS
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# Have a look at /usr/share/doc/openvswitch-switch/README.Debian
18# for more information about configuring the /etc/network/interfaces.
19
20if [ -z "${IF_OVS_TYPE}" ]; then
21 exit 0
22fi
23
24ovs_vsctl() {
0daa9cf2 25 ovs-vsctl --timeout=5 "$@"
86b87c92
GS
26}
27
28if (ovs_vsctl --version) > /dev/null 2>&1; then :; else
29 exit 0
30fi
31
9a8b5cc1
GS
32if /etc/init.d/openvswitch-switch status > /dev/null 2>&1; then :; else
33 /etc/init.d/openvswitch-switch start
34fi
35
86b87c92
GS
36if [ "${MODE}" = "start" ]; then
37 eval OVS_EXTRA=\"${IF_OVS_EXTRA}\"
38
39 case "${IF_OVS_TYPE}" in
40 OVSBridge)
41 ovs_vsctl -- --may-exist add-br "${IFACE}" ${IF_OVS_OPTIONS}\
42 ${OVS_EXTRA+-- $OVS_EXTRA}
43
44 if [ ! -z "${IF_OVS_PORTS}" ]; then
45 ifup --allow="${IFACE}" ${IF_OVS_PORTS}
46 fi
47 ;;
48 OVSPort)
49 ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
50 "${IFACE}" ${IF_OVS_OPTIONS} \
51 ${OVS_EXTRA+-- $OVS_EXTRA}
52
53 ifconfig "${IFACE}" up
54 ;;
55 OVSIntPort)
56 ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
57 "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}"\
58 type=internal ${OVS_EXTRA+-- $OVS_EXTRA}
59
60 ifconfig "${IFACE}" up
61 ;;
62 OVSBond)
63 ovs_vsctl -- --fake-iface add-bond "${IF_OVS_BRIDGE}"\
64 "${IFACE}" ${IF_OVS_BONDS} ${IF_OVS_OPTIONS} \
65 ${OVS_EXTRA+-- $OVS_EXTRA}
66
67 ifconfig "${IFACE}" up
41fc9c18
GS
68 for slave in ${IF_OVS_BONDS}
69 do
70 ifconfig "${slave}" up
71 done
86b87c92 72 ;;
5b245e73
GS
73 OVSPatchPort)
74 ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
75 "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
76 type=patch options:peer="${IF_OVS_PATCH_PEER}" \
77 ${OVS_EXTRA+-- $OVS_EXTRA}
78 ;;
364e0394
GS
79 OVSTunnel)
80 ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\
81 "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \
82 type=${IF_OVS_TUNNEL_TYPE} ${IF_OVS_TUNNEL_OPTIONS} \
83 ${OVS_EXTRA+-- $OVS_EXTRA}
84 ;;
86b87c92
GS
85 *)
86 exit 0
87 ;;
88 esac
89elif [ "${MODE}" = "stop" ]; then
90 case "${IF_OVS_TYPE}" in
91 OVSBridge)
92 if [ ! -z "${IF_OVS_PORTS}" ]; then
93 ifdown --allow="${IFACE}" ${IF_OVS_PORTS}
94 fi
95
96 ovs_vsctl -- --if-exists del-br "${IFACE}"
97 ;;
5b245e73 98 OVSPort|OVSIntPort|OVSBond|OVSPatchPort|OVSTunnel)
86b87c92
GS
99 ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}"
100 ;;
101 *)
102 exit 0
103 ;;
104 esac
105fi
106
107exit 0