[dpdk-dev] [PATCH] net/enic: enable overlay offload for VXLAN and GENEVE

Ferruh Yigit ferruh.yigit at intel.com
Fri Apr 6 18:15:40 CEST 2018


On 4/5/2018 12:54 AM, John Daley wrote:
> From: Hyong Youb Kim <hyonkim at cisco.com>
> 
> Recent NIC models support overlay offload. The overlay offload
> feature enables the following on the NIC.
> - Rx/Tx checksum offloads for both inner and outer packets.
> - Rx inner packet type classification.
> - TSO.
> - Inner RSS.
> 
> TX descriptors do not require any changes, except the header length
> for TSO. The NIC parses outer/inner packets and performs offloads on
> them as necessary. The header length for tunneled TSO includes both
> inner and outer headers.
> 
> The NIC actually parses and performs the above for NVGRE as well. DPDK
> currently has no offload flags for NVGRE, and the hardware has no
> controls to individually enable tunnel types either. So do nothing for
> now.
> 
> Add a config flag to enable overlay offload by default. To disable it,
> the user should set it to 'n'.
> 
> CONFIG_RTE_LIBRTE_ENIC_ENABLE_OVERLAY_OFFLOAD=y
> 
> Also update the enic guide doc.
> 
> Signed-off-by: Hyong Youb Kim <hyonkim at cisco.com>
> Reviewed-by: John Daley <johndale at cisco.com>
> ---
>  config/common_base                  |   1 +
>  doc/guides/nics/enic.rst            |  52 ++++++++++++++++++
>  drivers/net/enic/base/vnic_dev.c    |  33 ++++++++++++
>  drivers/net/enic/base/vnic_dev.h    |   5 +-
>  drivers/net/enic/base/vnic_devcmd.h |  12 +++++
>  drivers/net/enic/base/vnic_wq.h     |   1 +
>  drivers/net/enic/enic.h             |   6 +++
>  drivers/net/enic/enic_ethdev.c      |  21 ++------
>  drivers/net/enic/enic_main.c        |  25 +++++++++
>  drivers/net/enic/enic_res.c         |  23 ++++++++
>  drivers/net/enic/enic_rxtx.c        | 104 ++++++++++++++++++++++++++++--------
>  11 files changed, 241 insertions(+), 42 deletions(-)
> 
> diff --git a/config/common_base b/config/common_base
> index c09c7cf88..964e37b6e 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -205,6 +205,7 @@ CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
>  # Compile burst-oriented Cisco ENIC PMD driver
>  #
>  CONFIG_RTE_LIBRTE_ENIC_PMD=y
> +CONFIG_RTE_LIBRTE_ENIC_ENABLE_OVERLAY_OFFLOAD=y

Hi John,

We are trying to reduce config options we have, is overlay offload enabling can
be done via runtime argument or dedicated offload flag?


More information about the dev mailing list