[dpdk-dev] [RFC 00/16] enhance checksum offload API
Olivier Matz
olivier.matz at 6wind.com
Thu Jan 22 00:36:19 CET 2015
The goal of this series is to clarify and simplify the mbuf offload API.
Several issues are solved:
- 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 patch adds new tunnel types to testpmd csum forward engine.
Note: the i40e patches should be carefully checked by i40e experts.
[1] http://dpdk.org/ml/archives/dev/2015-January/011127.html
Jijiang Liu (2):
ethdev: add outer IP offload capability flag
i40e: advertise outer IPv4 checksum capability
Olivier Matz (14):
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
app/test-pmd/cmdline.c | 228 ++++++++++++++-------
app/test-pmd/csumonly.c | 416 +++++++++++++++++++++++++-------------
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 | 49 +++--
lib/librte_pmd_i40e/i40e_ethdev.c | 3 +-
lib/librte_pmd_i40e/i40e_rxtx.c | 23 ++-
8 files changed, 490 insertions(+), 240 deletions(-)
--
2.1.3
More information about the dev
mailing list