Title Resolve Issue #173: virtio-net: support inner header hash
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 #173: virtio-net: support inner header hash
--------------------------------------
    1. Currently, a received encapsulated packet has an outer and an inner header, but
    the virtio device is unable to calculate the hash for the inner header. The same
    flow can traverse through different tunnels, resulting in the encapsulated
    packets being spread across multiple receive queues (refer to the figure below).
    However, in certain scenarios, we may need to direct these encapsulated packets of
    the same flow to a single receive queue. This facilitates the processing
    of the flow by the same CPU to improve performance (warm caches, less locking, etc.).

                   client1                    client2
                      |        +-------+         |
                      +------->|tunnels|<--------+
                               +-------+
                                  |  |
                                  v  v
                          +-----------------+
                          | monitoring host |
                          +-----------------+

    To achieve this, the device can calculate a symmetric hash based on the inner headers
    of the same flow.

    2. For legacy systems, they may lack entropy fields which modern protocols have in
    the outer header, resulting in multiple flows with the same outer header but
    different inner headers being directed to the same receive queue. This results in
    poor receive performance.

    To address this limitation, inner header hash can be used to enable the device to advertise
    the capability to calculate the hash for the inner packet, regaining better receive performance.


Latest v21 patch: https://lists.oasis-open.org/archives/virtio-dev/202307/msg00006.html
--------------------------------------

The TC accepts the following proposed changes to the specification:
--------------------------------------
https://lists.oasis-open.org/archives/virtio-dev/202307/msg00006.html
--------------------------------------

The TC agrees to include the above change(s) in specification version(s) "virtio-v1.3-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 Tue, Jul 4 2023 6:00 am EDT
Closing Date Tue, Jul 11 2023 6:00 am EDT
Ballot has closed.

Referenced Items

Name Type Date Actions

03781: Resolve Issue #173: virtio-net: support inner header hash

Document (Archive)

2023-07-11