diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c953466b7afdbde3c77e6494c3f24a46908d9097..5132821e89aa3aa8fb9622ed60990c547bb043c2 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;