Thread (13 messages) 13 messages, 4 authors, 2025-03-06

Re: [PATCH net-next v7 3/6] tun: Introduce virtio-net hash feature

From: Simon Horman <horms@kernel.org>
Date: 2025-03-05 17:52:10
Also in: kvm, linux-doc, linux-kselftest, lkml, virtualization

On Fri, Feb 28, 2025 at 04:58:49PM +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
---
Odaki-san,

Please reformat the patch description to avoid including "^---$".
Git will truncate the commit message at that point,
excluding the text below and your Signed-off-by line.
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.

Signed-off-by: Akihiko Odaki <redacted>
---
This one is ok, as the commit message should end here.
 Documentation/networking/tuntap.rst |   7 ++
 drivers/net/Kconfig                 |   1 +
 drivers/net/tap.c                   |  62 ++++++++++++-
 drivers/net/tun.c                   |  89 ++++++++++++++----
 drivers/net/tun_vnet.h              | 180 +++++++++++++++++++++++++++++++++---
 include/linux/if_tap.h              |   2 +
 include/linux/skbuff.h              |   3 +
 include/uapi/linux/if_tun.h         |  75 +++++++++++++++
 net/core/skbuff.c                   |   4 +
 9 files changed, 390 insertions(+), 33 deletions(-)
...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help