In D43047#998921, @cristian.marussi_arm.com wrote:Thanks for the review @bryanv.
Regarding:"A virtqueue_poll() variant with a timeout param could be useful in general."
I was thinking exactly the same while doing this, but being a first time contributor to freeBSD, I was not sure how easily acceptable would have been to post a change related to some core system (like virtio) inside this series,
so I went for a custom solution at first. I can certainly post subsequently a patch to add a virtqueue_poll timeout variant to the virtio-core and make use of it in here, once this is merged/landed.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Feed Advanced Search
Advanced Search
Advanced Search
Jul 2 2024
Jul 2 2024
Feb 25 2024
Feb 25 2024
Jan 31 2024
Jan 31 2024
bryanv committed rGe6b8c1d780b4: virtio: Add more device IDs from the specification (authored by bryanv).
virtio: Add more device IDs from the specification
Just a few minor comments. Note though that I only have time to do a brief review of this and haven't read the relevant section of the spec.
Just as a general comment - some of the device_printf() look potentially spammy and may be better as either guarded by bootverbose or debug macros.
Jan 23 2024
Jan 23 2024
Sep 26 2023
Sep 26 2023
I'm very hesitant to consider these - or other virtio methods from other pending reviews - as man "Section 9 - Kernel Interfaces". The header files are not installed and I really don't think should be, and would require clean up before being suitable. Typically these kind methods are not documented in man pages; I think the only existing analogous man(9) would be usbdi(9) and despite the numerous MLINKs only documents a handful of methods around data transfer, that I presume are most relevant for peripheral drivers, and goes into great detail of how those 5 methods are used and related with each other. I think these proposed man pages require a lot more fleshing out before providing the level of detail to code against the "interface".
Sep 15 2023
Sep 15 2023
My intention has been to keep these header files closer aligned with the BSD licensed headers from Linux, which still uses the "vring" prefix. I don't think this change really clarifies much, especially when there are numerous other naming differences between the spec and those upstream header files.
Jul 27 2023
Jul 27 2023
bryanv added a comment to D41212: vtnet: Ensure that L3 protocol headers are aligned when necessary.
On a very, very quick first glance I've got concerns that this is incomplete, or could break alignment in other cases (but I have been away from this code for awhile). Depending on the features negotiated - V1, legacy with or without mergeable buffers - the header size can vary, along with what we enqueue for the Rx header desc. What features are negotiated on your QEMU testbed? We might be able to get a similar outcome by adjusting VTNET_RX_HEADER_PAD.
May 26 2023
May 26 2023
Thanks so much for this work! 1-2 years back I think there was an effort to port the full Linux DRM virito_gpu driver over, but I believe that work has stalled. This is great to have.
Jan 11 2023
Jan 11 2023
Oct 10 2022
Oct 10 2022
Oct 5 2022
Oct 5 2022
Oct 4 2022
Oct 4 2022
Oct 3 2022
Oct 3 2022
Aug 17 2022
Aug 17 2022
virtio_mmio: Improve V1 spec conformance
Aug 12 2022
Aug 12 2022
Address comment
Aug 4 2022
Aug 4 2022
bryanv committed rGdc6f578a8f53: virtio_mmio: correct offset of VIRTIO_MMIO_CONFIG_GENERATION (authored by bryanv).
virtio_mmio: correct offset of VIRTIO_MMIO_CONFIG_GENERATION
Nov 15 2021
Nov 15 2021
Nov 4 2021
Nov 4 2021
Left a few comments. It has been a long while since I've dealt with vxlan - and FreeBSD network stack in general - so somebody more familiar should give a correctness review.
Oct 8 2021
Oct 8 2021
Aug 9 2021
Aug 9 2021
LGTM
Aug 6 2021
Aug 6 2021
May 4 2021
May 4 2021
Apr 6 2021
Apr 6 2021
Mar 28 2021
Mar 28 2021
Mar 21 2021
Mar 21 2021
bryanv added inline comments to D28012: [POWERPC] add bus_map_resource and bus_unmap_resource DEVMETHODs.
Mar 8 2021
Mar 8 2021
Feb 23 2021
Feb 23 2021
bryanv added inline comments to D28817: virtio_pci_legacy: Use the table BAR and PBA BAR from MSI-X cap.
bryanv requested changes to D28817: virtio_pci_legacy: Use the table BAR and PBA BAR from MSI-X cap.
Feb 1 2021
Feb 1 2021
I'll try to get this ported and committed to the legacy PCI driver before 13.0
Jan 21 2021
Jan 21 2021
bryanv added a comment to D28031: virtio: Use a common class name between virtio_mmio and virtio_pci.
I'd like to keep the current distinction - virito_pci and virtio_mmio - so it is clear as to what is being attached. After https://reviews.freebsd.org/D28073 there is much less boilerplate, and not likely another transport is forthcoming.
Jan 20 2021
Jan 20 2021
Committed in dc9029d863dcc48efebb6a31a25553a7459132aa
Folded into https://reviews.freebsd.org/D27915
Folded into https://reviews.freebsd.org/D27919
Jan 19 2021
Jan 19 2021
bryanv committed rGe6cc42f181ce: virtio: Handle possible failure of virtio_finalize_features() (authored by bryanv).
virtio: Handle possible failure of virtio_finalize_features()
if_vtnet: Add counter for received host LRO
if_vtnet: Set lro_nsegs for host LRO packets
if_vtnet: Misc Tx path cleanup
if_vtnet: Resort softc fields
bryanv committed rG33b5433fd74c: if_vtnet: Remove unnecessary TUNABLE_INTs because of CTLFLAG_RDTUN (authored by bryanv).
if_vtnet: Remove unnecessary TUNABLE_INTs because of CTLFLAG_RDTUN
bryanv committed rG4f18e23f8432: if_vtnet: Schedule Rx task if pending items when enabling interrupt (authored by bryanv).
if_vtnet: Schedule Rx task if pending items when enabling interrupt
bryanv committed rGc3187190c71f: if_vtnet: Disable F_MTU feature if MTU is invalid (authored by bryanv).
if_vtnet: Disable F_MTU feature if MTU is invalid
bryanv committed rGbd8809df20be: if_vtnet: Limit allocations of unused virtqueues (authored by bryanv).
if_vtnet: Limit allocations of unused virtqueues
bryanv committed rGb470419ea52a: if_vtnet: Rework 4be723f63 max multiqueue pairs check (authored by bryanv).
if_vtnet: Rework 4be723f63 max multiqueue pairs check
if_vtnet: Add support for software LRO
if_vtnet: Set the interface max TSO values
bryanv committed rGe36a6b1b1f39: if_vtnet: Add support for CTRL_GUEST_OFFLOADS feature (authored by bryanv).
if_vtnet: Add support for CTRL_GUEST_OFFLOADS feature
bryanv committed rGdc9029d863dc: if_vtnet: Move ioctl handlers into separate functions (authored by bryanv).
if_vtnet: Move ioctl handlers into separate functions
if_vtnet: Cleanup the reinit process
bryanv committed rG2520cd382151: if_vtnet: Only set IFCAP_JUMBO_MTU when jumbo MTU is supported (authored by bryanv).
if_vtnet: Only set IFCAP_JUMBO_MTU when jumbo MTU is supported
bryanv committed rG32e0493c9245: if_vtnet: Cleanup the interface setup methods (authored by bryanv).
if_vtnet: Cleanup the interface setup methods
bryanv committed rGbaa5234fbec6: if_vtnet: Move the Tx interrupt threshold into the Txq structure (authored by bryanv).
if_vtnet: Move the Tx interrupt threshold into the Txq structure
if_vtnet: Remove at attach PROMISC handling
bryanv committed rG05041794d06f: if_vtnet: Defer updating generated MAC address until attached (authored by bryanv).
if_vtnet: Defer updating generated MAC address until attached
if_vtnet: Support VIRTIO_NET_F_SPEED_DUPLEX
if_vtnet: Support VIRTIO_NET_F_MTU
if_vtnet: Rx path cleanup
bryanv committed rG149ab110dd5c: virtio_blk: Use DISKFLAG_WRITE_PROTECT for RO disks (authored by bryanv).
virtio_blk: Use DISKFLAG_WRITE_PROTECT for RO disks
if_vtnet: Add initial modern (V1) support
virtio_scsi: Add modern (V1) support