Lines Matching refs:neigh
505 struct neighbour *neigh; in rt6_probe() local
517 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_probe()
518 if (neigh) { in rt6_probe()
519 write_lock(&neigh->lock); in rt6_probe()
520 if (neigh->nud_state & NUD_VALID) in rt6_probe()
524 if (!neigh || in rt6_probe()
525 time_after(jiffies, neigh->updated + rt->rt6i_idev->cnf.rtr_probe_interval)) { in rt6_probe()
530 if (neigh && work) in rt6_probe()
531 __neigh_set_probe_once(neigh); in rt6_probe()
533 if (neigh) in rt6_probe()
534 write_unlock(&neigh->lock); in rt6_probe()
545 write_unlock(&neigh->lock); in rt6_probe()
571 struct neighbour *neigh; in rt6_check_neigh() local
579 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_check_neigh()
580 if (neigh) { in rt6_check_neigh()
581 read_lock(&neigh->lock); in rt6_check_neigh()
582 if (neigh->nud_state & NUD_VALID) in rt6_check_neigh()
585 else if (!(neigh->nud_state & NUD_FAILED)) in rt6_check_neigh()
590 read_unlock(&neigh->lock); in rt6_check_neigh()
1836 struct neighbour *neigh; in rt6_do_redirect() local
1903 neigh = __neigh_lookup(&nd_tbl, &msg->target, skb->dev, 1); in rt6_do_redirect()
1904 if (!neigh) in rt6_do_redirect()
1911 neigh_update(neigh, lladdr, NUD_STALE, in rt6_do_redirect()
1926 nrt->rt6i_gateway = *(struct in6_addr *)neigh->primary_key; in rt6_do_redirect()
1934 netevent.neigh = neigh; in rt6_do_redirect()
1943 neigh_release(neigh); in rt6_do_redirect()