QEMU_TASKSET_CPUS="4-7"
QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 2G"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
QEMU_TASKSET_CPUS="4-7"
QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 2G"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
QEMU_MEM_OPT="-m 4G"
QEMU_INPUT_OPT="-device virtio-tablet-device"
QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
QEMU_MEM_OPT="-m 4G"
QEMU_INPUT_OPT="-device virtio-tablet-device"
QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
--- /dev/null
+allow vmnet0
--- /dev/null
+[Service]
+ExecStart=
+ExecStart=/usr/sbin/connmand -n --nodnsproxy
--- /dev/null
+interface=vmnet0
+dhcp-range=172.16.10.1,172.16.10.5,255.255.255.0,12h
+dhcp-host=52:54:00:12:00:02,172.16.10.2
+dhcp-host=52:54:00:12:00:03,172.16.10.3
--- /dev/null
+[NetDev]
+Name=vmnet0
+Kind=bridge
--- /dev/null
+[Match]
+Name=vmnet0
+
+[Network]
+Address=172.16.10.1/24
+IPForward=yes
+IPMasquerade=yes
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
--- /dev/null
+SUMMARY = "Setting files for QEMU networking for guest VMs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd allarch
+
+SRC_URI = "file://vmnet0.netdev \
+ file://vmnet0.network \
+ file://bridge.conf \
+ file://dnsmasq-qemu.conf \
+ file://connman-nodnsproxy.conf \
+"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+QEMU_IMAGE = "agl-cluster-demo-platform"
+QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
+
+do_install() {
+ # Install systemd-networkd vmnet0 configuration
+ install -d ${D}${systemd_unitdir}/network
+ install -m 0644 ${WORKDIR}/vmnet0.netdev ${D}${systemd_unitdir}/network/
+ install -m 0644 ${WORKDIR}/vmnet0.network ${D}${systemd_unitdir}/network/
+
+ # Install QEMU bridge configuration
+ install -d ${D}${sysconfdir}/qemu
+ install -m 0644 ${WORKDIR}/bridge.conf ${D}${sysconfdir}/qemu/
+
+ # Configure dnsmasq to serve DHCP to the guests
+ install -d ${D}${sysconfdir}/dnsmasq.d
+ install -m 0644 ${WORKDIR}/dnsmasq-qemu.conf ${D}${sysconfdir}/dnsmasq.d/
+
+ # Disable ConnMan's local DNS proxy to not conflict with dnsmasq
+ install -d ${D}${systemd_system_unitdir}/connman.service.d/
+ install -m 0644 ${WORKDIR}/connman-nodnsproxy.conf ${D}${systemd_system_unitdir}/connman.service.d/
+}
+
+FILES:${PN} += "${systemd_unitdir}/network ${systemd_system_unitdir}"
+
+RDEPENDS:${PN} += "agl-qemu-runner dnsmasq connman"
-drive id=disk0,file=${disk},format=raw,if=none \
-serial mon:pty \
-object rng-random,filename=/dev/urandom,id=rng0 \
- -netdev user,id=net-user \
-device virtio-blk-device,drive=disk0 \
- -device virtio-net-device,netdev=net-user,mac=52:54:00:12:00:02 \
-device virtio-rng-device,rng=rng0 \
+ ${QEMU_NET_OPT} \
${QEMU_INPUT_OPT} \
-global virtio-mmio.force-legacy=false \
-device virtio-gpu-gl-device \
-display sdl,gl=on -vga std \
- ${QEMU_AUDIO_OPT} \
- ${QEMU_EXTRA_OPT} \
+ ${QEMU_AUDIO_OPT} \
+ ${QEMU_EXTRA_OPT} \
-full-screen