[ovs-dev] [RFC HSA 3/4] flow: Add supporting functions for HSA.

Alex Wang alexw at nicira.com
Sun May 31 22:48:07 UTC 2015


On Thu, May 28, 2015 at 3:26 PM, Ben Pfaff <blp at nicira.com> wrote:

> On Mon, Mar 30, 2015 at 03:46:28PM -0700, Alex Wang wrote:
> > This commit adds functions that check if the 'struct flow_wildcards'
> > member is fully masked (exact-match) or fully unmasked (don't care
> > the entire field at all).  Also, this commit adds a function to
> > shape a less-masked flow field by a more-masked flow field.
> >
> > Signed-off-by: Alex Wang <alexw at nicira.com>
>
> I don't understand the meaning of "shape", in the comment on
> flow_apply_field().
>
>
I mean the function will change a more wildcarded field/flow to a more
specific one.

Also, will adopt the suggestions.



> I have some suggestions as an incremental diff:
>
> diff --git a/lib/flow.c b/lib/flow.c
> index e91b107..1e5fc20 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -912,9 +912,9 @@ flow_apply_field(void *dst_field, void *dst_wc, const
> void *src_field,
>      uint8_t *dw = dst_wc;
>      size_t i;
>
> -    for (i = 0; i < size ; i++) {
> -        df[i] = sf[i] | df[i];
> -        dw[i] = sw[i] | dw[i];
> +    for (i = 0; i < size; i++) {
> +        df[i] |= sf[i];
> +        dw[i] |= sw[i];
>      }
>  }
>
> @@ -925,11 +925,7 @@ flow_apply_field(void *dst_field, void *dst_wc, const
> void *src_field,
>  bool
>  flow_wildcard_is_fully_masked(void *field, size_t len)
>  {
> -    char cmp[len];
> -
> -    memset(cmp, 0xff, len);
> -
> -    return !memcmp(field, cmp, len);
> +    return is_all_ones(field, len);
>  }
>
>  /* Returns true if the 'field' of 'len' byte long is
> @@ -937,11 +933,7 @@ flow_wildcard_is_fully_masked(void *field, size_t len)
>  bool
>  flow_wildcard_is_fully_unmasked(void *field, size_t len)
>  {
> -    char cmp[len];
> -
> -    memset(cmp, 0, len);
> -
> -    return !memcmp(field, cmp, len);
> +    return is_all_zeros(field, len);
>  }
>
>  /* Initializes 'wc' as a set of wildcards that matches every packet. */
>
>
> Acked-by: Ben Pfaff <blp at nicira.com>
>



More information about the dev mailing list