You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the FreeBSD boot process, it resets network devices. (Why? Good question.) When running in Firecrackers, this means resetting the vtnet device.
Describe the desired solution
When a status of 0 is written to the virtio device, it should reset.
It looks like the MMIO code in Firecracker gets this right, but it calls a _reset routine for the device and none of the devices have implemented it. As a result, the device is currently entering FAILED state instead.
Describe possible alternatives
FreeBSD's virtio driver doesn't actually notice that the device is in FAILED state, and Firecracker's devices continue to work despite being marked as FAILED -- so everything ends up working except for Firecracker logging warnings of ack virtio features in invalid state 0x8f and update virtio queue in invalid state 0x8f. But this (arguably buggy) behaviour of ignoring that the device has failed could change in the future, so it would be good to avoid having it marked as failed in the first place.
Additional context
Checks
Have you searched the Firecracker Issues database for similar requests?
Have you read all the existing relevant Firecracker documentation?
Have you read and understood Firecracker's core tenets?
The text was updated successfully, but these errors were encountered:
@alsrdn Happy to share, but FreeBSD relies on PVH booting (see #3041) so it doesn't work on mainline Firecracker yet. Unless you want to work on virtio reset urgently I'd suggest waiting until I can get PVH support merged to Firecracker (which is next on my to-do list after I finish the outstanding issues on FreeBSD's side).
Feature Request
During the FreeBSD boot process, it resets network devices. (Why? Good question.) When running in Firecrackers, this means resetting the vtnet device.
Describe the desired solution
When a status of
0
is written to the virtio device, it should reset.It looks like the MMIO code in Firecracker gets this right, but it calls a
_reset
routine for the device and none of the devices have implemented it. As a result, the device is currently enteringFAILED
state instead.Describe possible alternatives
FreeBSD's virtio driver doesn't actually notice that the device is in FAILED state, and Firecracker's devices continue to work despite being marked as FAILED -- so everything ends up working except for Firecracker logging warnings of
ack virtio features in invalid state 0x8f
andupdate virtio queue in invalid state 0x8f
. But this (arguably buggy) behaviour of ignoring that the device has failed could change in the future, so it would be good to avoid having it marked as failed in the first place.Additional context
Checks
The text was updated successfully, but these errors were encountered: