From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date: Thu, 24 Aug 2006 00:23:11 +0000 (-0700)
Subject: [IPV6] NDISC: Search subtrees when backtracking on receipt of redirects.
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=cb15d9c224fcc03b32396c1c7416e777c2dcca34;p=linux.git

[IPV6] NDISC: Search subtrees when backtracking on receipt of redirects.

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

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index bd4cf175ff10c..fd626d420cd1d 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -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);