From: YOSHIFUJI Hideaki Date: Mon, 6 Nov 2006 17:45:44 +0000 (-0800) Subject: [IPV6] ROUTE: Try to use router which is not known unreachable. X-Git-Tag: v2.6.19~56^2~16 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea73ee23c43d6eb75f88c4fc9e1230b44673c0d2;p=linux-2.6 [IPV6] ROUTE: Try to use router which is not known unreachable. Only routers in "FAILED" state should be considered unreachable. Otherwise, we do not try to use speicific routes unless all least specific routers are considered unreachable. Signed-off-by: YOSHIFUJI Hideaki --- diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c953466b7a..5132821e89 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -330,6 +330,8 @@ static int inline rt6_check_neigh(struct rt6_info *rt) read_lock_bh(&neigh->lock); if (neigh->nud_state & NUD_VALID) m = 2; + else if (!(neigh->nud_state & NUD_FAILED)) + m = 1; read_unlock_bh(&neigh->lock); } return m;