On Thu, May 9, 2013 at 8:24 AM, Ken Ajiro <aj...@mxw.nes.nec.co.jp> wrote:
>  * A fix or workaround, if you have one.
>
>    Modify parse_ipv6() at ovs/lib/flow.c as:
>
> ---------
> *** flow.c      2012-12-10 15:11:18.000000000 +0900
> --- flow.c.new  2013-05-10 00:13:08.000000000 +0900
> ***************
> *** 202,214 ****
>                   return EINVAL;
>               }
>
>               /* We only process the first fragment. */
>               if (frag_hdr->ip6f_offlg != htons(0)) {
> !                 if ((frag_hdr->ip6f_offlg & IP6F_OFF_MASK) == htons(0)) {
> !                     flow->nw_frag = FLOW_NW_FRAG_ANY;
> !                 } else {
>                       flow->nw_frag |= FLOW_NW_FRAG_LATER;
>                       nexthdr = IPPROTO_FRAGMENT;
>                       break;
>                   }
>               }
> --- 202,213 ----
>                   return EINVAL;
>               }
>
>               /* We only process the first fragment. */
>               if (frag_hdr->ip6f_offlg != htons(0)) {
> !                 flow->nw_frag = FLOW_NW_FRAG_ANY;
> !                 if ((frag_hdr->ip6f_offlg & IP6F_OFF_MASK) != htons(0)) {
>                       flow->nw_frag |= FLOW_NW_FRAG_LATER;
>                       nexthdr = IPPROTO_FRAGMENT;
>                       break;
>                   }
>               }
> ---------
>
>    In original code, FLOW_NW_FRAG_LATER is specified alone but
>    it looks like that it should be specified together with FLOW_NW_FRAG_ANY.

Thank you for the detailed bug report. The fix looks correct to me,
can you please submit it as a formal patch?
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to