You mispelled commit in the commit message.

Acked-by: Ethan Jackson <et...@nicira.com>


On Sat, Mar 1, 2014 at 5:25 PM, Ben Pfaff <b...@nicira.com> wrote:
> On most architectures other than 32-bit x86, struct flow_tnl ends with 4
> padding bytes.  Until now, tnl_xlate_init() set those bytes to nonzero
> values in the wildcard mask.  When the wildcard mask passed through Netlink
> attributes and back to userspace, the padding bytes of course became zero
> again, which caused a wildcard mask mismatch and premature deletion of the
> flow in revalidation.  This cmomit fixes the problem.
>
> Bug #1192516.
> Reported-by: Krishna Miriyala <miriya...@vmware.com>
> Signed-off-by: Ben Pfaff <b...@nicira.com>
> ---
>  ofproto/tunnel.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/ofproto/tunnel.c b/ofproto/tunnel.c
> index 38b782f..001045a 100644
> --- a/ofproto/tunnel.c
> +++ b/ofproto/tunnel.c
> @@ -324,10 +324,15 @@ tnl_xlate_init(const struct flow *base_flow, struct 
> flow *flow,
>                 struct flow_wildcards *wc)
>  {
>      if (tnl_port_should_receive(flow)) {
> -        memset(&wc->masks.tunnel, 0xff, sizeof wc->masks.tunnel);
> +        wc->masks.tunnel.tun_id = OVS_BE64_MAX;
> +        wc->masks.tunnel.ip_src = OVS_BE32_MAX;
> +        wc->masks.tunnel.ip_dst = OVS_BE32_MAX;
>          wc->masks.tunnel.flags = (FLOW_TNL_F_DONT_FRAGMENT |
>                                    FLOW_TNL_F_CSUM |
>                                    FLOW_TNL_F_KEY);
> +        wc->masks.tunnel.ip_tos = UINT8_MAX;
> +        wc->masks.tunnel.ip_ttl = UINT8_MAX;
> +
>          memset(&wc->masks.pkt_mark, 0xff, sizeof wc->masks.pkt_mark);
>
>          if (!tnl_ecn_ok(base_flow, flow)) {
> --
> 1.8.5.3
>
> _______________________________________________
> 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