Sorry for the delay, Acked-by: Jarno Rajahalme <ja...@ovn.org>
> On Jan 19, 2016, at 10:15 PM, Simon Horman <simon.hor...@netronome.com> wrote: > > Provide leading padding to allow pushing a value to a miniflow where > the value is not aligned to 64 bytes and no value has already been > pushed to the same word. > > This will be used by a follow-up patch to allow layer 3 packet - that is > packets without an ethernet header - to be represented in flows. > > Signed-off-by: Simon Horman <simon.hor...@netronome.com> > > --- > v9 > * New patch > --- > lib/flow.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/lib/flow.c b/lib/flow.c > index f09c32523899..2a7116b675da 100644 > --- a/lib/flow.c > +++ b/lib/flow.c > @@ -225,6 +225,16 @@ BUILD_MESSAGE("FLOW_WC_SEQ changed: miniflow_extract() > will have runtime " > MF.data++; \ > } > > +#define miniflow_pad_from_64_(MF, OFS) \ > +{ \ > + MINIFLOW_ASSERT(MF.data < MF.end); \ > + \ > + MINIFLOW_ASSERT((OFS) % 8 != 0); \ > + miniflow_set_map(MF, OFS / 8); \ > + \ > + memset((uint8_t *)MF.data, 0, (OFS) % 8); \ > +} > + > #define miniflow_push_be16_(MF, OFS, VALUE) \ > miniflow_push_uint16_(MF, OFS, (OVS_FORCE uint16_t)VALUE); > > @@ -288,6 +298,9 @@ BUILD_MESSAGE("FLOW_WC_SEQ changed: miniflow_extract() > will have runtime " > #define miniflow_pad_to_64(MF, FIELD) \ > miniflow_pad_to_64_(MF, OFFSETOFEND(struct flow, FIELD)) > > +#define miniflow_pad_from_64(MF, FIELD) \ > + miniflow_pad_from_64_(MF, offsetof(struct flow, FIELD)) > + > #define miniflow_push_words(MF, FIELD, VALUEP, N_WORDS) \ > miniflow_push_words_(MF, offsetof(struct flow, FIELD), VALUEP, N_WORDS) > > -- > 2.1.4 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev