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 6F341A0093; Wed, 20 May 2020 11:46:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4FDFA1C437; Wed, 20 May 2020 11:46:59 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 9C0591C436 for ; Wed, 20 May 2020 11:46:57 +0200 (CEST) IronPort-SDR: 9TNQC7izqvxZlG6sZNj8/+Dnh5b37183qQzXSp0/E1EnzCb926zzcYJd1YScqZ1NgNbPJR4kd5 YKBxMIWjr2IQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2020 02:46:56 -0700 IronPort-SDR: XNzO44YwLe13PKAg7aB1ELPVkYfSDlGhm3Ev9S70bqYGCCZTY33Q2fFGU5khW10bqvUS28Ig1+ v5asfVw525aA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,413,1583222400"; d="scan'208";a="254980442" Received: from npg-dpdk-cvl-jeffguo-01.sh.intel.com ([10.67.111.128]) by fmsmga008.fm.intel.com with ESMTP; 20 May 2020 02:46:55 -0700 From: Jeff Guo To: qi.z.zhang@intel.com, qiming.yang@intel.com Cc: xiaolong.ye@intel.com, dev@dpdk.org, jia.guo@intel.com Date: Wed, 20 May 2020 17:46:14 -0400 Message-Id: <20200520214614.34513-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/ice: 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: c68a52b8b38c ("net/ice: support vector SSE in Rx") Signed-off-by: Jeff Guo --- drivers/net/ice/ice_rxtx_vec_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h index 6b57ff2ae..46e3be98a 100644 --- a/drivers/net/ice/ice_rxtx_vec_common.h +++ b/drivers/net/ice/ice_rxtx_vec_common.h @@ -29,6 +29,7 @@ ice_rx_reassemble_packets(struct ice_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