On 19/04/16(Tue) 11:18, Martin Pieuchot wrote: > These two chunks are equivalent so let's keep one. > > ok?
Nobody? > > Index: netinet6/ip6_forward.c > =================================================================== > RCS file: /cvs/src/sys/netinet6/ip6_forward.c,v > retrieving revision 1.88 > diff -u -p -r1.88 ip6_forward.c > --- netinet6/ip6_forward.c 19 Apr 2016 08:23:13 -0000 1.88 > +++ netinet6/ip6_forward.c 19 Apr 2016 08:47:21 -0000 > @@ -220,35 +220,7 @@ reroute: > #endif > > dst = &ip6_forward_rt.ro_dst; > - if (!srcrt) { > - /* > - * ip6_forward_rt.ro_dst.sin6_addr is equal to ip6->ip6_dst > - */ > - if (!rtisvalid(ip6_forward_rt.ro_rt) || > - ISSET(ip6_forward_rt.ro_rt->rt_flags, RTF_MPATH) || > - ip6_forward_rt.ro_tableid != rtableid) { > - if (ip6_forward_rt.ro_rt) { > - rtfree(ip6_forward_rt.ro_rt); > - ip6_forward_rt.ro_rt = NULL; > - } > - /* this probably fails but give it a try again */ > - ip6_forward_rt.ro_tableid = rtableid; > - ip6_forward_rt.ro_rt = rtalloc_mpath( > - sin6tosa(&ip6_forward_rt.ro_dst), > - &ip6->ip6_src.s6_addr32[0], > - ip6_forward_rt.ro_tableid); > - } > - > - if (ip6_forward_rt.ro_rt == NULL) { > - ip6stat.ip6s_noroute++; > - if (mcopy) { > - icmp6_error(mcopy, ICMP6_DST_UNREACH, > - ICMP6_DST_UNREACH_NOROUTE, 0); > - } > - m_freem(m); > - return; > - } > - } else if (!rtisvalid(ip6_forward_rt.ro_rt) || > + if (!rtisvalid(ip6_forward_rt.ro_rt) || > ISSET(ip6_forward_rt.ro_rt->rt_flags, RTF_MPATH) || > !IN6_ARE_ADDR_EQUAL(&ip6->ip6_dst, &dst->sin6_addr) || > ip6_forward_rt.ro_tableid != rtableid) { >