On Tue, Sep 04, 2012 at 10:39:19AM +0900, Simon Horman wrote:
> On Thu, Aug 30, 2012 at 09:29:27PM -0700, Ben Pfaff wrote:
> > On Thu, Aug 30, 2012 at 10:40:24AM +0900, Simon Horman wrote:
> > > From: Isaku Yamahata <[email protected]>
> > > 
> > > set_field action needs more than 64 bits value unlike nx_reg_load action.
> > > This is preparation for set_field action. mf_value will be used later.
> > > 
> > > Signed-off-by: Isaku Yamahata <[email protected]>
> > > Signed-off-by: Simon Horman <[email protected]>
> > 
> > Presumably the goal is to make ofpact_reg_load able to set any subset of
> > a field, not just a 64-bit subset.  For this, it would seem more natural
> > to use union mf_subvalue instead of union mf_value.  Then
> > nxm_execute_reg_load() would become a single call to
> > mf_write_subfield(), rather than (as seen in patch 3/5) a conditional.
> 
> I spoke with Yamahata-san and clarified the motivation for using mf_value.
> 
> It was:
> * To allow the storage of IPv6 addresses which require more than 64bits and;
> * To allow use of portions of meta-flow.c
> 
> Having looked over the code I'm not convinced that it aims to set
> field subsets. Do you believe that should be an aim?

Certainly NXAST_REG_LOAD can modify part of a field rather than having
to set an entire field (which is what I mean by a "subset", in case it
wasn't clear).  That's what mf_subvalue represents: some part of a
field.  (Naturally, it can represent a whole field, too, since that's
just a special case of "part of a field".)
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to