Page MenuHomeFreeBSD

virtio: use modern mode for transitional device by default
ClosedPublic

Authored by timo.voelker_fh-muenster.de on Mar 17 2026, 10:07 AM.
Tags
None
Referenced Files
F174744241: D55894.diff
Mon, Oct 5, 4:36 PM
Unknown Object (File)
Thu, Oct 1, 1:29 PM
Unknown Object (File)
Thu, Sep 24, 7:16 AM
Unknown Object (File)
Wed, Sep 16, 5:42 AM
Unknown Object (File)
Fri, Sep 11, 3:47 AM
Unknown Object (File)
Fri, Sep 11, 3:36 AM
Unknown Object (File)
Thu, Sep 10, 9:11 PM
Unknown Object (File)
Thu, Sep 10, 3:03 PM
Subscribers

Details

Summary

This patch changes the default value of the loader tunable hw.virtio.pci.transitional to 1. This means, virtio uses the modern mode for transitional devices by default.

Also, this patch corrects the description of the loader tunable in the man page.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Why changing hw.virtio.pci.transitional to 1 by default:

  • VirtualBox provides a transitional VirtIO network device, which seems not to work in legacy mode. By using modern mode by default, FreeBSD does not run in this VirtualBox bug (by default).
  • The return values of vtpci_modern_probe and vtpci_legacy_probe were chosen to prefer modern mode but hw.virtio.pci.transitional=0 prevents modern mode. Setting hw.virtio.pci.transitional to 1 by default seems a better fit.
This revision is now accepted and ready to land.Apr 4 2026, 2:52 PM