ethdev: introduce generic IP/UDP tunnel checksum and TSO
authorXueming Li <xuemingl@mellanox.com>
Mon, 23 Apr 2018 11:49:35 +0000 (19:49 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 27 Apr 2018 16:34:41 +0000 (17:34 +0100)
commit5355f4439e2eda90c94e5532a49174a7e8839519
treecd58b079c4892d8b96117304a46876b960cfff1a
parentd9aa619c60b67131d0f8d0ad308576ca72ce7c90
ethdev: introduce generic IP/UDP tunnel checksum and TSO

This patch introduce new TX offload flags for device that supports
IP or UDP tunneled packet L3/L4 checksum and TSO offload.
It will be used for non-standard tunnels.

The support from the device is for inner and outer checksums on
IPV4/TCP/UDP and TSO for *any packet with the following format*:

<some headers> / [optional IPv4/IPv6] / [optional TCP/UDP] / <some
headers> / [optional inner IPv4/IPv6] / [optional TCP/UDP]

For example the following packets can use this feature:

1. eth / ipv4 / udp / VXLAN / ip / tcp
2. eth / ipv4 / GRE / MPLS / ipv4 / udp

Please note that specific tunnel headers that contain payload length,
sequence id or checksum will not be updated.

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_ether/rte_ethdev.h
lib/librte_mbuf/rte_mbuf.c
lib/librte_mbuf/rte_mbuf.h