From: Richard Purdie Date: Tue, 6 Sep 2016 13:46:10 +0000 (+0100) Subject: runqemu: Allow unique network interface MAC addresses X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1cb381977840a8b9dc0bc2c824e7a2d0c627ef3;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git runqemu: Allow unique network interface MAC addresses Current qemu instances all share the same MAC address. This shouldn't be an issue as they are all on separate network interfaces, however on the slight chance this is causing problems, its easy enough to ensure we use unique MAC addresses based on the IP numbers we assign. (From OE-Core rev: c01962bf88786dd84ad83cc1d315297607d29f7c) Signed-off-by: Richard Purdie --- diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf index df76ee668e3..da59c338e43 100644 --- a/meta/conf/machine/qemuarm64.conf +++ b/meta/conf/machine/qemuarm64.conf @@ -16,7 +16,7 @@ QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,38400" QB_OPT_APPEND = "-show-cursor" -QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0,mac=@MAC@" QB_SLIRP_OPT = "-netdev user,id=net0 -device virtio-net-device,netdev=net0" QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf index 939c834a33d..e4c8dace7d0 100644 --- a/meta/conf/machine/qemuppc.conf +++ b/meta/conf/machine/qemuppc.conf @@ -17,4 +17,4 @@ QB_MACHINE = "-machine mac99" QB_CPU = "-cpu G4" QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" QB_OPT_APPEND = "-show-cursor -usb -usbdevice tablet" -QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-pci,netdev=net0" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-pci,netdev=net0,mac=@MAC@" diff --git a/scripts/runqemu b/scripts/runqemu index 91e72cbc504..c43db8c2272 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -736,11 +736,12 @@ class BaseConfig(object): if self.fstype == 'nfs': self.setup_nfs() self.kernel_cmdline_script += " ip=192.168.7.%s::192.168.7.%s:255.255.255.0" % (n2, n1) + mac = "52:54:00:12:34:%02x" % n2 qb_tap_opt = self.get('QB_TAP_OPT') if qb_tap_opt: - qemu_tap_opt = qb_tap_opt.replace('@TAP@', tap) + qemu_tap_opt = qb_tap_opt.replace('@TAP@', tap).replace('@MAC@', mac) else: - qemu_tap_opt = "-net nic,model=virtio -net tap,vlan=0,ifname=%s,script=no,downscript=no" % self.tap + qemu_tap_opt = "-net nic,model=virtio,mac=%s -net tap,vlan=0,ifname=%s,script=no,downscript=no" % (mac, self.tap) if self.vhost_enabled: qemu_tap_opt += ',vhost=on'