From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.mhcomputing.net (master.mhcomputing.net [74.208.46.186]) by dpdk.org (Postfix) with ESMTP id C56497EB0 for ; Thu, 9 Oct 2014 19:14:56 +0200 (CEST) Received: by mail.mhcomputing.net (Postfix, from userid 1000) id 1298380C50B; Thu, 9 Oct 2014 10:21:35 -0700 (PDT) Date: Thu, 9 Oct 2014 10:21:35 -0700 From: Matthew Hall To: Neil Horman Message-ID: <20141009172134.GB8620@mhcomputing.net> References: <3AEA2BF9852C6F48A459DA490692831FE21954@IRSMSX109.ger.corp.intel.com> <20141007112155.GA27719@hmsreliant.think-freely.org> <3AEA2BF9852C6F48A459DA490692831FE2226C@IRSMSX109.ger.corp.intel.com> <20141008191546.GC13306@hmsreliant.think-freely.org> <3AEA2BF9852C6F48A459DA490692831FE22552@IRSMSX109.ger.corp.intel.com> <20141009113650.GB20940@hmsreliant.think-freely.org> <3AEA2BF9852C6F48A459DA490692831FE22808@IRSMSX109.ger.corp.intel.com> <20141009160942.GE20940@hmsreliant.think-freely.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141009160942.GE20940@hmsreliant.think-freely.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH RFC] librte_reorder: new reorder library 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: Thu, 09 Oct 2014 17:14:57 -0000 On Thu, Oct 09, 2014 at 12:09:42PM -0400, Neil Horman wrote: > From what you've said above, sequence assignment needs to occur prior to any > order breaking event. That means you either need to do it in individual PMD's > on RX, or in the rte_eth library if you want to make it common. On the TX side > you need to ensure that the application applies sequence numbers uniquely and in > a predictable fashion in order for the library to work. that seems like a large > external requirement for this functionality to work, and I was wondering how you > were going to address that. To me it seems like the actualy mechanism of applying the sequence number to the packet belongs in librte_reorder or librte_mbuf. Then, a config define or runtime setting should be used to determine if the operation actually does something or becomes a no-op. Likely a define is needed so the compiler can optimize the code out when it's not used, like for RSS-based cases like mine. If the type of sequencing needed could be applied during allocation from the pool, that would be nice because it would be transparent, as long as the PMD's retrieved their new mbuf's the right way. If the sequencing to be applied based on properties from L4-L7, then it seems like the distributor would have to be sure to do call the right functions itself, as would other customers, because there'd be no way to magically get them right before you've looked at L4-L7 data first. Matthew.