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