On Thu, 06 Mar 2025 18:56:33 +0900 Akihiko Odaki wrote: > Hash reporting > ============== > > Allow the guest to reuse the hash value to make receive steering > consistent between the host and guest, and to save hash computation. > > RSS > === > > RSS is a receive steering algorithm that can be negotiated to use with > virtio_net. Conventionally the hash calculation was done by the VMM. > However, computing the hash after the queue was chosen defeats the > purpose of RSS. > > Another approach is to use eBPF steering program. This approach has > another downside: it cannot report the calculated hash due to the > restrictive nature of eBPF steering program. > > Introduce the code to perform RSS to the kernel in order to overcome > thse challenges. An alternative solution is to extend the eBPF steering > program so that it will be able to report to the userspace, but I didn't > opt for it because extending the current mechanism of eBPF steering > program as is because it relies on legacy context rewriting, and > introducing kfunc-based eBPF will result in non-UAPI dependency while > the other relevant virtualization APIs such as KVM and vhost_net are > UAPIs. drivers/net/tap.c:1056:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough] 1056 | case SIOCGIFHWADDR: | ^ drivers/net/tap.c:1056:2: note: insert '__attribute__((fallthrough));' to silence this warning 1056 | case SIOCGIFHWADDR: | ^ | __attribute__((fallthrough)); drivers/net/tap.c:1056:2: note: insert 'break;' to avoid fall-through 1056 | case SIOCGIFHWADDR: | ^ | break; -- pw-bot: cr