]> git.baikalelectronics.ru Git - kernel.git/commit
gro: add support of (hw)gro packets to gro stack
authorCoco Li <lixiaoyan@google.com>
Fri, 30 Sep 2022 22:09:05 +0000 (15:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2022 11:38:34 +0000 (12:38 +0100)
commite4353daabfb5e54b05bb49cac42da418a5cd5566
treed6d3b37a6a5c040641259b5082b73beb3d2ee7b9
parente45b31cf0a6fc24988b39b0990b327845ae0227f
gro: add support of (hw)gro packets to gro stack

Current GRO stack only supports incoming packets containing
one frame/MSS.

This patch changes GRO to accept packets that are already GRO.

HW-GRO (aka RSC for some vendors) is very often limited in presence
of interleaved packets. Linux SW GRO stack can complete the job
and provide larger GRO packets, thus reducing rate of ACK packets
and cpu overhead.

This also means BIG TCP can still be used, even if HW-GRO/RSC was
able to cook ~64 KB GRO packets.

v2: fix logic in tcp_gro_receive()

    Only support TCP for the moment (Paolo)

Co-Developed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Coco Li <lixiaoyan@google.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/gro.c
net/ipv4/tcp_offload.c