Lines Matching defs:neigh
260 * batadv_hardif_neigh_release() - release hardif neigh node from lists and
444 * @neigh: the neigh node to be queried
452 batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh,
459 hlist_for_each_entry_rcu(tmp_neigh_ifinfo, &neigh->ifinfo_list,
477 * @neigh: the neigh node to be queried
487 batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh,
492 spin_lock_bh(&neigh->ifinfo_lock);
494 neigh_ifinfo = batadv_neigh_ifinfo_get(neigh, if_outgoing);
510 hlist_add_head_rcu(&neigh_ifinfo->list, &neigh->ifinfo_list);
513 spin_unlock_bh(&neigh->ifinfo_lock);
591 if (bat_priv->algo_ops->neigh.hardif_init)
592 bat_priv->algo_ops->neigh.hardif_init(hardif_neigh);
658 * batadv_neigh_node_create() - create a neigh node object
722 * batadv_neigh_node_get_or_create() - retrieve or create a neigh node object
782 if (!bat_priv->algo_ops->neigh.dump) {
787 bat_priv->algo_ops->neigh.dump(msg, cb, bat_priv, hard_iface);
1006 * @neigh: orig node which is to be checked
1010 struct batadv_neigh_node *neigh)
1016 spin_lock_bh(&neigh->ifinfo_lock);
1020 &neigh->ifinfo_list, list) {
1035 neigh->addr, if_outgoing->net_dev->name);
1041 spin_unlock_bh(&neigh->ifinfo_lock);
1167 struct batadv_neigh_node *best = NULL, *neigh;
1171 hlist_for_each_entry_rcu(neigh, &orig_node->neigh_list, list) {
1172 if (best && (bao->neigh.cmp(neigh, if_outgoing, best,
1176 if (!kref_get_unless_zero(&neigh->refcount))
1181 best = neigh;