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 <al...@nicira.com>
I don't understand the meaning of "shape", in the comment on flow_apply_field(). 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 <b...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev