> > 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