diff options
-rw-r--r-- | testing/openvswitch/APKBUILD | 29 | ||||
-rw-r--r-- | testing/openvswitch/ifupdown-alpine.patch | 51 | ||||
-rwxr-xr-x | testing/openvswitch/ifupdown.sh | 99 | ||||
-rw-r--r-- | testing/openvswitch/ovs-vswitchd.initd | 14 |
4 files changed, 177 insertions, 16 deletions
diff --git a/testing/openvswitch/APKBUILD b/testing/openvswitch/APKBUILD index b76707bfce..4d7e4a51a0 100644 --- a/testing/openvswitch/APKBUILD +++ b/testing/openvswitch/APKBUILD @@ -2,11 +2,11 @@ # Maintainer: Stuart Cardall <developer@it-offshore.co.uk> pkgname=openvswitch pkgver=2.3.0 -pkgrel=5 -pkgdesc="A production quality, multilayer virtual switch - includes Kernel Modules for best performance." +pkgrel=6 +pkgdesc="A production quality, multilayer virtual switch" url="http://openvswitch.org/" arch="all" -license="GPL" +license="ASL 2.0" depends="" depends_dev="openssl-dev" makedepends="$depends_dev perl python" @@ -20,6 +20,7 @@ source="http://openvswitch.org/releases/$pkgname-$pkgver.tar.gz ovs-modules.initd musl-if_packet.patch 0001-ovs-thread-Set-stacksize-to-1M.patch + ifupdown-alpine.patch " _builddir="$srcdir"/$pkgname-$pkgver @@ -70,29 +71,39 @@ package() { "$pkgdir"/etc/conf.d/ovsdb-server || return 1 install -Dm644 "$srcdir"/ovs-vswitchd.confd \ "$pkgdir"/etc/conf.d/ovs-vswitchd + + install -d "$pkgdir"/etc/network/if-pre-up.d \ + "$pkgdir"/etc/network/if-post-down.d || return 1 + install -m755 debian/ifupdown.sh \ + "$pkgdir"/etc/network/if-pre-up.d/openvswitch || return 1 + ln -s ../if-pre-up.d/openvswitch \ + "$pkgdir"/etc/network/if-post-down.d/openvswitch || return 1 } md5sums="9c4d1471a56718132e0157af1bfc9310 openvswitch-2.3.0.tar.gz b31c5fff2ba358dc6af49ab6ffcdecbf ovsdb-server.initd f10a8ac784654bec359bda52779f16fe ovsdb-server.confd -003297c9ec93877508812332101c2bf5 ovs-vswitchd.initd +93e79e5a556e6fe03121cf7b63f7f2a2 ovs-vswitchd.initd 2d1e0111ea62779f49e14d62678294b2 ovs-vswitchd.confd ae128e5c349710c0fb3849b2d3b3aa40 ovs-modules.initd 6e17032bd6e7caf6e6e844b5a84d7080 musl-if_packet.patch -59fa9a6d293a25571562a5190ae559f2 0001-ovs-thread-Set-stacksize-to-1M.patch" +59fa9a6d293a25571562a5190ae559f2 0001-ovs-thread-Set-stacksize-to-1M.patch +efb3c073b7c475d9fb3999a38e4f92c0 ifupdown-alpine.patch" sha256sums="011052645cd4c7afee2732e87d45e589a0540ac7b7523027d3be2d7c7db7c899 openvswitch-2.3.0.tar.gz d7791b1e7e84955489f88e457631c6cedfeff26c5865c8569b69e1bd96633dc7 ovsdb-server.initd d0d8a6a7256f4cc47ab1b9f9f7657202388133bcfff3668e7c1d4adbcc572261 ovsdb-server.confd -591d8c10080ba2fa2ddf5bf8da281d931421c95ff728f56fbaa10be7c3d8431c ovs-vswitchd.initd +be2c3d3df016462a5d633ec24faf7cb9f3e5ff87f860d9a5e65571d167e90d38 ovs-vswitchd.initd cc189d5ca24708ff775a4de312df3f611c65714724b8901ec6527c9e3f22e14a ovs-vswitchd.confd 94f4dba5e2ddedb9c91911b02dbfc41a5114e8a5066a8db3ef4444ebb5400173 ovs-modules.initd d0e9e3e30b2943b10e7efa59c41c3bf8d5b599d55fc99198146bf4761df4d8ae musl-if_packet.patch -faf997814e89b0b5948c06050ef38051f0bc6b108958f76313263f77a724906c 0001-ovs-thread-Set-stacksize-to-1M.patch" +faf997814e89b0b5948c06050ef38051f0bc6b108958f76313263f77a724906c 0001-ovs-thread-Set-stacksize-to-1M.patch +d2284376febcdb465ef2f216be01be52dab2a9726624b12c5cc47fb0d955d1b1 ifupdown-alpine.patch" sha512sums="f3a665bc84d8a6e282928db61ae648a826f273e44e34311a60e6f0e74a6ab10c8410cb374f0ce80abe7c58b9559a97388cdbfe2ef28ac4bedd2f5e52b3cd6ed1 openvswitch-2.3.0.tar.gz 7b6b0a3c42839053d21ff72b576d92ba08ee5d900faa25fa04a183114a55c4d7dc85538cd7d3333386a27d7a7f632c1d2a38a2b950972c29d11d96addaffa27c ovsdb-server.initd b1588d076bbfc7ef2dd46fce8e46186f40cbbc4667697f7ac13ddc68e34568fdab315fde47838de7f6d32916853190336cfe3735f672ad7cb624ae14dbff55a5 ovsdb-server.confd -3d493047a6729b7e0742438de828a2530acbcdac9c1c410786bf1eefb5e9f09850fb479f45245f550d1077146d4545fb91a845ae79f673b6c1c2902220920e33 ovs-vswitchd.initd +1b929c25a4b902122550003d23ae178580fa175c57427050c43504b33e212d3d76ff4f1f266a5f815165e9c014d044d8bf3815432fbd86c5f7ee854bcace6d94 ovs-vswitchd.initd 346aea099f51707d2b4fc9fdc8c1502582723fb4e00c4d5d1624b0378c94dfb76674fa95e2af894f36169df52109dbe441ee6a45aa744584d9e4c74d15a46c1d ovs-vswitchd.confd e1f88ff11cd1d5a4025626acad49411e8a2d5d7caa20d0a63ef0422a9b1bb55b070843327d8bb209e1e915d2a3f1c3bcae911acf40e0a419bc6cce6250239232 ovs-modules.initd 1ebfb2629081cc0b34383e6c2f163f3c1d43da3a399b8ba8745871b77029d3b8fc21a287ff859a6a9cca2cb4885715458d4e4086cb6c17765ff7c898d4004850 musl-if_packet.patch -5fed04e68b58ab322154fa1cc4c4b63b08c22ed41f0b7713dbe8437f7cb4e9fd93c8aba524c2e5a46bba956da9439f5bfe5ba6fcdff2b98fa9bbcc748c5b64db 0001-ovs-thread-Set-stacksize-to-1M.patch" +5fed04e68b58ab322154fa1cc4c4b63b08c22ed41f0b7713dbe8437f7cb4e9fd93c8aba524c2e5a46bba956da9439f5bfe5ba6fcdff2b98fa9bbcc748c5b64db 0001-ovs-thread-Set-stacksize-to-1M.patch +eb24886fd8110adde4a68f7ab0887af0cdf88e27d58f030208a0a9d7aef0065b8c5f7e2d489ff48c82ba386fbb9575c0273c5d4958e2638263ea78824242354e ifupdown-alpine.patch" diff --git a/testing/openvswitch/ifupdown-alpine.patch b/testing/openvswitch/ifupdown-alpine.patch new file mode 100644 index 0000000000..e35b4aa64a --- /dev/null +++ b/testing/openvswitch/ifupdown-alpine.patch @@ -0,0 +1,51 @@ +--- ./debian/ifupdown.sh.orig ++++ ./debian/ifupdown.sh +@@ -38,7 +38,8 @@ + ${OVS_EXTRA+-- $OVS_EXTRA} + + if [ ! -z "${IF_OVS_PORTS}" ]; then +- ifup --allow="${IFACE}" ${IF_OVS_PORTS} ++# ifup --allow="${IFACE}" ${IF_OVS_PORTS} ++ ifup ${IF_OVS_PORTS} + fi + ;; + OVSPort) +@@ -46,24 +47,24 @@ + "${IFACE}" ${IF_OVS_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + +- ifconfig "${IFACE}" up ++ ip link set dev "${IFACE}" up + ;; + OVSIntPort) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}"\ + type=internal ${OVS_EXTRA+-- $OVS_EXTRA} + +- ifconfig "${IFACE}" up ++ ip link set dev "${IFACE}" up + ;; + OVSBond) + ovs_vsctl -- --fake-iface add-bond "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_BONDS} ${IF_OVS_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + +- ifconfig "${IFACE}" up ++ ip link set dev "${IFACE}" up + for slave in ${IF_OVS_BONDS} + do +- ifconfig "${slave}" up ++ ip link set dev "${slave}" up + done + ;; + OVSTunnel) +@@ -80,7 +81,8 @@ + case "${IF_OVS_TYPE}" in + OVSBridge) + if [ ! -z "${IF_OVS_PORTS}" ]; then +- ifdown --allow="${IFACE}" ${IF_OVS_PORTS} ++# ifdown --allow="${IFACE}" ${IF_OVS_PORTS} ++ ifdown ${IF_OVS_PORTS} + fi + + ovs_vsctl -- --if-exists del-br "${IFACE}" diff --git a/testing/openvswitch/ifupdown.sh b/testing/openvswitch/ifupdown.sh new file mode 100755 index 0000000000..9c0054f7d0 --- /dev/null +++ b/testing/openvswitch/ifupdown.sh @@ -0,0 +1,99 @@ +#! /bin/sh + +# Copyright (c) 2012, 2013 Nicira, 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. + +# Have a look at /usr/share/doc/openvswitch-switch/README.Debian +# for more information about configuring the /etc/network/interfaces. + +if [ -z "${IF_OVS_TYPE}" ]; then + exit 0 +fi + +ovs_vsctl() { + ovs-vsctl --timeout=5 "$@" +} + +if (ovs_vsctl --version) > /dev/null 2>&1; then :; else + exit 0 +fi + +if [ "${MODE}" = "start" ]; then + eval OVS_EXTRA=\"${IF_OVS_EXTRA}\" + + case "${IF_OVS_TYPE}" in + OVSBridge) + ovs_vsctl -- --may-exist add-br "${IFACE}" ${IF_OVS_OPTIONS}\ + ${OVS_EXTRA+-- $OVS_EXTRA} + + if [ ! -z "${IF_OVS_PORTS}" ]; then +# ifup --allow="${IFACE}" ${IF_OVS_PORTS} + ifup ${IF_OVS_PORTS} + fi + ;; + OVSPort) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + + ip link set dev "${IFACE}" up + ;; + OVSIntPort) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}"\ + type=internal ${OVS_EXTRA+-- $OVS_EXTRA} + + ip link set dev "${IFACE}" up + ;; + OVSBond) + ovs_vsctl -- --fake-iface add-bond "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_BONDS} ${IF_OVS_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + + ip link set dev "${IFACE}" up + for slave in ${IF_OVS_BONDS} + do + ip link set dev "${slave}" up + done + ;; + OVSTunnel) + ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ + "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}" \ + type=${IF_OVS_TUNNEL_TYPE} ${IF_OVS_TUNNEL_OPTIONS} \ + ${OVS_EXTRA+-- $OVS_EXTRA} + ;; + *) + exit 0 + ;; + esac +elif [ "${MODE}" = "stop" ]; then + case "${IF_OVS_TYPE}" in + OVSBridge) + if [ ! -z "${IF_OVS_PORTS}" ]; then +# ifdown --allow="${IFACE}" ${IF_OVS_PORTS} + ifdown ${IF_OVS_PORTS} + fi + + ovs_vsctl -- --if-exists del-br "${IFACE}" + ;; + OVSPort|OVSIntPort|OVSBond|OVSTunnel) + ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}" + ;; + *) + exit 0 + ;; + esac +fi + +exit 0 diff --git a/testing/openvswitch/ovs-vswitchd.initd b/testing/openvswitch/ovs-vswitchd.initd index debdf61560..1cc9b35a5f 100644 --- a/testing/openvswitch/ovs-vswitchd.initd +++ b/testing/openvswitch/ovs-vswitchd.initd @@ -5,21 +5,21 @@ description="Open vSwitch virtual switch" +pidfile="/var/run/openvswitch/ovs-vswitchd.pid" command="/usr/sbin/ovs-vswitchd" command_args=" - --pidfile + --pidfile=$pidfile --detach --monitor ${OPTIONS} ${DATABASE}" -pidfile="/var/run/openvswitch/ovs-vswitchd.pid" depend() { - need localmount ovsdb-server - after bootmisc hwdrivers modules - before net - use logger + need localmount ovsdb-server + after bootmisc hwdrivers modules + before net + use logger } start_pre() { - checkpath -d "/var/run/openvswitch" -m 0750 + checkpath --directory "${pidfile%/*}" --mode 0750 } |