These two chunks are equivalent so let's keep one.

ok?

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) {

Reply via email to