Lines Matching defs:neigh
237 * batadv_hardif_neigh_release() - release hardif neigh node from lists and
421 * @neigh: the neigh node to be queried
429 batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh,
436 hlist_for_each_entry_rcu(tmp_neigh_ifinfo, &neigh->ifinfo_list,
454 * @neigh: the neigh node to be queried
464 batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh,
469 spin_lock_bh(&neigh->ifinfo_lock);
471 neigh_ifinfo = batadv_neigh_ifinfo_get(neigh, if_outgoing);
487 hlist_add_head_rcu(&neigh_ifinfo->list, &neigh->ifinfo_list);
490 spin_unlock_bh(&neigh->ifinfo_lock);
568 if (bat_priv->algo_ops->neigh.hardif_init)
569 bat_priv->algo_ops->neigh.hardif_init(hardif_neigh);
635 * batadv_neigh_node_create() - create a neigh node object
699 * batadv_neigh_node_get_or_create() - retrieve or create a neigh node object
776 if (!bat_priv->algo_ops->neigh.dump) {
781 bat_priv->algo_ops->neigh.dump(msg, cb, bat_priv, hardif);
1004 * @neigh: orig node which is to be checked
1008 struct batadv_neigh_node *neigh)
1014 spin_lock_bh(&neigh->ifinfo_lock);
1018 &neigh->ifinfo_list, list) {
1033 neigh->addr, if_outgoing->net_dev->name);
1039 spin_unlock_bh(&neigh->ifinfo_lock);
1165 struct batadv_neigh_node *best = NULL, *neigh;
1169 hlist_for_each_entry_rcu(neigh, &orig_node->neigh_list, list) {
1170 if (best && (bao->neigh.cmp(neigh, if_outgoing, best,
1174 if (!kref_get_unless_zero(&neigh->refcount))
1179 best = neigh;