Add tap(4) read events after rx virtqueue notification.
authordv <dv@openbsd.org>
Sat, 3 Feb 2024 21:41:35 +0000 (21:41 +0000)
committerdv <dv@openbsd.org>
Sat, 3 Feb 2024 21:41:35 +0000 (21:41 +0000)
commit25efc16951b0bbf3f2e66db54e266affb1449084
tree662add912be7b5cf80c27ce9380e8b8d663eb4ba
parenta51b161a23e3b3ca348910d6463c7e4b04b56f5a
Add tap(4) read events after rx virtqueue notification.

The recent vmd(8) vionet refactor caused cpu spinning when the
device would be activated by a driver but before virtqueues were
provided. (e.g. booting a ramdisk kernel and not running `ifconfig
vio0 up`)

Defer adding the tap and packet injection read events until after
the first RX queue notification from the driver.

ok mlarkin@
usr.sbin/vmd/vionet.c