Re: [PATCH net v4 4/4] ipmr: do not drop GSO packets that fit the MTU after segmentation

From: Simon Horman

Date: Tue Nov 03 2026 - 08:25:08 EST


On Sun, Nov 01, 2026 at 05:42:32PM +0100, Julius Bairaktaris wrote:
> ipmr_prepare_xmit() drops a packet with DF set when skb->len exceeds the
> route MTU, without checking whether it is a GSO packet. A UDP multicast
> stream received with fraglist GRO or UDP GRO forwarding enabled is
> aggregated into GSO packets, and every aggregate is dropped with
> FragFails, while ip_forward() lets the same packets pass by checking
> skb_gso_validate_network_len(). Do the same for multicast routing,
> leaving room for the outer header on tunnel vifs. ip6mr has no such
> check and leaves GSO packets to ip6_output().
>
> On an IPQ8074 router with fraglist GRO on, a 10 Mbit/s stream of
> 1316-byte DF datagrams routed by igmpproxy loses 14.5 to 15.5% (n=3)
> and 0% with this change.
>
> Fixes: 9fd1ff5d2ac7 ("udp: Support UDP fraglist GRO/GSO.")
> Signed-off-by: Julius Bairaktaris <julius@xxxxxxxxxxxxxx>

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>