Thread (6 messages) 6 messages, 4 authors, 2025-11-27

Re: [PATCH net v3] virtio-net: avoid unnecessary checksum calculation on guest RX

From: Jon Kohler <hidden>
Date: 2025-11-26 16:12:13
Also in: lkml, virtualization

On Nov 26, 2025, at 1:29 AM, Jason Wang [off-list ref] wrote:

On Wed, Nov 26, 2025 at 5:46 AM Jon Kohler [off-list ref] wrote:
quoted
Commit a2fb4bc4e2a6 ("net: implement virtio helpers to handle UDP
GSO tunneling.") inadvertently altered checksum offload behavior
for guests not using UDP GSO tunneling.

Before, tun_put_user called tun_vnet_hdr_from_skb, which passed
has_data_valid = true to virtio_net_hdr_from_skb.

After, tun_put_user began calling tun_vnet_hdr_tnl_from_skb instead,
which passes has_data_valid = false into both call sites.

This caused virtio hdr flags to not include VIRTIO_NET_HDR_F_DATA_VALID
for SKBs where skb->ip_summed == CHECKSUM_UNNECESSARY. As a result,
guests are forced to recalculate checksums unnecessarily.

Restore the previous behavior by ensuring has_data_valid = true is
passed in the !tnl_gso_type case, but only from tun side, as
virtio_net_hdr_tnl_from_skb() is used also by the virtio_net driver,
which in turn must not use VIRTIO_NET_HDR_F_DATA_VALID on tx.

Cc: Paolo Abeni <pabeni@redhat.com>
Fixes: a2fb4bc4e2a6 ("net: implement virtio helpers to handle UDP GSO tunneling.")
Signed-off-by: Jon Kohler <redacted>
---
Acked-by: Jason Wang <jasowang@redhat.com>

(Should this go -stable?)

Thanks
It could, sure. This made it into 6.17 branch.

Would you like me to send a separate patch with a Cc: stable
or could someone just edit the commit msg when they queue
this?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help