summaryrefslogtreecommitdiffstats
path: root/bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb
diff options
context:
space:
mode:
authortakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
committertakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
commit1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch)
treecd70a267a5ef105ba32f200aa088e281fbd85747 /bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb
parent4204309872da5cb401cbb2729d9e2d4869a87f42 (diff)
recipes
Diffstat (limited to 'bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb')
-rw-r--r--bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb52
1 files changed, 52 insertions, 0 deletions
diff --git a/bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb b/bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb
new file mode 100644
index 00000000..babd694d
--- /dev/null
+++ b/bsp/meta-arm/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bb
@@ -0,0 +1,52 @@
+# Recipe to handle xenguest network configuration
+DESCRIPTION = "XenGuest Network Bridge"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+S = "${WORKDIR}"
+
+# Please refer to documentation/xenguest-network-bridge.md for documentation on
+# those parameters
+XENGUEST_NETWORK_BRIDGE_NAME ?= "xenbr0"
+XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0"
+XENGUEST_NETWORK_BRIDGE_CONFIG ?= "xenguest-network-bridge-dhcp.cfg.in"
+
+SRC_URI = " \
+ file://xenguest-network-bridge.in \
+ file://xenguest-network-bridge-dhcp.cfg.in \
+ file://network-bridge.sh.in \
+ "
+
+# Bridge configurator needs to run before S01networking init script
+# Prefix with a_ to make sure it is executed in runlevel 01 before others
+INITSCRIPT_NAME = "a_xenguest-network-bridge"
+INITSCRIPT_PARAMS = "defaults 01"
+
+inherit update-rc.d
+
+do_install() {
+ cat ${WORKDIR}/xenguest-network-bridge.in \
+ | sed -e "s,###BRIDGE_MEMBERS###,${XENGUEST_NETWORK_BRIDGE_MEMBERS}," \
+ | sed -e "s,###BRIDGE_NAME###,${XENGUEST_NETWORK_BRIDGE_NAME}," \
+ > ${WORKDIR}/xenguest-network-bridge
+ cat ${WORKDIR}/${XENGUEST_NETWORK_BRIDGE_CONFIG} \
+ | sed -e "s,###BRIDGE_NAME###,${XENGUEST_NETWORK_BRIDGE_NAME}," \
+ > ${WORKDIR}/xenguest-network-bridge.cfg
+ cat ${WORKDIR}/network-bridge.sh.in \
+ | sed -e "s,###BRIDGE_NAME###,${XENGUEST_NETWORK_BRIDGE_NAME}," \
+ > ${WORKDIR}/network-bridge.sh
+ install -d -m 755 ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/xenguest-network-bridge \
+ ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+ install -d -m 755 ${D}${sysconfdir}/network/interfaces.d
+ install -m 755 ${WORKDIR}/xenguest-network-bridge.cfg \
+ ${D}${sysconfdir}/network/interfaces.d/.
+ install -d -m 755 ${D}${sysconfdir}/xenguest/init.pre
+ install -m 755 ${WORKDIR}/network-bridge.sh \
+ ${D}${sysconfdir}/xenguest/init.pre/.
+}
+
+RDEPENDS_${PN} += "bridge-utils"
+FILES_${PN} += "${sysconfdir}/network/interfaces.d/xenguest-network-bridge.cfg"
+FILES_${PN} += "${sysconfdir}/xenguest/init.pre/network-bridge.sh"