On Mon, Mar 17, 2025 at 6:58 PM Akihiko Odaki <akihiko.odaki@xxxxxxxxxx> wrote: > > virtio-net have two usage of hashes: one is RSS and another is hash > reporting. 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. > > Introduce the code to compute hashes 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 it is based on context > rewrites, which is in feature freeze. We can adopt kfuncs, but they will > not be UAPIs. We opt to ioctl to align with other relevant UAPIs (KVM > and vhost_net). > > The patches for QEMU to use this new feature was submitted as RFC and > is available at: > https://patchew.org/QEMU/20250313-hash-v4-0-c75c494b495e@xxxxxxxxxx/ > > This work was presented at LPC 2024: > https://lpc.events/event/18/contributions/1963/ > > V1 -> V2: > Changed to introduce a new BPF program type. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx> > --- > Changes in v11: > - Added the missing code to free vnet_hash in patch > "tap: Introduce virtio-net hash feature". > - Link to v10: https://lore.kernel.org/r/20250313-rss-v10-0-3185d73a9af0@xxxxxxxxxx > We only have 2 or 3 points that need to be sorted out. Let's hold on to the iteration until we had an agreement. Thanks