[dpdk-dev] [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads
Ananyev, Konstantin
konstantin.ananyev at intel.com
Mon Jan 29 17:49:16 CET 2018
Hi Xueming,
>
> This patch introduce new TX offloads flag for devices that support
> tunnel agnostic checksum and TSO offloads.
>
> 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
So in terms of usage - what is the difference with current TSO types?
Konstantin
>
> Signed-off-by: Xueming Li <xuemingl at mellanox.com>
> ---
> lib/librte_ether/rte_ethdev.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 1a5b4cdc5..d8d08ccb2 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -979,6 +979,16 @@ struct rte_eth_conf {
> * the same mempool and has refcnt = 1.
> */
> #define DEV_TX_OFFLOAD_SECURITY 0x00020000
> +/**< Device supports generic tunnel checksum and TSO offloading.
> + * Checksum and TSO are done based on following mbuf fields:
> + * - Length of each header
> + * - Type of outer/inner L3 type, IPv4 or IPv6
> + * - Type of outer/inner L4 type, TCP or UDP.
> + * - PKT_TX_TUNNEL_VXLAN implies outer UDP type.
> + * - PKT_TX_TCP_SEG implies inner TCP type.
> + * Tunnel type is optional except PKT_TX_TUNNEL_VXLAN to hint outer UDP.
> + */
> +#define DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO 0x00040000
>
> /*
> * If new Tx offload capabilities are defined, they also must be
> --
> 2.13.3
More information about the dev
mailing list