From: Cornelia Huck <cohuck@redhat.com>
To: Parav Pandit <parav@nvidia.com>,
virtio-comment@lists.oasis-open.org, mst@redhat.com
Cc: sburla@marvell.com, shahafs@nvidia.com, si-wei.liu@oracle.com,
xuanzhuo@linux.alibaba.com, Parav Pandit <parav@nvidia.com>,
Heng Qi <hengqi@linux.alibaba.com>
Subject: [virtio-comment] Re: [PATCH v6 1/5] virtio-net: Add theory of operation for flow filter
Date: Wed, 22 Nov 2023 14:22:51 +0100 [thread overview]
Message-ID: <87a5r5ly6s.fsf@redhat.com> (raw)
In-Reply-To: <20231110123853.2093309-2-parav@nvidia.com>
On Fri, Nov 10 2023, Parav Pandit <parav@nvidia.com> wrote:
> diff --git a/device-types/net/description.tex b/device-types/net/description.tex
> index aff5e08..30220b5 100644
> --- a/device-types/net/description.tex
> +++ b/device-types/net/description.tex
> @@ -33,6 +33,9 @@ \subsection{Virtqueues}\label{sec:Device Types / Network Device / Virtqueues}
> controlq is optional; it only exists if VIRTIO_NET_F_CTRL_VQ is
> negotiated.
>
> +The flow filter virtqueues are optional; it may exists only if VIRTIO_NET_F_FLOW_FILTER
> +is negotiated and if the device reports such capability.
I first thought we should just reword this... but what does "such
capability" actually mean? If the feature is negotiated, there are M
flow filter virtqueues at positions 2N+1..2N+M, with the value of M
exposed by the device? I think we need to list those virtqueues
explicitly, otherwise it is confusing.
(...)
> +Each flow filter consists of one or more match key, a flow filter priority,
s/key/keys/
> +a flow filter identifier, an action to forward a packet to the destination
> +or to drop the packet.
(...)
> +The flow filter group can have one or more flow filters. Within a flow
s/The/A/
> +filter group, a packet may find a match to multiple flow filters. In such
s/find a match to/match/
s/such/such a/
> +scenario, a flow filter with the highest priority is applied first to the
> +packet, if there is no match, the next higher priority flow filter is applied.
Slightly confusing... maybe
"In such a scenario, of the matching flow filters the one with the
highest priority is applied, skipping any matching filters with a lower
priority."
(At least, that's how I interpret this.)
> +
> +\paragraph{Packet Processing Order}\label{sec:sec:Device Types / Network Device / Device Operation / Flow Filter / Packet Processing Order}
> +
> +Whichever filtering and steering functionality is enabled, they are
> +applied in the following order for the received packet:
"If enabled, filtering and steering functionalities are applied to the
received packet in the following order:" ?
> +
> +\begin{itemize}
> +\item apply device configuration done using control virtqueue commands
> + VIRTIO_NET_CTRL_RX, VIRTIO_NET_CTRL_MAC and VIRTIO_NET_CTRL_VLAN.
> +\item apply flow filter configuration done using flow filter requests.
> +\item apply device configuration done using command
> + VIRTIO_NET_CTRL_MQ_RSS_CONFIG.
> +\end{itemize}
> +
> +While processing a received packet, at any stage if the packet is dropped,
"if the packet is dropped at any stage"
> +the next level of processing is omitted.
"the following levels of processing are omitted"
> +
> +When a flow filter is matched for the packet, it also stops the processing
> +of the packet for next stage.
"If a flow filter is matched for the packet, the following levels of
processing are omitted as well." ?
> +
> +Few examples are:
s/Few/A few/
> +\begin{itemize}
> +\item If the packet is dropped by the flow filter configuration, RSS
> + configuration is not applied to such a packet.
> +\item If the packet is forwarded to a specific receiveq using flow filters,
> + RSS configuration is not applied to such a packet due to a match on the
> + flow filter request.
> +\item If the packet is dropped due to VIRTIO_NET_CTRL_MAC configuration,
> + flow filters or RSS configuration is not applied to such a packet.
"neither flow filters nor RSS configuration are applied"
> +\item If the packet does not find any match in any of the flow filter groups,
> + next level RSS device configuration is applied if its exists.
> +\item If there are three flow filter groups configured as group_A, group_B
> + and group_C with respective priorities as 4, 5, and 6; flow filters of
s/flow filters/the flow filters/
> + group_C is applied first having highest group priority, if there is a match,
s/is applied/are applied/
> + flow filters of group_B and group_A are skipped; if there is no match for
> + the flow filters in group_C, the flow filters of next level group_B are applied.
> +\end{itemize}
> +
> +\label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Setting Promiscuous Mode}%old label for latexdiff
> \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
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
next prev parent reply other threads:[~2023-11-22 13:22 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-10 12:38 [virtio-comment] [PATCH v6 0/5] virtio-net: Support flow filter for receive packets Parav Pandit
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 1/5] virtio-net: Add theory of operation for flow filter Parav Pandit
2023-11-22 13:22 ` Cornelia Huck [this message]
2023-11-22 13:30 ` [virtio-comment] " Parav Pandit
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 2/5] virtio-net: Add flow filter capabilities read commands Parav Pandit
2023-11-22 13:38 ` [virtio-comment] " Cornelia Huck
2023-11-22 13:44 ` [virtio-comment] " Parav Pandit
2023-11-22 14:02 ` [virtio-comment] " Michael S. Tsirkin
2023-11-22 14:10 ` [virtio-comment] " Parav Pandit
2023-11-22 14:51 ` [virtio-comment] " Michael S. Tsirkin
2023-11-22 15:00 ` [virtio-comment] " Parav Pandit
2023-11-24 4:02 ` [virtio-comment] " Jason Wang
2023-11-24 4:13 ` Parav Pandit
2023-11-24 5:31 ` Michael S. Tsirkin
2023-11-24 5:40 ` Parav Pandit
2023-11-24 6:02 ` Jason Wang
2023-11-24 6:41 ` Parav Pandit
2023-11-24 9:13 ` Michael S. Tsirkin
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:10 ` Michael S. Tsirkin
2023-11-27 11:12 ` Parav Pandit
2023-11-27 12:52 ` Michael S. Tsirkin
2023-11-27 12:58 ` Parav Pandit
2023-11-27 13:05 ` Michael S. Tsirkin
2023-11-24 6:18 ` Michael S. Tsirkin
2023-11-24 6:31 ` Parav Pandit
2023-11-24 11:33 ` Michael S. Tsirkin
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:28 ` Michael S. Tsirkin
2023-11-27 11:40 ` Parav Pandit
2023-11-27 11:47 ` Michael S. Tsirkin
2023-11-27 11:54 ` Parav Pandit
2023-11-27 12:42 ` Michael S. Tsirkin
2023-11-27 13:05 ` Parav Pandit
2023-11-27 13:12 ` Michael S. Tsirkin
2023-11-27 13:06 ` Cornelia Huck
2023-11-27 13:14 ` Michael S. Tsirkin
2023-11-24 6:03 ` Jason Wang
2023-11-24 5:32 ` Michael S. Tsirkin
2023-11-24 5:53 ` Parav Pandit
2023-11-24 6:06 ` Michael S. Tsirkin
2023-11-24 6:27 ` Parav Pandit
2023-11-24 10:27 ` Michael S. Tsirkin
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:37 ` Michael S. Tsirkin
2023-11-27 11:47 ` Parav Pandit
2023-12-12 15:52 ` Michael S. Tsirkin
2023-12-13 4:48 ` Jason Wang
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 3/5] virtio-net: Add flow filter group life cycle commands Parav Pandit
2023-11-22 13:42 ` [virtio-comment] " Cornelia Huck
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 4/5] virtio-net: Add flow filter match entry, action and requests Parav Pandit
2023-11-22 13:52 ` [virtio-comment] " Cornelia Huck
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 5/5] virtio-net: Add flow filter device and driver requirements Parav Pandit
2023-11-20 6:47 ` [virtio-comment] RE: [PATCH v6 0/5] virtio-net: Support flow filter for receive packets Parav Pandit
2023-11-21 12:54 ` Parav Pandit
2023-11-22 11:26 ` Cornelia Huck
2023-11-22 12:03 ` Parav Pandit
2023-11-23 10:22 ` Parav Pandit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a5r5ly6s.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=hengqi@linux.alibaba.com \
--cc=mst@redhat.com \
--cc=parav@nvidia.com \
--cc=sburla@marvell.com \
--cc=shahafs@nvidia.com \
--cc=si-wei.liu@oracle.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.