[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH] virtio-net: support reset queue
On Wed, 9 Feb 2022 04:23:17 -0500, "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Wed, Feb 09, 2022 at 05:01:58PM +0800, Xuan Zhuo wrote: > > This patch defines some requirements for virtio-net to support reset > > queues. > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > > --- > > 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. > > Why not though? I am guessing if it does and command is in > progress, it won't know if it completed. So it's safest to retry > then? Reset as a way to recover from a VQ error seems useful for CVQ, > I don't like disabling it like this. > Besides, it's probably too late to make this change for 1.2 ... I think there should be no need to reset cvq. So this setting is added. I will remove this in the next version. > > > + > > +\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. > > + > > This is more a quality of implementation issue, no? So I'd say SHOULD > here. OK. Thanks. > > > \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 >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]