From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 6DB825921 for ; Wed, 22 Jul 2015 11:13:36 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP; 22 Jul 2015 02:13:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,522,1432623600"; d="scan'208";a="768905493" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 22 Jul 2015 02:13:31 -0700 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t6M9DVdi023419; Wed, 22 Jul 2015 10:13:31 +0100 Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id t6M9DU6h014142; Wed, 22 Jul 2015 10:13:30 +0100 Received: (from bricha3@localhost) by sivswdev01.ir.intel.com with id t6M9DU89014138; Wed, 22 Jul 2015 10:13:30 +0100 From: Bruce Richardson To: dev@dpdk.org Date: Wed, 22 Jul 2015 10:13:30 +0100 Message-Id: <1437556410-14102-1-git-send-email-bruce.richardson@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1437492307-29754-1-git-send-email-bruce.richardson@intel.com> References: <1437492307-29754-1-git-send-email-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH v2] ixgbe: fix check for split packets X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jul 2015 09:13:36 -0000 The check for split packets to be reassembled in the vector ixgbe PMD was incorrectly only checking the first 16 elements of the array instead of all 32. This is fixed by changing the uint32_t values to be uint64_t instead. Fixes: cf4b4708a88a ("ixgbe: improve slow-path perf with vector scattered Rx") Reported-by: Zoltan Kiss Signed-off-by: Bruce Richardson --- V2: Rename variable from split_fl32 to split_fl64 to match type change. --- drivers/net/ixgbe/ixgbe_rxtx_vec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec.c b/drivers/net/ixgbe/ixgbe_rxtx_vec.c index d3ac74a..f2052c6 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx_vec.c +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec.c @@ -549,10 +549,10 @@ ixgbe_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, return 0; /* happy day case, full burst + no packets to be joined */ - const uint32_t *split_fl32 = (uint32_t *)split_flags; + const uint64_t *split_fl64 = (uint64_t *)split_flags; if (rxq->pkt_first_seg == NULL && - split_fl32[0] == 0 && split_fl32[1] == 0 && - split_fl32[2] == 0 && split_fl32[3] == 0) + split_fl64[0] == 0 && split_fl64[1] == 0 && + split_fl64[2] == 0 && split_fl64[3] == 0) return nb_bufs; /* reassemble any packets that need reassembly*/ -- 2.4.3