[dpdk-dev] [PATCH] net/enic: enable overlay offload for VXLAN and GENEVE
Ferruh Yigit
ferruh.yigit at intel.com
Mon Apr 9 14:52:02 CEST 2018
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 <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?
>
> 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
>
More information about the dev
mailing list