Skip to content

Commit

Permalink
Do not create new flows for ICMP6 errors
Browse files Browse the repository at this point in the history
Bug fix for 1556363 have reintroduced the issue of creating new flows
for ICMP errors. It looks like a cherry-pick/merge problem, since the
issue is present only in the mainline branch.

The process of forming the flow key is a recursive call for ICMP error,
since we look into the inner packet that caused the ICMP error. Once we
process the inner packet and form the flow key, we should return
immediately rather than continuing with the parent function, since the
parent will start using the ICMP error packet for formation of the flow
key.

Change-Id: I601886aeb3fa4a50a057f2c982f8c7b19dd7e3d1
Closes-Bug: #1556363
  • Loading branch information
anandhk-juniper committed Jul 22, 2016
1 parent 176526d commit 4928317
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions dp-core/vr_proto_ip6.c
Expand Up @@ -195,8 +195,7 @@ vr_inet6_form_flow(struct vrouter *router, unsigned short vrf,
return -1;
}

sport = flow_p->flow6_sport;
dport = flow_p->flow6_dport;
return 0;
} else if ((icmph->icmp_type == VR_ICMP6_TYPE_ECHO_REQ) ||
(icmph->icmp_type == VR_ICMP6_TYPE_ECHO_REPLY)) {
sport = icmph->icmp_eid;
Expand Down

0 comments on commit 4928317

Please sign in to comment.