I have a couple of NetBSD guests on bhyve running for more than a year with no issues, here's the configuration:
$ grep vm /etc/rc.conf
vm_enable="YES"
vm_dir="/mnt/newcoruscant/vm"
vm_list="gcu nadd hass senate"
vm_delay="5"
$ cat /mnt/newcoruscant/vm/senate/senate.conf
loader="grub"
cpu=1
memory=2048M
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"
grub_install0="knetbsd -h -r cd0a /netbsd"
grub_run0="knetbsd -h -r ld0a /netbsd"
uuid="60b30b20-ccf5-22ef-ffff-7005ca3be3c6"
network0_mac="58:6c:ff:07:ed:ff"
$ cat /mnt/newcoruscant/vm/senate/grub.cfg
timeout=3
menuentry 'senate (bhyve run)' {
root=hd0,1
knetbsd -h -r ld0a /netbsd
}
From what I remember I followed bhyve-vm documentation; I don't use a ZFS backend as the machines images are stored on an NFS volume.