From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 99FD78D8C for ; Fri, 16 Oct 2015 16:00:07 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP; 16 Oct 2015 07:00:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,689,1437462000"; d="scan'208";a="794873653" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.208.62]) by orsmga001.jf.intel.com with SMTP; 16 Oct 2015 07:00:03 -0700 Received: by (sSMTP sendmail emulation); Fri, 16 Oct 2015 15:00:02 +0025 Date: Fri, 16 Oct 2015 15:00:02 +0100 From: Bruce Richardson To: Tom Kiely Message-ID: <20151016140002.GH9980@bricha3-MOBL3> References: <5620FC5F.30307@brocade.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5620FC5F.30307@brocade.com> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] Question about zero length segments in received mbuf 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: Fri, 16 Oct 2015 14:00:08 -0000 On Fri, Oct 16, 2015 at 02:32:15PM +0100, Tom Kiely wrote: > Hi, > I am currently experiencing a serious issue and was hoping someone else > might have encountered it. > > I have a KVM VM using two ixgbe interfaces A and B (configured to use PCI > passthrough) and forwarding traffic from interface A via B. > At about 4 million pps of 64 byte frames, the rx driver > ixgbe_recv_scattered_pkts_vec() appears to be generating mbufs with 2 > segments, the first of which has data_len ==0 and the second data_len==64. > The real problem is that when ixgbe_xmit_pkts() on the tx side gets about 18 > of these packets, it seems to mess up the transmit descriptor handling. > ixgbe_xmit_cleanup() never sees the STAT_DD bit set and no descriptor get > freed leading to total traffic loss. > > I'm still debugging the xmit side to find out what's causing the descriptor > ring problem. > > Has anyone encountered the rx side zero-length-segment issue ? I found a > reference to such an issue on the web but it was years old. > > I'm using DPDK 1.8.0. > > Any information gratefully received, > Tom Hi Tom, on the TX side, if these two-segment packets are getting sent to the NIC, you probably want to make sure that the TX code is set up to handle multi-segment packets. By default in most drivers, the NO_MULTISEG flag is set on queue initialization. /Bruce