Lines Matching refs:neigh
534 struct neighbour *neigh; in rt6_probe() local
546 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_probe()
547 if (neigh) { in rt6_probe()
548 if (neigh->nud_state & NUD_VALID) in rt6_probe()
552 write_lock(&neigh->lock); in rt6_probe()
553 if (!(neigh->nud_state & NUD_VALID) && in rt6_probe()
555 neigh->updated + in rt6_probe()
559 __neigh_set_probe_once(neigh); in rt6_probe()
561 write_unlock(&neigh->lock); in rt6_probe()
599 struct neighbour *neigh; in rt6_check_neigh() local
607 neigh = __ipv6_neigh_lookup_noref(rt->dst.dev, &rt->rt6i_gateway); in rt6_check_neigh()
608 if (neigh) { in rt6_check_neigh()
609 read_lock(&neigh->lock); in rt6_check_neigh()
610 if (neigh->nud_state & NUD_VALID) in rt6_check_neigh()
613 else if (!(neigh->nud_state & NUD_FAILED)) in rt6_check_neigh()
618 read_unlock(&neigh->lock); in rt6_check_neigh()
2104 struct neighbour *neigh; in rt6_do_redirect() local
2171 neigh = __neigh_lookup(&nd_tbl, &msg->target, skb->dev, 1); in rt6_do_redirect()
2172 if (!neigh) in rt6_do_redirect()
2179 neigh_update(neigh, lladdr, NUD_STALE, in rt6_do_redirect()
2194 nrt->rt6i_gateway = *(struct in6_addr *)neigh->primary_key; in rt6_do_redirect()
2202 netevent.neigh = neigh; in rt6_do_redirect()
2211 neigh_release(neigh); in rt6_do_redirect()