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
F116334635: D25132.id72842.diff
Mon, May 5, 1:05 PM
Unknown Object (File)
Sat, May 3, 1:24 AM
Unknown Object (File)
Tue, Apr 29, 1:24 PM
Unknown Object (File)
Tue, Apr 22, 7:51 AM
Unknown Object (File)
Mar 10 2025, 11:02 AM
Unknown Object (File)
Feb 9 2025, 4:59 AM
Unknown Object (File)
Jan 23 2025, 10:18 PM
Unknown Object (File)
Jan 20 2025, 8:44 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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable