Description of problem:
When running more than one qemu(-kvm) instance on a given machine,
simulated network devices share the default macaddr. On a brctl
type bridge, this makes all but one unusable at a time.
Version-Release number of selected component (if applicable):
qemu-0.9.0 / kvm-36-7
Steps to Reproduce:
1. Run qemu(-kvm) with "-net nic -net tap" ..., with a suitable /etc/qemu-ifup
w/ brctl for a bridged interface
2. Observe it'll show up in arp and be fully networked
3. Start up another virtual machine.
4. Observe that it will share the same MAC address.
Network traffic to all but one of the VMs is blocked.
All VMs can talk independently concurrently.
By providing a non-default "-net nic,macaddr=AA:BB:CC:DD:EE:FF" parameter,
with different AA:...:FF of course, all virtual machines happily chat. What
I'd like to see is the default (52:54:00:12:34:56) mac address to be replaced
by a randomized/unique one, so a VM user does not have to bother.
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
seems we have the same problem on RH5.2
ifconfig -a on VM shows same MAC on all interfaces
Hm, I'm not exactly sure that qemu is the right level to be solving this problem. I can imagine a developer scenario where you want to make sure that your guest always has the same MAC, so that it always gets the same IP address for easy access, etc.
If you use the higher level management tools like libvirt, this problem goes away. Libvirt does in fact randomize mac addresses (if not specified), so it takes care of this issue but at a higher level. Does that suffice for your purposes?
(In reply to comment #3)
> Hm, I'm not exactly sure that qemu is the right level to be solving this
> problem. I can imagine a developer scenario where you want to make sure that
> your guest always has the same MAC, so that it always gets the same IP address
> for easy access, etc.
Perhaps a simple change would be then to generate the MAC address based upon
a hash/random-seed based upon things like the disk image file's inode, or
a few similar quantities. Those developers who really want to make sure of
the address staying the same can of course supply the macaddr manually. The
question is which one is likely to make more sense by default.
> If you use the higher level management tools like libvirt, this problem goes
Well sure, one can wrap qemu any which way to do this, but the default
still seems unhelpful for users of multiple VMs.
Upstream decided to reject this feature:
Closing as WONTFIX ... there's not too much point in debating the merits of it here if upstream has already rejected it. Please feel free to discuss further on email@example.com. Thanks