Lines Matching defs:hardif_neigh
266 struct batadv_hardif_neigh_node *hardif_neigh;
268 hardif_neigh = container_of(ref, struct batadv_hardif_neigh_node,
271 spin_lock_bh(&hardif_neigh->if_incoming->neigh_list_lock);
272 hlist_del_init_rcu(&hardif_neigh->list);
273 spin_unlock_bh(&hardif_neigh->if_incoming->neigh_list_lock);
275 batadv_hardif_put(hardif_neigh->if_incoming);
276 kfree_rcu(hardif_neigh, rcu);
297 batadv_hardif_neigh_put(neigh_node->hardif_neigh);
569 struct batadv_hardif_neigh_node *hardif_neigh;
574 hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr);
575 if (hardif_neigh)
578 hardif_neigh = kzalloc(sizeof(*hardif_neigh), GFP_ATOMIC);
579 if (!hardif_neigh)
583 INIT_HLIST_NODE(&hardif_neigh->list);
584 ether_addr_copy(hardif_neigh->addr, neigh_addr);
585 ether_addr_copy(hardif_neigh->orig, orig_node->orig);
586 hardif_neigh->if_incoming = hard_iface;
587 hardif_neigh->last_seen = jiffies;
589 kref_init(&hardif_neigh->refcount);
592 bat_priv->algo_ops->neigh.hardif_init(hardif_neigh);
594 hlist_add_head_rcu(&hardif_neigh->list, &hard_iface->neigh_list);
598 return hardif_neigh;
615 struct batadv_hardif_neigh_node *hardif_neigh;
618 hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr);
619 if (hardif_neigh)
620 return hardif_neigh;
638 struct batadv_hardif_neigh_node *tmp_hardif_neigh, *hardif_neigh = NULL;
649 hardif_neigh = tmp_hardif_neigh;
654 return hardif_neigh;
673 struct batadv_hardif_neigh_node *hardif_neigh = NULL;
681 hardif_neigh = batadv_hardif_neigh_get_or_create(hard_iface,
683 if (!hardif_neigh)
701 kref_get(&hardif_neigh->refcount);
702 neigh_node->hardif_neigh = hardif_neigh;
717 batadv_hardif_neigh_put(hardif_neigh);