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 <tg...@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. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev