Chipping in from some experience with my setup.
netgraph networking works very well with bhyve.
I use the following script to setup a bridge to link the virtual machine directly to the OPNSense LAN interface:
This creates a bridge linked to igc0 (my OPNsense LAN interface) and prepares for bhyve to attach.
bhyve can subsequently attach to the bridge as follows:
This has provided very stable and performant networking on the bhyve instance.
netgraph networking works very well with bhyve.
I use the following script to setup a bridge to link the virtual machine directly to the OPNSense LAN interface:
Code Select
# Setup ng_bridge if required
if ! ngctl status bnet0: >/dev/null 2>&1; then
ngctl -f- <<END
mkpeer igc0: bridge lower link0
name igc0:lower bnet0
connect igc0: bnet0: upper link1
msg igc0: setpromisc 1
msg igc0: setautosrc 0
END
fi
This creates a bridge linked to igc0 (my OPNsense LAN interface) and prepares for bhyve to attach.
bhyve can subsequently attach to the bridge as follows:
Code Select
bhyve \
-c sockets=1,cores=8,threads=1 \
-m 16G \
-s 0,hostbridge \
-s 2,virtio-blk,/vm/hdd.img \
-s 3,virtio-net,netgraph,path=bnet0:,peerhook=link2 \
-s 4,virtio-9p,data=/zdata/vm \
-s 5,virtio-rnd \
-s 31,lpc \
-l bootrom,/vm/BHYVE_UEFI.fd,/vm/efi-vars.fd \
-l com1,stdio \
-u \
-H -P -S \
This has provided very stable and performant networking on the bhyve instance.
"