[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>
This commit is contained in:
YOSHIFUJI Hideaki 2006-08-23 17:23:11 -07:00 committed by David S. Miller
parent 150730d5a5
commit cb15d9c224

View File

@ -1332,17 +1332,10 @@ static struct rt6_info *__ip6_route_redirect(struct fib6_table *table,
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);