vm-bhyve port upgrade

Matt Churchyard matt.churchyard at userve.net
Mon Nov 16 15:35:06 UTC 2015


On Thu, Nov 12, 2015 at 4:37 AM, Matt Churchyard via freebsd-virtualization <freebsd-virtualization at freebsd.org<mailto:freebsd-virtualization at freebsd.org>> wrote:
Hello,

For anyone interested I have submitted a PR to update the version of vm-bhyve in the ports tree.
Primarily this fixes the off-putting, but completely benign error printed when users run 'vm init' (the very first thing to run...)
I've no idea if I've got the diff format right though.

Also adds various small fixes, and the following changes since the last ports version:

Command to rename a guest
Configuration options for utctime, hostbridge, disk options, debug mode, custom grub commands, virtual random device
Snapshot and rollback commands when using ZFS
Allows use of custom bridges and/or tap devices in addition to the normal automated networking
Ability to specify a custom path for disk devices
Guests can now automatically attach correctly to virtual switches if the real interface(s) (and thus the bridge) are using jumbo frames
Template options to specify zfs dataset/zvol properties to apply when creating a guest (most useful for zvol volblocksize)
New 'info' commands showing detailed guest/switch details including disk & network usage
No longer replaces dnsmasq.conf, just provides a sample config for the user to apply if they want dhcp on a nat-enabled virtual switch.

> If I statically define MAC addresses, is there a possibility for collisions?
> I think it would be better to default to an auto generated permanent MAC.
> --
> Adam

At the moment the default is to just let bhyve handle mac addresses as normal. I have considered assigning static addresses to guests, as the bhyve man page suggests their mac addresses are only unique based on slot/func & device name. This could mean guests on different hosts get the same mac at the same time, or guests on the same machine - if they are run at different times and use the same tap interface. The current bhyve code also means the mac could change if I assign a different slot/func or tap device for a guest.

If a user manually specifies a mac address in the guest configuration then obviously it becomes the users responsibility to make sure it’s unique in their environment.

I am now looking at actually implementing static macs for all interfaces, as I’d rather guests saw the same mac address every run just in case they tie configuration to the mac (important for vm-bhyve as simply starting guests in a different order will change what tap devices they get). Also tap/slot/func isn’t much of a uniqueness guarantee across multiple hosts.

Matt


More information about the freebsd-virtualization mailing list