[dpdk-dev] [PATCH v3 00/20] enhance tx checksum offload API

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Feb 16 19:23:04 CET 2015


> > The goal of this series is to clarify and simplify the mbuf offload API.
> > 
> > - simplify the definitions of PKT_TX_IP_CKSUM and PKT_TX_IPV4, each
> >   flag has now only one meaning. No impact on the code.
> > 
> > - add a feature flag for OUTER_IP_CHECKSUM (from Jijiang's patches)
> > 
> > - remove the PKT_TX_UDP_TUNNEL_PKT flag: it is useless from an API point
> >   of view. It was added because i40e need this info for some reason. We
> >   have 3 solutions:
> > 
> >   - remove the flag and adapt the driver to the API (the choice I made
> >     for this series).
> > 
> >   - remove the flag and stop advertising OUTER_IP_CHECKSUM in i40e
> > 
> >   - keep this flag, penalizing performance of drivers that do not
> >     require the flag. It would also mean that drivers won't support
> >     outer IP checksum for all tunnel types, but only for the tunnel
> >     types having a flag.
> > 
> > - a side effect of this API clarification is that there is only one
> >   way for doing one operation. If the hardware has several ways to
> >   do the same operation, a choice has to be made in the driver.
> > 
> > The series also provide some enhancements and fixes related to this API rework:
> > 
> > - new tunnel types to testpmd csum forward engine.
> > - fixes in i40e to adapt to new api and support more tunnel types.
> > 
> > [1] http://dpdk.org/ml/archives/dev/2015-January/011127.html
> > 
> > Changes in v2:
> > - fix test of rx offload flag in parse_vlan() pointed out by Jijiang
> > 
> > Changes in v3:
> > - more detailed API comments for PKT_TX_IPV4 and PKT_TX_IPV6
> > - do not calculate the outer UDP checksum if packet is not UDP
> > - add a likely() in i40e
> > - remove a unlikely() in i40e
> > - fix a patch split issue
> > - rebase on head
> > 
> > Jijiang Liu (2):
> >   ethdev: add outer IP offload capability flag
> >   i40e: advertise outer IPv4 checksum capability
> > 
> > Olivier Matz (18):
> >   mbuf: remove PKT_TX_IPV4_CSUM
> >   mbuf: enhance the API documentation of offload flags
> >   i40e: call i40e_txd_enable_checksum only for offloaded packets
> >   i40e: remove the use of PKT_TX_UDP_TUNNEL_PKT flag
> >   mbuf: remove PKT_TX_UDP_TUNNEL_PKT flag
> >   testpmd: replace tx_checksum command by csum
> >   testpmd: move csum_show in a function
> >   testpmd: add csum parse_tunnel command
> >   testpmd: rename vxlan in outer_ip in csum commands
> >   testpmd: introduce parse_ipv* in csum fwd engine
> >   testpmd: use a structure to store offload info in csum fwd engine
> >   testpmd: introduce parse_vxlan in csum fwd engine
> >   testpmd: support gre tunnels in csum fwd engine
> >   testpmd: support ipip tunnel in csum forward engine
> >   testpmd: add a warning if outer ip cksum requested but not supported
> >   testpmd: fix TSO when using outer checksum offloads
> >   i40e: fix offloading of outer checksum for ip in ip tunnels
> >   i40e: add debug logs for tx context descriptors
> 
> Acked-by:  Jijiang Liu < Jijiang.liu at intel.com>

Applied, thanks for making API clearer


More information about the dev mailing list