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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx/

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@xxxxxxxxx/

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(-)

-- 
2.36.1





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux