Skip to content

Local Checksum Offload

Edward Cree netdev 5 versions – In review

Get series with b4
b4 am alpine.LFD.2.20.1602112024140.14893@ec-desktop.uk.level5networks.com

Versions newest first · linked by author and title

  1. v5 Latest8 patches 1 replyIn review
  2. v48 patches 1 replySuperseded
  3. v38 patches 23 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v25 patches22 repliesSuperseded
v12 patches5 repliesSuperseded

Changes in v5 from the cover letter

* Rebased series to fix conflicts with vxlan/vxlan6 merge.

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8net: local checksum offload for encapsulationinclude/linux/skbuff.h net/ipv4/ip_tunnel_core.c net/ipv4/udp.c +1 more+46 -220 replies
2/8net: udp: always set up for CHECKSUM_PARTIAL offloadnet/ipv4/udp.c net/ipv6/ip6_checksum.c+2 -250 replies
3/8net: enable LCO for udp_tunnel_handle_offloads() usersinclude/net/udp_tunnel.h+2 -10 replies
4/8net: vxlan: enable local checksum offloaddrivers/net/vxlan.c+2 -40 replies
5/8fou: enable LCO in FOU and GUEnet/ipv4/fou.c+6 -80 replies
6/8net: gre: Implement LCO for GRE over IPv4net/ipv4/ip_gre.c+13 -30 replies
7/8net: ip_tunnel: remove 'csum_help' argument to iptunnel_handle_offloadsdrivers/net/vxlan.c include/net/ip_tunnels.h include/net/udp_tunnel.h +6 more+17 -280 replies
8/8Documentation/networking: add checksum-offloads.txt to explain LCODocumentation/networking/00-INDEX Documentation/networking/checksum-offloads.txt include/linux/skbuff.h+123 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCH v5 net-next 0/8] Local Checksum Offload

Re-tested VxLAN; everything else is unchanged from v4.

Changes from v4:
* Rebased series to fix conflicts with vxlan/vxlan6 merge.

Changes from v3:
* Fixed inverted checksum values introduced in v3.
* Don't mangle zero checksums in GRE.
* Clear skb->encapsulation in iptunnel_handle_offloads when not using CHECKSUM_PARTIAL, lest drivers incorrectly interpret that as a request for inner checksum offload.

Changes from v2:
* Added support for IPv4 GRE.
* Split out 'always set up for checksum offload' into its own patch.
* Removed csum_help from iptunnel_handle_offloads.
* Rewrote LCO callers to only fold once.
* Simplified nocheck handling.

Changes from v1:
* Enabled support in more encapsulation protocols.
I think it now covers everything except GRE.
* Wrote up some documentation covering TX checksum offload, LCO and RCO.

Edward Cree (8):
net: local checksum offload for encapsulation
net: udp: always set up for CHECKSUM_PARTIAL offload
net: enable LCO for udp_tunnel_handle_offloads() users
net: vxlan: enable local checksum offload
fou: enable LCO in FOU and GUE
net: gre: Implement LCO for GRE over IPv4
net: ip_tunnel: remove 'csum_help' argument to iptunnel_handle_offloads Documentation/networking: add checksum-offloads.txt to explain LCO

 Documentation/networking/00-INDEX              |   2 +
 Documentation/networking/checksum-offloads.txt | 119 +++++++++++++++++++++++++
 drivers/net/vxlan.c                            |   6 +-
 include/linux/skbuff.h                         |  26 ++++++
 include/net/ip_tunnels.h                       |   3 +-
 include/net/udp_tunnel.h                       |   2 +-
 net/ipv4/fou.c                                 |  14 ++-
 net/ipv4/ip_gre.c                              |  17 +++-
 net/ipv4/ip_tunnel_core.c                      |  22 ++---
 net/ipv4/ipip.c                                |   2 +-
 net/ipv4/udp.c                                 |  28 ++----
 net/ipv6/ip6_checksum.c                        |  23 ++---
 net/ipv6/sit.c                                 |   4 +-
 net/netfilter/ipvs/ip_vs_xmit.c                |   6 +-
 14 files changed, 197 insertions(+), 77 deletions(-)
 create mode 100644 Documentation/networking/checksum-offloads.txt