On 4/7/2018 3:40 AM, Hyong Youb Kim wrote: > On Fri, Apr 06, 2018 at 05:15:40PM +0100, Ferruh Yigit wrote: >> On 4/5/2018 12:54 AM, John Daley wrote: >>> From: Hyong Youb Kim <hyon...@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 <hyon...@cisco.com> >>> Reviewed-by: John Daley <johnd...@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? > > Hi, > > Would you accept a devarg? We would enable overlay offload by default, > and disable it when the app specifies that devarg. This overlay > offload is a bunch of things under one roof, and it does not play > nicely with DPDK offload flags.
No problem on implementing this as devargs. > > Thanks. > -Hyong >