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
{{ message }}
Repository navigation
libkrun: report the net worker's rx stall upstream #1180
Our fork nixidae/libkrun carries a fix (87716f7b) that upstream libkrun does not have. User decides whether to report it to libkrun/libkrun.
The bug, in src/devices/src/virtio/net/worker/unix.rs:
When the guest's rx queue is full, the worker defers a frame and turns rx notifications off.
The guest then refills its queue without a kick.
The backend socket is edge-triggered, so nothing wakes the worker. Rx stops for good.
Queue::enable_notification returns true when buffers arrived in between. The old code ignores that answer. The fix re-arms and loops while it returns true.
Evidence (passt uplink, sustained iperf3 to the guest):
libkrun's socket held 211 KB unread, passt's 24 KB.
The guest showed no drops, free rx buffers, and its last rx 674 s earlier.
2 of 6 by-hand runs stalled before the fix, 0 of 8 after.
Activity