在 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

Reply via email to