bhyve code question, pci_virtio_net.c

Peter Grehan grehan at freebsd.org
Sat May 16 19:02:04 UTC 2015


Hi Allan,

> 1) According to the comment, the mac address should be based on the md5
> of the DEVICE name, not the VM name. Which is correct? Which is more
> desirable?

  The comment may not be specific enough - dev name meant 
/dev/vmm/<devname>, which is the same as the VM name.

> Would it make sense to include more unique information in this hash?
> like the host's UUID or something, to prevent the chance of more than 1
> VM on the same LAN having the same MAC if they have the same VM Name?

  Yes: see the discussion at
 
http://lists.freebsd.org/pipermail/freebsd-virtualization/2014-February/002187.html

  The issue was the changing the algorithm breaks existing Linux VMs 
which base configuration on MAC addresses.

  Using the host fixes one issue but creates another in that starting a 
VM on another host then gives a different MAC.

  However, there is always the option to set the MAC address manually if 
you feel there will be issues with collisions, using VMs on different 
hosts, etc.

> 2) Should bhyve instead use the FreeBSD assigned OUI for these MAC
> addresses?

  Yes, though switching to that would have had the same issue with 
breaking Linux guests.

  My rough plan to move forward with this is that any new non-virtio NIC 
emulation will get the FreeBSD OUI and perhaps a different default 
algorithm. virtio-net will continue to use the existing one, but maybe 
in the future a "legacy-mac" option will be required to use the old 
algorithm, and then it can be phased out.

  Yet another option is an auto-generated MAC is placed in a config file 
on first boot, ala VMWare. That could be the solution when config file 
work arrives.

later,

Peter.


More information about the freebsd-virtualization mailing list