Skip to content

RFC net: improve support for SCTP checksums

Davide Caratti linux-sctp netdev oe-lkp 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 RFC Latest7 patches 5 repliesIn review
  2. v3 RFC7 patches 4 repliesSuperseded
  3. v2 RFC4 patches 8 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v1 RFC5 patches8 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7skbuff: add stub to help computing crc32c on SCTP packetsinclude/linux/skbuff.h net/core/skbuff.c net/sctp/offload.c+33 -00 replies
2/7net: introduce skb_crc32c_csum_helpinclude/linux/netdevice.h include/linux/skbuff.h net/core/dev.c+43 -11 reply
3/7sk_buff: remove support for csum_bad in sk_buffdrivers/net/ethernet/aquantia/atlantic/aq_ring.c include/linux/netdevice.h include/linux/skbuff.h +4 more+9 -381 reply
4/7net: use skb->csum_not_inet to identify packets needing crc32cinclude/linux/skbuff.h net/core/dev.c net/sched/act_csum.c +2 more+13 -71 reply
5/7net: more accurate checksumming in validate_xmit_skb()Documentation/networking/checksum-offloads.txt include/linux/netdevice.h include/linux/skbuff.h +1 more+27 -140 replies
6/7openvswitch: more accurate checksumming in queue_userspace_packet()net/openvswitch/datapath.c+1 -10 replies
7/7sk_buff.h: improve description of CHECKSUM_{COMPLETE,UNNECESSARY}include/linux/skbuff.h+5 -21 reply

Reviews trailers per patch

4 of 7 patches have a Reviewed-by or Acked-by.

PatchMarcelo Ricardo LeitnerTom Herbert
1/7R-b
2/7
3/7A-b
4/7A-b
5/7
6/7
7/7A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH RFC net-next v4 0/7] net: improve support for SCTP checksums

hello Tom,

Quoted 2 lines · Tom Herbert

maybe just call it csum_not_ip then. Then just do "if (unlikely(skb->csum_not_ip)) ..."

Ok, done. V4 uses this bit for SCTP only and leaves unmodified behavior when offloaded FCoE frames are processed. Further work is still possible to extend this fix for FCoE, if needed, either by using additional sk_buff bits, or using skb->csum_not_ip and use other data (e.g. skb->csum_offset) to distinguish SCTP from FCoE.

Quoted 4 lines

the only case where this new bit is relevant is when CHECKSUM_PARTIAL for a CRC is being done. When it's set for offloading sctp crc it must be set. When CRC is resolved, in the helper for instance, it must be cleared.

in V4 the bit is set when SCTP packets with offloaded checksum are generated; the bit is cleared when CRC32c is resolved for such packets (i.e. skb->ip_summed transitions from CHECKSUM_PARTIAL to CHECKSUM_NONE).

Any feedbacks are appreciated!
thank you in advance,
--
davide

Davide Caratti (7):
skbuff: add stub to help computing crc32c on SCTP packets
net: introduce skb_crc32c_csum_help
sk_buff: remove support for csum_bad in sk_buff
net: use skb->csum_not_inet to identify packets needing crc32c
net: more accurate checksumming in validate_xmit_skb()
openvswitch: more accurate checksumming in queue_userspace_packet() sk_buff.h: improve description of CHECKSUM_{COMPLETE,UNNECESSARY}

 Documentation/networking/checksum-offloads.txt   | 11 +++--
 drivers/net/ethernet/aquantia/atlantic/aq_ring.c |  2 +-
 include/linux/netdevice.h                        |  8 +--
 include/linux/skbuff.h                           | 58 +++++++++-------------
 net/bridge/netfilter/nft_reject_bridge.c         |  5 +-
 net/core/dev.c                                   | 63 +++++++++++++++++++++---
 net/core/skbuff.c                                | 24 +++++++++
 net/ipv4/netfilter/nf_reject_ipv4.c              |  2 +-
 net/ipv6/netfilter/nf_reject_ipv6.c              |  3 --
 net/openvswitch/datapath.c                       |  2 +-
 net/sched/act_csum.c                             |  1 +
 net/sctp/offload.c                               |  8 +++
 net/sctp/output.c                                |  1 +
 13 files changed, 128 insertions(+), 60 deletions(-)
Signature · 1 line
2.7.4