mbox series

[net-next,00/11] Extend GbEth checksum offload support to VLAN/IPv6 packets

Message ID 20240930160845.8520-1-paul@pbarker.dev (mailing list archive)
Headers show
Series Extend GbEth checksum offload support to VLAN/IPv6 packets | expand

Message

Paul Barker Sept. 30, 2024, 4:08 p.m. UTC
From: Paul Barker <paul.barker.ct@bp.renesas.com>

The GbEth IP found in Renesas RZ/G2L, RZ/G3S and related SoCs supports
hardware checksum offload for packets in the following cases:

 - there are zero or one VLAN headers with TPID=0x8100
 - the network protocol is IPv4 or IPv6
 - the transport protocol is TCP, UDP or ICMP
 - the packet is not fragmented 

To complete the support for all these cases in the ravb driver, we need
to add handling for ICMP packets, VLAN-tagged packets and IPv6 packets
in both the TX and RX code paths.

These patches also do some refactoring/tidy-up, drop unnecessary checks
from performance sensitive code paths and disable unnecessary IP header
checksum offloading.

Paul Barker (11):
  net: ravb: Factor out checksum offload enable bits
  net: ravb: Disable IP header RX checksum offloading
  net: ravb: Drop IP protocol check from RX csum verification
  net: ravb: Combine if conditions in RX csum validation
  net: ravb: Simplify types in RX csum validation
  net: ravb: Disable IP header TX checksum offloading
  net: ravb: Simplify UDP TX checksum offload
  net: ravb: Support ICMP TX checksum offload for GbEth
  net: ravb: Enable IPv6 RX checksum offloading for GbEth
  net: ravb: Enable IPv6 TX checksum offload for GbEth
  net: ravb: Add VLAN checksum support

 drivers/net/ethernet/renesas/ravb.h      |   7 ++
 drivers/net/ethernet/renesas/ravb_main.c | 108 +++++++++++++----------
 2 files changed, 68 insertions(+), 47 deletions(-)