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

Liu, Jijiang jijiang.liu at intel.com
Sun Feb 15 07:22:17 CET 2015



> -----Original Message-----
> From: Olivier Matz [mailto:olivier.matz at 6wind.com]
> Sent: Friday, February 13, 2015 5:23 PM
> To: dev at dpdk.org
> Cc: Ananyev, Konstantin; Liu, Jijiang; Zhang, Helin; olivier.matz at 6wind.com
> Subject: [PATCH v3 00/20] enhance tx checksum offload API
> 
> 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
> 
>  app/test-pmd/cmdline.c            | 234 ++++++++++++++-------
>  app/test-pmd/csumonly.c           | 425 ++++++++++++++++++++++++++---------
> ---
>  app/test-pmd/testpmd.h            |   9 +-
>  lib/librte_ether/rte_ethdev.h     |   1 +
>  lib/librte_mbuf/rte_mbuf.c        |   1 -
>  lib/librte_mbuf/rte_mbuf.h        |  51 +++--
>  lib/librte_pmd_i40e/i40e_ethdev.c |   3 +-
>  lib/librte_pmd_i40e/i40e_rxtx.c   |  55 +++--
>  8 files changed, 529 insertions(+), 250 deletions(-)
> 
> --
> 2.1.4

Acked-by:  Jijiang Liu < Jijiang.liu at intel.com>



More information about the dev mailing list