From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 60D9DA0093; Wed, 20 May 2020 11:44:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E72861C437; Wed, 20 May 2020 11:44:58 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5373B1C193 for ; Wed, 20 May 2020 11:44:57 +0200 (CEST) IronPort-SDR: TjoO5q6FaMHQO1Qe1B+DMcJtF7Gbhz9V92yY4lRi9pQ3FMF2KbnuvyHLtnOWugiWE/ZfkKyBuF 8Zq7e4QARPXw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2020 02:44:56 -0700 IronPort-SDR: nPRY+5V2AxpwyQY8KdnBJbmQDlfPglDGSZhohOQRiHnF4NvLfIbGFGryocg+DNSlS5bdf7+37L qL/Af0Efw7XA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,413,1583222400"; d="scan'208";a="466323843" Received: from npg-dpdk-cvl-jeffguo-01.sh.intel.com ([10.67.111.128]) by fmsmga005.fm.intel.com with ESMTP; 20 May 2020 02:44:54 -0700 From: Jeff Guo To: beilei.xing@intel.com, jingjing.wu@intel.com Cc: xiaolong.ye@intel.com, qi.z.zhang@intel.com, dev@dpdk.org, jia.guo@intel.com Date: Wed, 20 May 2020 17:44:14 -0400 Message-Id: <20200520214414.34420-1-jia.guo@intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] net/iavf: fix error setting for L2TAG X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Base on HW, if a packet be split into multiple segments, the L2TAG should only be valid on the last Rx descriptor. So fix it by setting L2TAG into mbuf when processing the last split packet. Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Signed-off-by: Jeff Guo --- drivers/net/iavf/iavf_rxtx_vec_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h b/drivers/net/iavf/iavf_rxtx_vec_common.h index a6ba22758..25bb502de 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_common.h +++ b/drivers/net/iavf/iavf_rxtx_vec_common.h @@ -33,6 +33,7 @@ reassemble_packets(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_bufs, if (!split_flags[buf_idx]) { /* it's the last packet of the set */ start->hash = end->hash; + start->vlan_tci = end->vlan_tci; start->ol_flags = end->ol_flags; /* we need to strip crc for the whole packet */ start->pkt_len -= rxq->crc_len; -- 2.20.1