On Sun, Oct 11, 2026 at 06:20:22PM +0800, Haishuang Yan wrote:
> Commit f3d0f753f066 ("vxlan: Enable BIG TCP packets") and commit
> 03ebe91b0f61 ("geneve: Enable BIG TCP packets") allowed BIG TCP on vxlan
> and geneve, after the preceding patches of that series made the common
> UDP tunnel transmit path handle GSO packets larger than 64KB.
>
> bareudp transmits through the same helpers, udp_tunnel_handle_offloads()
> followed by udp_tunnel_xmit_skb() or udp_tunnel6_xmit_skb(), and does
> not fill in any length field itself. Bump tso_max_size up to
> GSO_MAX_SIZE so that the admin can use BIG TCP with bareudp too.
>
> The default gso_max_size and gso_ipv4_max_size stay at 64KB, so nothing
> changes unless they are raised explicitly.
>
> iperf3 TCP over bareudp (ethertype ipv4, IPv4 outer) between two netns
> connected by veth, MTU 1600 on veth, 3 runs of 20 seconds each. This
> was measured in a QEMU TCG guest, so only the relative numbers are
> meaningful:
>
> gso_max_size/gso_ipv4_max_size 65536:
> 4380.6, 4404.2, 4354.5 Mbit/s, average 4379.8 Mbit/s
>
> gso_max_size/gso_ipv4_max_size 196608:
> 5509.4, 5454.7, 5497.4 Mbit/s, average 5487.2 Mbit/s (+25%)
>
> With 196608, about 90k to 100k packets larger than 64KB were
> transmitted on the bareudp device per run, none with 65536. Without
> this patch, setting gso_max_size to 196608 is rejected.
>
> Assisted-by: LLM
> Acked-by: Alice Mikityanska <[email protected]>
> Signed-off-by: Haishuang Yan <[email protected]>
Reviewed-by: Simon Horman <[email protected]>