[ovs-dev] [PATCH 03/10] openflow1.2: add OFP12_ACTION_SET_FIELD_ALIGN = 8

Ben Pfaff blp at nicira.com
Wed Jun 27 05:57:43 UTC 2012


On Wed, Jun 27, 2012 at 02:56:31PM +0900, Isaku Yamahata wrote:
> On Tue, Jun 26, 2012 at 09:34:06PM -0700, Ben Pfaff wrote:
> > On Wed, Jun 27, 2012 at 01:26:58PM +0900, Isaku Yamahata wrote:
> > > Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp>
> > > ---
> > >  include/openflow/openflow-1.2.h |    2 ++
> > >  1 files changed, 2 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/include/openflow/openflow-1.2.h b/include/openflow/openflow-1.2.h
> > > index bd86bf9..32f5c01 100644
> > > --- a/include/openflow/openflow-1.2.h
> > > +++ b/include/openflow/openflow-1.2.h
> > > @@ -262,6 +262,8 @@ struct ofp12_action_set_field {
> > >  };
> > >  OFP_ASSERT(sizeof(struct ofp12_action_set_field) == 8);
> > >  
> > > +#define OFP12_ACTION_SET_FIELD_ALIGN	8
> > 
> > What is this new constant for?
> 
> From the spec, struct ofp_action_set_field is padded
> to be aligned 64 bit.
> The constant is used when the action is parsed.
> 
> The spec doesn't define the constant. So I'll drop this patch and
> hard code the value in the parser with a comment.

I think that's probably wise in this case.

Thanks,

Ben.

> /* Action structure for OFPAT_SET_FIELD. */
> struct ofp_action_set_field {
> uint16_t type; /* OFPAT_SET_FIELD. */
> uint16_t len; /* Length is padded to 64 bits. */
> /* Followed by:
>  * -Exactlyoxm_lenbytescontainingasingleOXMTLV,then
>  * -Exactly((oxm_len+4)+7)/8*8- (oxm_len +4)(between0and7)
>  * bytesofall-zerobytes
>  */
> uint8_t field[4]; /* OXM TLV - Make compiler happy */
> };

You lost a bunch of spaces there ;-)



More information about the dev mailing list