From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4E69AA0C4E; Tue, 2 Nov 2021 08:03:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 995554069F; Tue, 2 Nov 2021 08:03:12 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id F3E5A4068F for ; Tue, 2 Nov 2021 08:03:10 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10155"; a="254806304" X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="254806304" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2021 00:03:09 -0700 X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="467578027" Received: from dpdk.cd.intel.com ([10.240.178.133]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2021 00:03:06 -0700 From: Jie Wang To: dev@dpdk.org Cc: yuying.zhang@intel.com, xiaoyun.li@intel.com, stevex.yang@intel.com, beilei.xing@intel.com, qi.z.zhang@intel.com, Jie Wang , statble@dpdk.org Date: Tue, 2 Nov 2021 15:03:07 +0800 Message-Id: <20211102070307.89637-1-jie1x.wang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] net/i40e: fix forward outer IPv6 VXLAN packets X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Testpmd forwards packets in checksum mode that it need to calculate the checksum of each layer's protocol. Then it will fill flags and header length into mbuf. In process_outer_cksums, HW calculates the outer checksum if tx_offloads contains outer UDP checksum otherwise SW calculates the outer checksum. When tx_offloads contains outer UDP checksum or outer IPv4 checksum, mbuf will be filled with correct header length. This patch added outer UDP checksum in tx_offload_capa and I40E_TX_OFFLOAD_MASK, when we set csum hw outer-udp on that the engine can forward outer IPv6 VXLAN packets. Fixes: 399421100e08 ("net/i40e: fix missing mbuf fast free offload") Cc: statble@dpdk.org Signed-off-by: Jie Wang --- drivers/net/i40e/i40e_ethdev.c | 1 + drivers/net/i40e/i40e_rxtx.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 62e374d19e..faf6391350 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -3746,6 +3746,7 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO | RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO | RTE_ETH_TX_OFFLOAD_MULTI_SEGS | + RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM | dev_info->tx_queue_offload_capa; dev_info->dev_capa = RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 6ccb598677..41fe3bf481 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -65,6 +65,7 @@ RTE_MBUF_F_TX_QINQ | \ RTE_MBUF_F_TX_VLAN | \ RTE_MBUF_F_TX_TUNNEL_MASK | \ + RTE_MBUF_F_TX_OUTER_UDP_CKSUM | \ I40E_TX_IEEE1588_TMST) #define I40E_TX_OFFLOAD_NOTSUP_MASK \ -- 2.25.1