This patch defines some requirements for virtio-net to support reset
queues.

Signed-off-by: Xuan Zhuo <[email protected]>
---
 conformance.tex |  2 ++
 content.tex     | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/conformance.tex b/conformance.tex
index 42f8537..52b4879 100644
--- a/conformance.tex
+++ b/conformance.tex
@@ -136,6 +136,7 @@ \section{Conformance Targets}\label{sec:Conformance / 
Conformance Targets}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Packet Transmission}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Setting Up Receive Buffers}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Processing of Incoming Packets}
+\item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Reset Virtqueue}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Packet Receive Filtering}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Setting MAC Address Filtering}
 \item \ref{drivernormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Gratuitous Packet Sending}
@@ -396,6 +397,7 @@ \section{Conformance Targets}\label{sec:Conformance / 
Conformance Targets}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Packet Transmission}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Setting Up Receive Buffers}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Processing of Incoming Packets}
+\item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Reset Virtqueue}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Packet Receive Filtering}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Setting MAC Address Filtering}
 \item \ref{devicenormative:Device Types / Network Device / Device Operation / 
Control Virtqueue / Gratuitous Packet Sending}
diff --git a/content.tex b/content.tex
index c6f116c..ce8e37a 100644
--- a/content.tex
+++ b/content.tex
@@ -4000,6 +4000,25 @@ \subsubsection{Processing of Incoming 
Packets}\label{sec:Device Types / Network
 #define VIRTIO_NET_HASH_REPORT_UDPv6_EX        9
 \end{lstlisting}
 
+\subsubsection{Reset Virtqueue}\label{sec:Device Types / Network Device / 
Device Operation / Reset Virtqueue}
+
+The receive and transmission virtqueues can implement reset based on Virtqueue
+Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / 
Virtqueue Reset}).
+
+\drivernormative{\paragraph}{Gratuitous Packet Sending}{Device Types / Network 
Device / Device Operation / Reset Virtqueue}
+
+The driver MUST NOT reset the control virtqueue.
+
+\devicenormative{\paragraph}{Gratuitous Packet Sending}{Device Types / Network 
Device / Device Operation / Reset Virtqueue}
+
+After automatic receive steering or RSS receive steering has completed the
+selection of the queue, if the destination receive queue is in reset state,
+the device MUST re-select a different random queue. If all receive queues are 
in
+reset state, the device can drop the packet.
+
+A virtio-net device MUST support the above requirements in order to support
+VIRTIO_F_RING_RESET.
+
 \subsubsection{Control Virtqueue}\label{sec:Device Types / Network Device / 
Device Operation / Control Virtqueue}
 
 The driver uses the control virtqueue (if VIRTIO_NET_F_CTRL_VQ is
-- 
2.31.0


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to