mbox series

[net-next,v3,0/3] net: gro: reduce extension header parsing overhead

Message ID ac6fb684-c00e-449c-92c3-99358a927ade@gmail.com
Headers show
Series net: gro: reduce extension header parsing overhead | expand

Message

Richard Gobert Jan. 3, 2024, 2:36 p.m. UTC
This series attempts to reduce the parsing overhead of IPv6 extension
headers in GRO and GSO, by removing extension header specific code and
enabling the frag0 fast path.
 
The following changes were made:
 - Removed some unnecessary HBH conditionals by adding HBH offload
   to inet6_offloads
 - Added a utility function to support frag0 fast path in ipv6_gro_receive
 - Added selftests for IPv6 packets with extension headers in GRO

Richard

v2 -> v3:
 - Removed previously added IPv6 extension header length constant and
   using sizeof(*opth) instead.
 - Removed unnecessary conditional in gro selftest framework
 - v2:
   https://lore.kernel.org/netdev/127b8199-1cd4-42d7-9b2b-875abaad93fe@gmail.com/

v1 -> v2:
 - Added a minimum IPv6 extension header length constant to make code self
   documenting.
 - Added new selftest which checks that packets with different extension
   header payloads do not coalesce.
 - Added more info in the second commit message regarding the code changes.
 - v1:
   https://lore.kernel.org/netdev/f4eff69d-3917-4c42-8c6b-d09597ac4437@gmail.com/

Richard Gobert (3):
  net: gso: add HBH extension header offload support
  net: gro: parse ipv6 ext headers without frag0 invalidation
  selftests/net: fix GRO coalesce test and add ext header coalesce tests

 net/ipv6/exthdrs_offload.c        | 11 ++++
 net/ipv6/ip6_offload.c            | 76 +++++++++++++++++--------
 tools/testing/selftests/net/gro.c | 93 +++++++++++++++++++++++++++++--
 3 files changed, 150 insertions(+), 30 deletions(-)