* [virtio-dev] [PATCH v1] virtio-net: support reset queue @ 2022-02-10 9:06 Xuan Zhuo 2022-02-10 9:26 ` [virtio-dev] " Jason Wang 0 siblings, 1 reply; 5+ messages in thread From: Xuan Zhuo @ 2022-02-10 9:06 UTC (permalink / raw) To: virtio-dev; +Cc: jasowang, Michael S. Tsirkin This patch defines some requirements for virtio-net to support reset queues. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> --- conformance.tex | 1 + content.tex | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/conformance.tex b/conformance.tex index 42f8537..3656da5 100644 --- a/conformance.tex +++ b/conformance.tex @@ -396,6 +396,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..af86689 100644 --- a/content.tex +++ b/content.tex @@ -4000,6 +4000,18 @@ \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 and the control virtqueue can implement +reset based on Virtqueue Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}). + +\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 SHOULD re-select a different random queue. If all receive queues are +in reset state, the device can drop the packet. + \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: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [virtio-dev] Re: [PATCH v1] virtio-net: support reset queue 2022-02-10 9:06 [virtio-dev] [PATCH v1] virtio-net: support reset queue Xuan Zhuo @ 2022-02-10 9:26 ` Jason Wang 2022-02-18 9:27 ` Michael S. Tsirkin 0 siblings, 1 reply; 5+ messages in thread From: Jason Wang @ 2022-02-10 9:26 UTC (permalink / raw) To: Xuan Zhuo Cc: Virtio-Dev, Michael S. Tsirkin, Yuri Benditovich, Andrew Melnychenko On Thu, Feb 10, 2022 at 5:06 PM Xuan Zhuo <xuanzhuo@linux.alibaba.com> wrote: > > This patch defines some requirements for virtio-net to support reset > queues. > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > --- > conformance.tex | 1 + > content.tex | 12 ++++++++++++ > 2 files changed, 13 insertions(+) > > diff --git a/conformance.tex b/conformance.tex > index 42f8537..3656da5 100644 > --- a/conformance.tex > +++ b/conformance.tex > @@ -396,6 +396,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..af86689 100644 > --- a/content.tex > +++ b/content.tex > @@ -4000,6 +4000,18 @@ \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 and the control virtqueue can implement > +reset based on Virtqueue Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}). > + > +\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 SHOULD re-select a different random queue. This seems break the semantics of the indirection table? For RSS, I think we probably need to drop. Thanks > If all receive queues are > +in reset state, the device can drop the packet. > + > \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: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org ^ permalink raw reply [flat|nested] 5+ messages in thread
* [virtio-dev] Re: [PATCH v1] virtio-net: support reset queue 2022-02-10 9:26 ` [virtio-dev] " Jason Wang @ 2022-02-18 9:27 ` Michael S. Tsirkin 2022-02-21 3:02 ` Jason Wang 0 siblings, 1 reply; 5+ messages in thread From: Michael S. Tsirkin @ 2022-02-18 9:27 UTC (permalink / raw) To: Jason Wang; +Cc: Xuan Zhuo, Virtio-Dev, Yuri Benditovich, Andrew Melnychenko On Thu, Feb 10, 2022 at 05:26:24PM +0800, Jason Wang wrote: > On Thu, Feb 10, 2022 at 5:06 PM Xuan Zhuo <xuanzhuo@linux.alibaba.com> wrote: > > > > This patch defines some requirements for virtio-net to support reset > > queues. > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > > --- > > conformance.tex | 1 + > > content.tex | 12 ++++++++++++ > > 2 files changed, 13 insertions(+) > > > > diff --git a/conformance.tex b/conformance.tex > > index 42f8537..3656da5 100644 > > --- a/conformance.tex > > +++ b/conformance.tex > > @@ -396,6 +396,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..af86689 100644 > > --- a/content.tex > > +++ b/content.tex > > @@ -4000,6 +4000,18 @@ \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 and the control virtqueue can implement > > +reset based on Virtqueue Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}). > > + > > +\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 SHOULD re-select a different random queue. > > This seems break the semantics of the indirection table? I don't really understand this random thing either. If we don't want to drop then maybe use unclassified_queue? And generally - is packet reordering better or worse than packet drops? > For RSS, I > think we probably need to drop. > > Thanks > > > If all receive queues are > > +in reset state, the device can drop the packet. > > + > > \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: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org ^ permalink raw reply [flat|nested] 5+ messages in thread
* [virtio-dev] Re: [PATCH v1] virtio-net: support reset queue 2022-02-18 9:27 ` Michael S. Tsirkin @ 2022-02-21 3:02 ` Jason Wang 2022-02-21 3:04 ` Xuan Zhuo 0 siblings, 1 reply; 5+ messages in thread From: Jason Wang @ 2022-02-21 3:02 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Xuan Zhuo, Virtio-Dev, Yuri Benditovich, Andrew Melnychenko On Fri, Feb 18, 2022 at 5:27 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > On Thu, Feb 10, 2022 at 05:26:24PM +0800, Jason Wang wrote: > > On Thu, Feb 10, 2022 at 5:06 PM Xuan Zhuo <xuanzhuo@linux.alibaba.com> wrote: > > > > > > This patch defines some requirements for virtio-net to support reset > > > queues. > > > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > > > --- > > > conformance.tex | 1 + > > > content.tex | 12 ++++++++++++ > > > 2 files changed, 13 insertions(+) > > > > > > diff --git a/conformance.tex b/conformance.tex > > > index 42f8537..3656da5 100644 > > > --- a/conformance.tex > > > +++ b/conformance.tex > > > @@ -396,6 +396,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..af86689 100644 > > > --- a/content.tex > > > +++ b/content.tex > > > @@ -4000,6 +4000,18 @@ \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 and the control virtqueue can implement > > > +reset based on Virtqueue Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}). > > > + > > > +\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 SHOULD re-select a different random queue. > > > > This seems break the semantics of the indirection table? > > I don't really understand this random thing either. If we don't want to > drop then maybe use unclassified_queue? > And generally - is packet reordering better or worse than packet drops? Not sure, but this is something we need to clarify in the spec. Personally, drop looks more safe than unclassified_queue. It gives hints to administrator that something is wrong. Thanks > > > For RSS, I > > think we probably need to drop. > > > > Thanks > > > > > If all receive queues are > > > +in reset state, the device can drop the packet. > > > + > > > \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: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org ^ permalink raw reply [flat|nested] 5+ messages in thread
* [virtio-dev] Re: [PATCH v1] virtio-net: support reset queue 2022-02-21 3:02 ` Jason Wang @ 2022-02-21 3:04 ` Xuan Zhuo 0 siblings, 0 replies; 5+ messages in thread From: Xuan Zhuo @ 2022-02-21 3:04 UTC (permalink / raw) To: Jason Wang Cc: Virtio-Dev, Yuri Benditovich, Andrew Melnychenko, Michael S. Tsirkin On Mon, 21 Feb 2022 11:02:54 +0800, Jason Wang <jasowang@redhat.com> wrote: > On Fri, Feb 18, 2022 at 5:27 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > > > On Thu, Feb 10, 2022 at 05:26:24PM +0800, Jason Wang wrote: > > > On Thu, Feb 10, 2022 at 5:06 PM Xuan Zhuo <xuanzhuo@linux.alibaba.com> wrote: > > > > > > > > This patch defines some requirements for virtio-net to support reset > > > > queues. > > > > > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> > > > > --- > > > > conformance.tex | 1 + > > > > content.tex | 12 ++++++++++++ > > > > 2 files changed, 13 insertions(+) > > > > > > > > diff --git a/conformance.tex b/conformance.tex > > > > index 42f8537..3656da5 100644 > > > > --- a/conformance.tex > > > > +++ b/conformance.tex > > > > @@ -396,6 +396,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..af86689 100644 > > > > --- a/content.tex > > > > +++ b/content.tex > > > > @@ -4000,6 +4000,18 @@ \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 and the control virtqueue can implement > > > > +reset based on Virtqueue Reset (See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}). > > > > + > > > > +\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 SHOULD re-select a different random queue. > > > > > > This seems break the semantics of the indirection table? > > > > I don't really understand this random thing either. If we don't want to > > drop then maybe use unclassified_queue? > > And generally - is packet reordering better or worse than packet drops? > > Not sure, but this is something we need to clarify in the spec. > > Personally, drop looks more safe than unclassified_queue. It gives > hints to administrator that something is wrong. I also think drop can be selected in this case. My v2 has already been sent, and you can see if there is any problem with v2. Thanks. > > Thanks > > > > > > For RSS, I > > > think we probably need to drop. > > > > > > Thanks > > > > > > > If all receive queues are > > > > +in reset state, the device can drop the packet. > > > > + > > > > \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: virtio-dev-unsubscribe@lists.oasis-open.org For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-02-21 3:06 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-02-10 9:06 [virtio-dev] [PATCH v1] virtio-net: support reset queue Xuan Zhuo 2022-02-10 9:26 ` [virtio-dev] " Jason Wang 2022-02-18 9:27 ` Michael S. Tsirkin 2022-02-21 3:02 ` Jason Wang 2022-02-21 3:04 ` Xuan Zhuo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox