Lines Matching refs:neigh
471 struct neighbour *neigh; in rt6_probe() local
483 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_probe()
484 if (neigh) { in rt6_probe()
485 write_lock(&neigh->lock); in rt6_probe()
486 if (neigh->nud_state & NUD_VALID) in rt6_probe()
490 if (!neigh || in rt6_probe()
491 time_after(jiffies, neigh->updated + rt->rt6i_idev->cnf.rtr_probe_interval)) { in rt6_probe()
495 if (neigh) { in rt6_probe()
496 neigh->updated = jiffies; in rt6_probe()
497 write_unlock(&neigh->lock); in rt6_probe()
505 write_unlock(&neigh->lock); in rt6_probe()
531 struct neighbour *neigh; in rt6_check_neigh() local
539 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_check_neigh()
540 if (neigh) { in rt6_check_neigh()
541 read_lock(&neigh->lock); in rt6_check_neigh()
542 if (neigh->nud_state & NUD_VALID) in rt6_check_neigh()
545 else if (!(neigh->nud_state & NUD_FAILED)) in rt6_check_neigh()
548 read_unlock(&neigh->lock); in rt6_check_neigh()
1650 struct neighbour *neigh; in rt6_do_redirect() local
1717 neigh = __neigh_lookup(&nd_tbl, &msg->target, skb->dev, 1); in rt6_do_redirect()
1718 if (!neigh) in rt6_do_redirect()
1725 neigh_update(neigh, lladdr, NUD_STALE, in rt6_do_redirect()
1740 nrt->rt6i_gateway = *(struct in6_addr *)neigh->primary_key; in rt6_do_redirect()
1748 netevent.neigh = neigh; in rt6_do_redirect()
1757 neigh_release(neigh); in rt6_do_redirect()