< Home | Return to Ballot listing

Ballot Details    TC Member Ballot View
Resolve Issue #173: virtio-net: support inner header hash

Should the TC accept changes listed in the description to resolve issue 173, for inclusion in specification version(s) "virtio-v1.3-cs01", and future versions of the specification?

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
| +-------+ |
| |
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:

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


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.


 [ ]  Yes
 [ ]  No
 [ ]  Abstain
Opening:   Tuesday, 4 July 2023 @ 06:00 am EDT
Closing:   Tuesday, 11 July 2023 @ 06:00 am EDT
Group:   OASIS Virtual I/O Device (VIRTIO) TC
Ballot has closed.

Referenced Items
Name Type Date Action

Voting Details

Voting Summary

Options with highest number of votes are bold

Option # Votes % of Total
Yes 14 100%
No 0 0%
Abstain 0
Eligible members who have voted: 14 of 16 88%
Eligible members who have abstained: 0 of 16 0%
Eligible members who have not voted: 2 of 16 13%

Voting Details

Voter Company VoteReference Document and/or Comment
Xuan Zhuo
Alibaba Cloud Computing Ltd.
Enrico Granata
Google Inc.
Halil Pasic
Lingshan Zhu
Intel Corporation
Satananda Burla
Marvell Semiconductor, Inc
Shahaf Shuler
Parav Pandit
Ran Koren
Jiri Pirko
Matti Moell
OpenSynergy GmbH
Mihai Carabas
Michael S. Tsirkin
Red Hat
Stefan Hajnoczi
Red Hat
Cornelia Huck
Red Hat
David Hildenbrand
Red Hat
Jan Kiszka
Siemens AG