]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Merge branch 'single-mss-length-in-udp-gso_partial'
authorJakub Kicinski <kuba@kernel.org>
Wed, 28 Jan 2026 01:30:55 +0000 (17:30 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 28 Jan 2026 01:30:55 +0000 (17:30 -0800)
commit88a95781332d27bb8328ad9b6dab22dba74afb0a
tree87b2bb8437c5f643e59d75aa16769df7a60086b8
parentd64f761dbfda3f4eb7e5c14c1336677de20d5d6f
parent5b4015ad833c7636a1e43eeb4047d0813fffe3f7
Merge branch 'single-mss-length-in-udp-gso_partial'

Gal Pressman says:

====================
Single MSS length in UDP GSO_PARTIAL

This series addresses an inconsistency in how UDP GSO_PARTIAL handles
the UDP header length field.

Currently, when GSO_PARTIAL segmentation is used, the UDP header length
contains the large MSS size, requiring drivers to manually adjust it
before transmitting. This is inconsistent with how tunnel GSO_PARTIAL
handles outer headers in UDP tunnels, where the length is set to the
single segment size.

This was originally suggested by Alexander Duyck back in 2018:
https://lore.kernel.org/netdev/CAKgT0UcdnUWgr3KQ=RnLKigokkiUuYefmL-ePpDvJOBNpKScFA@mail.gmail.com/

The first patch fixes the core UDP offload code to set the UDP length
field to the single segment size (gso_size + UDP header) instead of the
large MSS size. This provides hardware with a proper template length
value for final segmentation.

The subsequent patches remove the now redundant UDP header length
adjustments from the mlx5e and aquantia drivers, as the core code now
handles this correctly.
I couldn't find any other drivers that support UDP GSO_PARTIAL; idpf
supports UDP segmentation, but it does not use GSO_PARTIAL.
====================

Link: https://patch.msgid.link/20260125121649.778086-1-gal@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>