Looks good,

It's always bothered me how easy it is to mess this up. Hopefully the
rest of the series will make it better.

Ethan

On Fri, Jul 20, 2012 at 4:24 PM, Ben Pfaff <b...@nicira.com> wrote:
> This probably means that some classifier functions based on the fragment
> type of packets have never worked properly.
>
> Signed-off-by: Ben Pfaff <b...@nicira.com>
> ---
>  lib/flow.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/lib/flow.c b/lib/flow.c
> index 5ba3e10..eef84df 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -744,6 +744,7 @@ flow_wildcards_combine(struct flow_wildcards *dst,
>      dst->vlan_tci_mask = src1->vlan_tci_mask & src2->vlan_tci_mask;
>      dst->tp_src_mask = src1->tp_src_mask & src2->tp_src_mask;
>      dst->tp_dst_mask = src1->tp_dst_mask & src2->tp_dst_mask;
> +    dst->nw_frag_mask = src1->nw_frag_mask & src2->nw_frag_mask;
>      eth_addr_bitand(src1->dl_src_mask, src2->dl_src_mask, dst->dl_src_mask);
>      eth_addr_bitand(src1->dl_dst_mask, src2->dl_dst_mask, dst->dl_dst_mask);
>      eth_addr_bitand(src1->arp_sha_mask, src2->arp_sha_mask, 
> dst->arp_sha_mask);
> @@ -783,6 +784,7 @@ flow_wildcards_equal(const struct flow_wildcards *a,
>          || !ipv6_addr_equals(&a->nd_target_mask, &b->nd_target_mask)
>          || a->tp_src_mask != b->tp_src_mask
>          || a->tp_dst_mask != b->tp_dst_mask
> +        || a->nw_frag_mask != b->nw_frag_mask
>          || !eth_addr_equals(a->dl_src_mask, b->dl_src_mask)
>          || !eth_addr_equals(a->dl_dst_mask, b->dl_dst_mask)
>          || !eth_addr_equals(a->arp_sha_mask, b->arp_sha_mask)
> @@ -860,7 +862,8 @@ flow_wildcards_has_extra(const struct flow_wildcards *a,
>              || (a->vlan_tci_mask & b->vlan_tci_mask) != b->vlan_tci_mask
>              || (a->metadata_mask & b->metadata_mask) != b->metadata_mask
>              || (a->tp_src_mask & b->tp_src_mask) != b->tp_src_mask
> -            || (a->tp_dst_mask & b->tp_dst_mask) != b->tp_dst_mask);
> +            || (a->tp_dst_mask & b->tp_dst_mask) != b->tp_dst_mask
> +            || (a->nw_frag_mask & b->nw_frag_mask) != b->nw_frag_mask);
>  }
>
>  /* Sets the wildcard mask for register 'idx' in 'wc' to 'mask'.
> --
> 1.7.2.5
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to