Discussion of the VIRTIO specification
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Heng Qi <hengqi@linux.alibaba.com>, virtio-comment@lists.oasis-open.org
Cc: "Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Yuri Benditovich <yuri.benditovich@daynix.com>,
	Satananda Burla <sburla@marvell.com>,
	Parav Pandit <parav@nvidia.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Subject: Re: [virtio-comment] [PATCH v5] virtio-net: support the RSS context
Date: Fri, 03 Nov 2023 15:01:34 +0100	[thread overview]
Message-ID: <87cywrq6kh.fsf@redhat.com> (raw)
In-Reply-To: <d8aa405e0aa02043e486e3ac782c2680abeff9f7.1698992387.git.hengqi@linux.alibaba.com>

On Fri, Nov 03 2023, Heng Qi <hengqi@linux.alibaba.com> wrote:

> Commit 84a1d9c48200 ("net: ethtool: extend RXNFC API to support RSS spreading of
> filter matches") adds support for RSS context as a destination for receive flow filters
> (see WIP work: https://lists.oasis-open.org/archives/virtio-comment/202308/msg00194.html).
>
> An RSS context consists of configurable parameters specified by receive-side scaling.
>
> Some use cases:
> 1. When users want some data flows to be steered to specific multiple rxqs, they can set
>    receive flow filter rules for these data flows to an RSS context with desired rxqs.
> 2. Traffic isolation. Used when users want the traffic of certain applications to occupy
>    several queues without being distubed.
>
> How to set/configure an RSS context:
> Assuming no RSS context has been created before.
> 1. ethtool -X eth0 context new start 5 equal 8
>
> This command creates an RSS context with an id=1 for eth0, and fills in the indirection
> table with rxq indexes 5-8 circularly. The hash key and hash types reuse the default
> RSS configuration.
>
> Then, we can use 'ethtool -x eth0 context 1' to query the above configuration.
>
> 2. ethtool -X eth0 context new start 6 equal 7 \
>    hkey 8f:bf:dd:11:23:58:d2:8a:00:31:d0:32:a3:b5:1f:\
>    1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3
>
> This command creates an RSS context with an id=2 for eth0, and fills in the indirection
> table with rxq indexes 6-7 circularly. The hash key is 8f:bf:dd:11:23:58:d2:8a:00:31:d0\
> :32:a3:b5:1f:1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3.
> Hash types reuse the default RSS configuration.
>
> 3. ethtool -N eth0 rx-flow-hash tcp4 sdfn context 1
>
> This command specifies the hash types for the RSS context whose id=1 on eth0.
> Now this RSS context only has the hash key to reuse the default RSS configuration.
>
> 4. ethtool -N eth0 flow-type udp4 src-ip 1.1.1.1 context 1
>
> This command configures a receive flow filter rule for eth0, and the data flow matching
> this rule will continue to select the final rxq according to the RSS context configuration
> with id=1.
>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/178
> Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
> Signed-off-by: Parav Pandit <parav@nvidia.com>
> Acked-by: Satananda Burla <sburla@marvell.com>
> ---
> v4->v5:
>   1. Use 'u8 reserved[6]' instead of u16 padding to align the structure.
>
> v3->v4:
>   1. Rebase to Xuan's device stats patch.
>
> v2->v3:
>   1. Process Satananda's comments and add his ack tag.
>   2. Add link to fix issue and optimize commit log.
>
> v1->v2:
>   1. u8 to le16 for field rss_ctx_id.
>   2. Add normativation when device resetting. @Yuri Benditovich
>   3. Use ctrlq cmd to query rss context capability instead of reading config space. @Parav Pandit
>
>  device-types/net/description.tex        | 85 +++++++++++++++++++++++++
>  device-types/net/device-conformance.tex |  1 +
>  device-types/net/driver-conformance.tex |  1 +
>  3 files changed, 87 insertions(+)

So, what's the status here? The github issue still points to the
previous version (where you had asked for opening a vote.) There's only
the padding change in this version... can I get some ack from net folks
on whether this is ready for a vote?


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/


  reply	other threads:[~2023-11-03 14:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03  6:36 [virtio-comment] [PATCH v5] virtio-net: support the RSS context Heng Qi
2023-11-03 14:01 ` Cornelia Huck [this message]
2023-11-05 13:13   ` Heng Qi
2023-11-06  2:06 ` [virtio-comment] " Xuan Zhuo

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=87cywrq6kh.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=hengqi@linux.alibaba.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=parav@nvidia.com \
    --cc=sburla@marvell.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=yuri.benditovich@daynix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox