Skip to content

RFC add partial rx hw csum offload support for XDP

Lorenzo Bianconi bpf netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest4 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4net: xdp: introduce flags field in xdp_buff and xdp_frameinclude/net/xdp.h+36 -06 replies
2/4mvneta: return csum computation result from mvneta_rx_csumdrivers/net/ethernet/marvell/mvneta.c+7 -120 replies
3/4net: mvneta: report csum result in xdp_buffdrivers/net/ethernet/marvell/mvneta.c+5 -50 replies
4/4net: xdp: update csum building the skbnet/core/xdp.c+1 -10 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [RFC bpf-next 0/4] add partial rx hw csum offload support for XDP

Enable xdp rx checksum offload support for CHECKSUM_UNNECESSARY use-case. Introduce flag field in xdp_buff/xdp_frame in order to save the checksum result from the NIC and have a fast access to it performing XDP_REDIRECT. CHECKSUM_COMPLETE is not supported yet since it will require adding the csum result to the xdp_metadata area.
Moreover flag field will be reused for xdp multi-buff support. This series has been tested generating UDP traffic with pktgen and performing a xdp_redirect from an ixgbe device to a remote CPUMAP entry. PPS results show a negligible penalty respect to the baseline where the UDP checksum has been disabled. More info about the test can be found here [0].

[0] https://github.com/xdp-project/xdp-project/blob/master/areas/core/xdp_frame01_checksum.org

Lorenzo Bianconi (4):
net: xdp: introduce flags field in xdp_buff and xdp_frame
mvneta: return csum computation result from mvneta_rx_csum
net: mvneta: report csum result in xdp_buff
net: xdp: update csum building the skb

 drivers/net/ethernet/marvell/mvneta.c | 27 ++++++++------------
 include/net/xdp.h                     | 36 +++++++++++++++++++++++++++
 net/core/xdp.c                        |  2 +-
 3 files changed, 48 insertions(+), 17 deletions(-)
Signature · 1 line
2.31.1