bhyve + ipv6
This is how to set assign IPv6 addresses to guest within
bhyve on a server with one single network card, the trick
to make this to work is to assign the/handle the IPs within the bridge in
ifconfig_igb0="inet X.X.X.X netmask 255.255.255.XXX" defaultrouter="X.X.X.X" gateway_enable="YES" ipv6_activate_all_interfaces="YES" ipv6_defaultrouter="fe80::1%bridge0" ipv6_gateway_enable="YES" cloned_interfaces="bridge0 tap0" autobridge_interfaces="bridge0" autobridge_bridge0="tap* igb0" ifconfig_bridge0="addm igb0 addm tap0 up description bhyve" ifconfig_bridge0_ipv6="inet6 2a01:4f8:350:84ec::1 prefixlen 64 auto_linklocal" rtadvd_enable="YES" rtadvd_interfaces="bridge0"
bridge0:\ :addr="2a01:4f8:350:84ec::":prefixlen#64:\ :rdnss="2a01:4f8:350:84ec::1":\ :dnssl="nbari.com":
By doing this, the bhyve guest VM’s can ping the main host, and use local services like unbound for DNS resolution.
In the logs you will notice something like this:
bridge0: IPv6 addresses on igb0 have been removed before adding it as a member to prevent IPv6 address scope violation.
This can be avoided by using:
But will cause in terms that the guests may get an IP but not the router gateway.