From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from stargate3.asicdesigners.com (stargate.chelsio.com [12.32.117.8]) by dpdk.org (Postfix) with ESMTP id 5E03D2BE9 for ; Wed, 24 Feb 2016 19:40:28 +0100 (CET) Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate3.asicdesigners.com (8.13.8/8.13.8) with ESMTP id u1OIeOVp002998; Wed, 24 Feb 2016 10:40:25 -0800 Date: Thu, 25 Feb 2016 00:10:07 +0530 From: Rahul Lakkireddy To: Thomas Monjalon Message-ID: <20160224184006.GB8856@chelsio.com> References: <20160224144313.GF19616@bricha3-MOBL3> <13893420.AuWBYNZ43L@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <13893420.AuWBYNZ43L@xps13> User-Agent: Mutt/1.5.24 (2015-08-30) Cc: "dev@dpdk.org" , Kumar A S , Nirranjan Kirubaharan Subject: Re: [dpdk-dev] [PATCH 01/10] ethdev: add a generic flow and new behavior switch to fdir 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, 24 Feb 2016 18:40:28 -0000 Hi Thomas, On Wednesday, February 02/24/16, 2016 at 07:02:42 -0800, Thomas Monjalon wrote: > 2016-02-24 14:43, Bruce Richardson: > > On Wed, Feb 03, 2016 at 02:02:22PM +0530, Rahul Lakkireddy wrote: > > > Add a new raw packet flow that allows specifying generic flow input. > > > > > > Add the ability to provide masks for fields in flow to allow range of > > > values. > > > > > > Add a new behavior switch. > > > > > > Add the ability to provide behavior arguments to allow rewriting matched > > > fields with new values. Ex: allows to provide new ip and port addresses > > > to rewrite the fields of packets matching a filter rule before NAT'ing. > > > > > Thomas, any comments as ethdev maintainer? > > Yes, some comments. > First, there are several different changes in the same patch. It must be split. Should each structure change be split into a separate patch? > Then I don't understand at all the raw flow filter. What is a raw flow? > How behavior_arg must be used? > This was discussed with Jingjing at http://permalink.gmane.org/gmane.comp.networking.dpdk.devel/31471 A raw flow provides a generic way for vendors to add their vendor specific input flow. In our case, it is possible to match several flows in a single rule. For example, it's possible to set an ethernet, vlan, ip and tcp/udp flows all in a single rule. We can specify all of these flows in a single raw input flow, which can then be passed to cxgbe flow director to set the corresponding filter. On similar lines, behavior_arg provides a generic way to pass extra action arguments for matched flows. For example, in our case, to perform NAT, the new src/dst ip and src/dst port addresses to be re-written for a matched rule can be passed in behavior_arg. Thanks, Rahul