On Tue, Mar 26, 2024 at 3:43 PM Richard Gobert richardbgobert@gmail.com wrote:
Eric Dumazet wrote:
On Mon, Mar 25, 2024 at 7:27 PM Richard Gobert richardbgobert@gmail.com wrote:
{inet,ipv6}_gro_receive functions perform flush checks (ttl, flags, iph->id, ...) against all packets in a loop. These flush checks are used currently only in tcp flows in GRO.
I think this is a bug.
GRO should not aggregate packets if their ttl/tos fields do not match.
AFAIU, the only UDP flow where ttl/flush_id need to be checked is when udp_gro_receive_segment calls skb_gro_receive - could you confirm / point out if there are any other flows to which these flush checks may be relevant?
As I've discussed with Willem in v3 I prefer to fix this bug in a separate series.
I do not understand this patch 4/4 then.
Why bother moving stuff in net/ipv4/tcp_offload.c if we plan to move it back to where it belongs ?