mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
flow: Fix IPv6 fragment packet handling
IPv6 fragmented packet (except first fragment) will not be handled correctly. When extracting packet at parse_ipv6(), although nw_frag should have both of FLOW_NW_FRAG_ANY and FLOW_NW_FRAG_LATER for later fragment, only FLOW_NW_FRAG_LATER is set. Signed-off-by: Takashi Kawaguchi <kawaguchi-takashi@mxd.nes.nec.co.jp> Signed-off-by: Ken Ajiro <ajiro@mxw.nes.nec.co.jp> Signed-off-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
committed by
Jesse Gross
parent
eafed69b66
commit
44c67c1796
@@ -229,9 +229,8 @@ parse_ipv6(struct ofpbuf *packet, struct flow *flow)
|
||||
|
||||
/* 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_ANY;
|
||||
if ((frag_hdr->ip6f_offlg & IP6F_OFF_MASK) != htons(0)) {
|
||||
flow->nw_frag |= FLOW_NW_FRAG_LATER;
|
||||
nexthdr = IPPROTO_FRAGMENT;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user