在 2022/4/24 16:31, Xuan Zhuo 写道:
A separate reset queue function introduced by Virtqueue Reset.
However, it is currently not defined what to do if the destination queue is
being reset when virtio-net is steering in multi-queue mode.
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/138
Signed-off-by: Xuan Zhuo <xuanz...@linux.alibaba.com>
Reviewed-by: Jason Wang <jasow...@redhat.com>
---
content.tex | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/content.tex b/content.tex
index 060bdab..61c36e8 100644
--- a/content.tex
+++ b/content.tex
@@ -4337,6 +4337,10 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types
/ Network Device / Devi
\field{virtqueue_pairs} once it has placed the
VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command in a used buffer.
+If the destination receive queue is being reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}),
+the device SHOULD re-select another random queue. If all receive queues are
+being reset, the device MUST drop the packet.
+
\subparagraph{Legacy Interface: Automatic receive steering in multiqueue
mode}\label{sec:Device Types / Network Device / Device Operation / Control
Virtqueue / Automatic receive steering in multiqueue mode / Legacy Interface:
Automatic receive steering in multiqueue mode}
When using the legacy interface, transitional devices and drivers
MUST format \field{virtqueue_pairs}
@@ -4425,6 +4429,7 @@ \subsubsection{Control Virtqueue}\label{sec:Device Types
/ Network Device / Devi
\item Calculate the hash of the packet as defined in \ref{sec:Device Types /
Network Device / Device Operation / Processing of Incoming Packets / Hash
calculation for incoming packets}.
\item If the device did not calculate the hash for the specific packet, the
device directs the packet to the receiveq specified by
\field{unclassified_queue} of virtio_net_rss_config structure (value of 0
corresponds to receiveq1).
\item Apply \field{indirection_table_mask} to the calculated hash and use the
result as the index in the indirection table to get 0-based number of
destination receiveq (value of 0 corresponds to receiveq1).
+\item If the destination receive queue is being reset (See \ref{sec:Basic
Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}), the device MUST
drop the packet.
\end{itemize}
\paragraph{Offloads State Configuration}\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration}
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org