Re: [PATCH net v4 2/4] net: gso: count the inner UDP header of encapsulated UDP GSO packets

From: Simon Horman

Date: Tue Nov 03 2026 - 09:39:21 EST


On Sun, Nov 01, 2026 at 05:42:30PM +0100, Julius Bairaktaris wrote:
> skb_gso_transport_seglen() adds the inner TCP header length for an
> encapsulated GSO packet, but not the inner UDP header for
> SKB_GSO_UDP_L4, whose gso_size covers the payload only. Every segment
> of a UDP GSO packet in a UDP tunnel, built by UDP GRO behind a tunnel
> socket or sent with UDP_SEGMENT over VXLAN, is counted 8 bytes short.
> ip_forward() and ip_finish_output_gso() then let DF segments that
> exceed the MTU by up to 8 bytes leave unfragmented.
>
> Add the inner UDP header as the unencapsulated branch does.
>
> Fixes: ee80d1ebe5ba ("udp: add udp gso")
> Signed-off-by: Julius Bairaktaris <julius@xxxxxxxxxxxxxx>

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>