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

Reply via email to