vmd(8) moves to a multi-process model
by from OpenBSD Journal on (#6C81T)
Dave Voutila (dv@)committeda change which brings a multi-process model tovmd(8),enhancing both security and performance:
CVSROOT:/cvsModule name:srcChanges by:dv@cvs.openbsd.org2023/04/27 16:47:27Modified files:usr.sbin/vmd : Makefile dhcp.c vioqcow2.c vioraw.c virtio.c virtio.h vm.c vmd.c vmd.h vmm.c Added files:usr.sbin/vmd : vioblk.c vionet.c Log message:vmd(8): introduce multi-process model for virtio devices.Isolate virtio network and block device emulation in dedicatedprocesses, forked and exec'd from the vm process. This allows fortightening pledge promises to just "stdio".Communication between the vcpu's and these devices now occurs viaimsg channels, which adds the benefit of not always blocking thevcpu thread while emulating the device.