Page MenuHomeFreeBSD

virtio: Support non-legacy network device and queue
ClosedPublic

Authored by jrtc27 on Jun 4 2020, 7:02 PM.
Tags
None
Referenced Files
F151354056: D25132.id.diff
Tue, Apr 7, 8:28 PM
Unknown Object (File)
Tue, Apr 7, 4:33 AM
Unknown Object (File)
Tue, Apr 7, 1:45 AM
Unknown Object (File)
Mon, Apr 6, 8:38 AM
Unknown Object (File)
Sun, Apr 5, 2:27 AM
Unknown Object (File)
Sun, Mar 22, 3:08 PM
Unknown Object (File)
Sun, Mar 22, 8:39 AM
Unknown Object (File)
Tue, Mar 17, 3:36 AM
Subscribers

Details

Summary

The non-legacy interface always defines num_buffers in the header,
regardless of whether VIRTIO_NET_F_MRG_RXBUF, just leaving it unused. We
also need to ensure our virtqueue doesn't filter out VIRTIO_F_VERSION_1
during negotiation, as it supports non-legacy transports just fine. This
fixes network packet transmission on TinyEMU.

Test Plan

Network interface still works in QEMU (which provides a legacy device by
default), but now also works on a TinyEMU-based system.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 31491
Build 29098: arc lint + arc unit