[IPV6] NDISC: Search subtrees when backtracking on receipt of redirects.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Thu, 24 Aug 2006 00:23:11 +0000 (17:23 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Fri, 22 Sep 2006 21:55:54 +0000 (14:55 -0700)
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Ville Nuorvala <vnuorval@tcs.hut.fi
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c

index bd4cf175ff10cba000ab0be822cf450e9b8e3d38..fd626d420cd1d8640338ae1182581b0ff198c570 100644 (file)
@@ -1332,17 +1332,10 @@ restart:
                break;
        }
 
-       if (!rt) {
-               if (rt6_need_strict(&fl->fl6_dst)) {
-                       while ((fn = fn->parent) != NULL) {
-                               if (fn->fn_flags & RTN_ROOT)
-                                       break;
-                               if (fn->fn_flags & RTN_RTINFO)
-                                       goto restart;
-                       }
-               }
+       if (!rt)
                rt = &ip6_null_entry;
-       }
+       BACKTRACK(&fl->fl6_src);
+out:
        dst_hold(&rt->u.dst);
 
        read_unlock_bh(&table->tb6_lock);