virtio-net: reference implementation of hash report
commite22f0603fb2fc274920a9e3a1d1306260b9a4cc4
authorYuri Benditovich <yuri.benditovich@daynix.com>
Fri, 8 May 2020 12:59:31 +0000 (8 15:59 +0300)
committerJason Wang <jasowang@redhat.com>
Thu, 18 Jun 2020 13:05:50 +0000 (18 21:05 +0800)
tree32287a99a110e01988a9fad3ba6ad31424d5ba41
parentfbbdbddec018723d9f863f01cdec172dda9df12b
virtio-net: reference implementation of hash report

Suggest VIRTIO_NET_F_HASH_REPORT if specified in device
parameters.
If the VIRTIO_NET_F_HASH_REPORT is set,
the device extends configuration space. If the feature
is negotiated, the packet layout is extended to
accomodate the hash information. In this case deliver
packet's hash value and report type in virtio header
extension.
Use for configuration the same procedure as already
used for RSS. We add two fields in rss_data that
controls what the device does with the calculated hash
if rss_data.enabled is set. If field 'populate' is set
the hash is set in the packet, if field 'redirect' is
set the hash is used to decide the queue to place the
packet to.

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
hw/net/virtio-net.c
include/hw/virtio/virtio-net.h