← Prev in month ← Prev in thread
Next in thread → Next in month →

[PATCH requirements v5 0/7] virtio net requirements for 1.4

From
Parav Pandit <>
Date
2023-09-11T16:03:00+00:00
ID
Thread
[PATCH requirements v5 0/7] virtio net requirements for 1.4
>
From: Stefan Hajnoczi <>
> Sent: Monday, September 11, 2023 7:17 PM

>
> If I understand correctly there is no longer a 1:1 correspondence between
> driver-supplied rx pages (available buffers) and received packets (used buffers).
> Instead, the device consumes portions of driver-supplied rx pages as needed
> and notifies the driver, and the entire rx page is marked used later when it has
> been fully consumed.
>
> The virtqueue model is based on submitting available buffers and completing
> used buffers, not individual DMA transfers. It's not possible to do DMA
> piecewise in this model. If you think about a VIRTIO over TCP transport that
> uses message-passing for available and used buffers, then it's clear the rx page
> approach breaks the model because only entire virtqueues buffers can be
> marked used (there is a 1:1 correspondence between available buffers and used
> buffers).
>
> Two options:
> 1. Extend the virtqueue model to support this.
> 2. Document this violation of the virtqueue model clearly but treat it
>
as an exception that may lead to complications in the future (e.g.
>
incompatibility with VIRTIO over TCP).
>
I don't think it a violation. It is an extension of a new model. PCI and MMIO will support it.
TCP transport may not be able support everything that exists today in PCI.
But I am not fully sure at present this as limitation.

I will consider #1 later in this month further.
This week occupied with the LM and flow filters that we want to review on Wed meet.
> I think it's worth investigating #1 to see whether the virtqueue model can be
> extended cleanly.
← Prev in month ← Prev in thread
Next in thread → Next in month →