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