Lines Matching defs:hard_iface

521  * @hard_iface: the interface where this neighbour is connected to
531 const struct batadv_hard_iface *hard_iface,
541 if (tmp_neigh_node->if_incoming != hard_iface)
557 * @hard_iface: the interface this neighbour is connected to
564 batadv_hardif_neigh_create(struct batadv_hard_iface *hard_iface,
568 struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface);
571 spin_lock_bh(&hard_iface->neigh_list_lock);
574 hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr);
582 kref_get(&hard_iface->refcount);
586 hardif_neigh->if_incoming = hard_iface;
594 hlist_add_head_rcu(&hardif_neigh->list, &hard_iface->neigh_list);
597 spin_unlock_bh(&hard_iface->neigh_list_lock);
604 * @hard_iface: the interface this neighbour is connected to
611 batadv_hardif_neigh_get_or_create(struct batadv_hard_iface *hard_iface,
618 hardif_neigh = batadv_hardif_neigh_get(hard_iface, neigh_addr);
622 return batadv_hardif_neigh_create(hard_iface, neigh_addr, orig_node);
627 * @hard_iface: the interface where this neighbour is connected to
635 batadv_hardif_neigh_get(const struct batadv_hard_iface *hard_iface,
642 &hard_iface->neigh_list, list) {
660 * @hard_iface: the interface where the neighbour is connected to
669 struct batadv_hard_iface *hard_iface,
677 neigh_node = batadv_neigh_node_get(orig_node, hard_iface, neigh_addr);
681 hardif_neigh = batadv_hardif_neigh_get_or_create(hard_iface,
694 kref_get(&hard_iface->refcount);
696 neigh_node->if_incoming = hard_iface;
712 neigh_addr, orig_node->orig, hard_iface->net_dev->name);
724 * @hard_iface: the interface where the neighbour is connected to
731 struct batadv_hard_iface *hard_iface,
737 neigh_node = batadv_neigh_node_get(orig_node, hard_iface, neigh_addr);
741 return batadv_neigh_node_create(orig_node, hard_iface, neigh_addr);
754 struct batadv_hard_iface *primary_if, *hard_iface;
771 hard_iface = batadv_netlink_get_hardif(bat_priv, cb);
772 if (IS_ERR(hard_iface) && PTR_ERR(hard_iface) != -ENONET) {
773 ret = PTR_ERR(hard_iface);
775 } else if (IS_ERR(hard_iface)) {
776 /* => PTR_ERR(hard_iface) == -ENONET
779 hard_iface = BATADV_IF_DEFAULT;
787 bat_priv->algo_ops->neigh.dump(msg, cb, bat_priv, hard_iface);
792 batadv_hardif_put(hard_iface);
1202 struct batadv_hard_iface *hard_iface;
1229 netdev_for_each_lower_private_rcu(bat_priv->mesh_iface, hard_iface, iter) {
1230 if (hard_iface->if_status != BATADV_IF_ACTIVE)
1233 if (!kref_get_unless_zero(&hard_iface->refcount))
1238 hard_iface);
1239 batadv_update_route(bat_priv, orig_node, hard_iface,
1243 batadv_hardif_put(hard_iface);
1318 struct batadv_hard_iface *primary_if, *hard_iface;
1335 hard_iface = batadv_netlink_get_hardif(bat_priv, cb);
1336 if (IS_ERR(hard_iface) && PTR_ERR(hard_iface) != -ENONET) {
1337 ret = PTR_ERR(hard_iface);
1339 } else if (IS_ERR(hard_iface)) {
1340 /* => PTR_ERR(hard_iface) == -ENONET
1343 hard_iface = BATADV_IF_DEFAULT;
1351 bat_priv->algo_ops->orig.dump(msg, cb, bat_priv, hard_iface);
1356 batadv_hardif_put(hard_iface);