[ovs-dev] [PATCH] ofp-actions: Treat OFPACT_REG_MOVE with reg/metadata src as set action

Thomas Graf tgraf at noironetworks.com
Thu Aug 14 08:59:53 UTC 2014


On 08/14/14 at 10:40am, Thomas Graf wrote:
> On 08/13/14 at 09:56am, Ben Pfaff wrote:
> > On Wed, Aug 13, 2014 at 03:34:27PM +0200, Thomas Graf wrote:
> > > This makes the following work:
> > > add-group br0 group_id=1234,type=all, \
> > >               bucket=output:10,move:NXM_NX_REG1[]->NXM_OF_IP_SRC[], \
> > > 			  bucket=output:11
> > > add-flow br0 ip actions=load:0xffffffff->NXM_NX_REG1[],group:1234
> > > 
> > > Signed-off-by: Thomas Graf <tgraf at noironetworks.com>
> > 
> > I don't understand why those fields should be considered const.  Can
> > you explain?
> 
> We already consider OFPACT_REG_LOAD a set action, allowing a
> OFPACT_REG_MOVE with a register as source would be consistent in
> my eyes.

Would it help if I added a flag to each register indicating whether
it was loaded from a const source and only consider a move from
a register const if it was loaded based on a const value?

So, this would work:
load:1->NXM_NX_REG1[],move:NXM_NX_REG1[]->NXM_OF_IP_SRC[]

... while this wouldn't:
move:NXM_OF_IP_DST[]->NXM_NX_REG1[],move:NXM_NX_REG1[]->NXM_OF_IP_SRC[]

The motivation here is to allow a flow in the pipeline to use
registers which are later used to set fields in either a group
bucket or another flow later on in the pipeline.



More information about the dev mailing list