diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2006-11-06 09:45:44 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-11-21 16:16:23 -0800 |
commit | ea73ee23c43d6eb75f88c4fc9e1230b44673c0d2 (patch) | |
tree | e047fcb8f2c0459b7ce2b824d45206e88d46c714 /net | |
parent | b80ebbf39fc628afab7d9cf94b84cfc51d845b2f (diff) | |
download | op-kernel-dev-ea73ee23c43d6eb75f88c4fc9e1230b44673c0d2.zip op-kernel-dev-ea73ee23c43d6eb75f88c4fc9e1230b44673c0d2.tar.gz |
[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 <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/route.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c953466..5132821 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; |