Title Resolve Issue #178: Support the RSS context
Description
Please vote Yes if you agree with all of the following.
If you disagree, please vote No.
If you don't have an opinion, please vote Abstain.

I move that:
The TC agrees to resolve the following specification issue:
Issue #178: Support the RSS context
--------------------------------------
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.

Use case:
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.

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.

Solution:
https://lists.oasis-open.org/archives/virtio-comment/202311/msg00153.html
--------------------------------------

The TC accepts the following proposed changes to the specification:
--------------------------------------
https://lists.oasis-open.org/archives/virtio-comment/202311/msg00153.html
--------------------------------------

The TC agrees to include the above change(s) in specification version(s) "virtio-v1.4-cs01", and future versions of the
specification.

--------------------------------------

Reminder: A Voting Member must be active in a TC to maintain voting rights.  As
the Virtio TC has adopted a standing rule to conduct business only by
electronic ballot, without Meetings, a Voting Member who fails to cast a ballot
in two consecutive Work Product Ballots loses his or her voting rights at the
close of the second ballot missed.

--------------------------------------
Ballot Options Ballot has closed
[ ] Yes
[ ] No
[ ] Abstain
Opening Date Fri, Feb 2 2024 8:15 am EST
Closing Date Fri, Feb 9 2024 8:15 am EST
Ballot has closed.

Referenced Items

Name Type Date Actions

03815: Resolve Issue #178: Support the RSS context

Document (Archive)

2024-02-09