aboutsummaryrefslogtreecommitdiff
path: root/recipes-networking
diff options
context:
space:
mode:
authorPaul Barrette <paul.barrette@windriver.com>2013-06-03 17:02:27 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-06-03 18:07:39 -0400
commit8499649a5f08e0be26ea6ef8a3feea5d97e80fa7 (patch)
tree1011104df21888bf1f8b042e03665135ebcf518c /recipes-networking
parent7c1e073e8cde367417ca59f37cb2f5af650eea6f (diff)
openvswitch: uprev to 1.10 and documentation update.
-Uprev to 1.10 -removed vswitch_test.sh -added openvswitch.txt. Signed-off-by: Paul Barrette <paul.barrette@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'recipes-networking')
-rw-r--r--recipes-networking/openvswitch/openvswitch_1.10.0.bb102
1 files changed, 102 insertions, 0 deletions
diff --git a/recipes-networking/openvswitch/openvswitch_1.10.0.bb b/recipes-networking/openvswitch/openvswitch_1.10.0.bb
new file mode 100644
index 0000000..2e89454
--- /dev/null
+++ b/recipes-networking/openvswitch/openvswitch_1.10.0.bb
@@ -0,0 +1,102 @@
+SUMMARY = "OpenvSwitch"
+DESCRIPTION = "Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)"
+HOMEPAGE = "http://openvswitch.org/"
+SECTION = "networking"
+LICENSE = "Apache-2"
+
+DEPENDS += "bridge-utils openssl python perl"
+
+RDEPENDS_${PN} += "util-linux-uuidgen util-linux-libuuid \
+ python perl perl-module-strict ${PN}-switch ${PN}-controller"
+RDEPENDS_${PN}-controller = "${PN} lsb ${PN}-pki"
+RDEPENDS_${PN}-switch = "${PN} openssl procps util-linux-uuidgen"
+RDEPENDS_${PN}-pki = "${PN}"
+RDEPENDS_${PN}-brcompat = "${PN} ${PN}-switch"
+RRECOMMENDS_${PN} += "kernel-module-openvswitch"
+
+PR = "r0"
+
+SRC_URI = "http://openvswitch.org/releases/openvswitch-${PV}.tar.gz \
+ file://openvswitch-switch \
+ file://openvswitch-switch-setup \
+ file://openvswitch-controller \
+ file://openvswitch-controller-setup \
+ "
+
+SRC_URI[md5sum] = "e9004202b0e10c0de9870f19d2044f11"
+SRC_URI[sha256sum] = "825730db82c7b46a142f057a43345590c299e66704ef7a88d9ed4ffd0c3d6b64"
+LIC_FILES_CHKSUM = "file://COPYING;md5=49eeb5acb1f5e510f12c44f176c42253"
+
+# Don't compile kernel modules by default since it heavily depends on
+# kernel version. Use the in-kernel module for now.
+# distro layers can enable with EXTRA_OECONF_pn_openvswitch += ""
+# EXTRA_OECONF = "--with-linux=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}"
+
+ALLOW_EMPTY_${PN}-pki = "1"
+PACKAGES =+ "${PN}-controller ${PN}-switch ${PN}-brcompat ${PN}-pki"
+
+FILES_${PN}-controller = "${sysconfdir}/init.d/openvswitch-controller \
+ ${sysconfdir}/default/openvswitch-controller \
+ ${sysconfdir}/openvswitch-controller \
+ ${bindir}/ovs-controller"
+
+FILES_${PN}-brcompat = "${sbindir}/ovs-brcompatd"
+
+FILES_${PN}-switch = "${sysconfdir}/init.d/openvswitch-switch \
+ ${sysconfdir}/default/openvswitch-switch \
+ "
+# silence a warning
+FILES_${PN} += "${datadir}/ovsdbmonitor"
+
+inherit autotools update-rc.d
+
+INITSCRIPT_PACKAGES = "${PN}-switch ${PN}-controller"
+INITSCRIPT_NAME_${PN}-switch = "openvswitch-switch"
+INITSCRIPT_PARAMS_${PN}-switch = "defaults 71"
+
+INITSCRIPT_NAME_${PN}-controller = "openvswitch-controller"
+INITSCRIPT_PARAMS_${PN}-controller = "defaults 72"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/default/
+ install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch
+ install -d ${D}/${sysconfdir}/openvswitch-controller
+ install -m 660 ${WORKDIR}/openvswitch-controller-setup ${D}/${sysconfdir}/default/openvswitch-controller
+
+ install -d ${D}/${sysconfdir}/init.d/
+ install -m 755 ${WORKDIR}/openvswitch-controller ${D}/${sysconfdir}/init.d/openvswitch-controller
+ install -m 755 ${WORKDIR}/openvswitch-switch ${D}/${sysconfdir}/init.d/openvswitch-switch
+ true || rm -fr ${D}/${datadir}/${PN}/pki
+}
+
+pkg_postinst_${PN}-pki () {
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ if test ! -d $D/${datadir}/${PN}/pki; then
+ ovs-pki init --dir=$D/${datadir}/${PN}/pki
+ fi
+}
+
+pkg_postinst_${PN}-controller () {
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+
+ cd $D/${sysconfdir}/openvswitch-controller
+ if ! test -e cacert.pem; then
+ ln -s $D/${datadir}/${PN}/pki/switchca/cacert.pem cacert.pem
+ fi
+ if ! test -e privkey.pem || ! test -e cert.pem; then
+ oldumask=$(umask)
+ umask 077
+ ovs-pki req+sign --dir=$D/${datadir}/${PN}/pki tmp controller >/dev/null
+ mv tmp-privkey.pem privkey.pem
+ mv tmp-cert.pem cert.pem
+ mv tmp-req.pem req.pem
+ chmod go+r cert.pem req.pem
+ umask $oldumask
+ fi
+}