Lines Matching refs:bat_priv
128 int batadv_originator_init(struct batadv_priv *bat_priv) in batadv_originator_init() argument
130 if (bat_priv->orig_hash) in batadv_originator_init()
133 bat_priv->orig_hash = batadv_hash_new(1024); in batadv_originator_init()
135 if (!bat_priv->orig_hash) in batadv_originator_init()
138 batadv_hash_set_lock_class(bat_priv->orig_hash, in batadv_originator_init()
141 INIT_DELAYED_WORK(&bat_priv->orig_work, batadv_purge_orig); in batadv_originator_init()
143 &bat_priv->orig_work, in batadv_originator_init()
514 if (orig_node->bat_priv->bat_algo_ops->bat_orig_free) in batadv_orig_node_free_rcu()
515 orig_node->bat_priv->bat_algo_ops->bat_orig_free(orig_node); in batadv_orig_node_free_rcu()
549 batadv_nc_purge_orig(orig_node->bat_priv, orig_node, NULL); in batadv_orig_node_release()
565 void batadv_originator_free(struct batadv_priv *bat_priv) in batadv_originator_free() argument
567 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_originator_free()
577 cancel_delayed_work_sync(&bat_priv->orig_work); in batadv_originator_free()
579 bat_priv->orig_hash = NULL; in batadv_originator_free()
606 struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, in batadv_orig_node_new() argument
614 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_orig_node_new()
635 orig_node->bat_priv = bat_priv; in batadv_orig_node_new()
681 batadv_purge_neigh_ifinfo(struct batadv_priv *bat_priv, in batadv_purge_neigh_ifinfo() argument
705 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_purge_neigh_ifinfo()
724 batadv_purge_orig_ifinfo(struct batadv_priv *bat_priv, in batadv_purge_orig_ifinfo() argument
749 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_purge_orig_ifinfo()
776 batadv_purge_orig_neighbors(struct batadv_priv *bat_priv, in batadv_purge_orig_neighbors() argument
800 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_purge_orig_neighbors()
805 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_purge_orig_neighbors()
818 batadv_purge_neigh_ifinfo(bat_priv, neigh_node); in batadv_purge_orig_neighbors()
835 batadv_find_best_neighbor(struct batadv_priv *bat_priv, in batadv_find_best_neighbor() argument
840 struct batadv_algo_ops *bao = bat_priv->bat_algo_ops; in batadv_find_best_neighbor()
871 static bool batadv_purge_orig_node(struct batadv_priv *bat_priv, in batadv_purge_orig_node() argument
880 batadv_dbg(BATADV_DBG_BATMAN, bat_priv, in batadv_purge_orig_node()
886 changed_ifinfo = batadv_purge_orig_ifinfo(bat_priv, orig_node); in batadv_purge_orig_node()
887 changed_neigh = batadv_purge_orig_neighbors(bat_priv, orig_node); in batadv_purge_orig_node()
893 best_neigh_node = batadv_find_best_neighbor(bat_priv, orig_node, in batadv_purge_orig_node()
895 batadv_update_route(bat_priv, orig_node, BATADV_IF_DEFAULT, in batadv_purge_orig_node()
906 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_purge_orig_node()
909 best_neigh_node = batadv_find_best_neighbor(bat_priv, in batadv_purge_orig_node()
912 batadv_update_route(bat_priv, orig_node, hard_iface, in batadv_purge_orig_node()
922 static void _batadv_purge_orig(struct batadv_priv *bat_priv) in _batadv_purge_orig() argument
924 struct batadv_hashtable *hash = bat_priv->orig_hash; in _batadv_purge_orig()
942 if (batadv_purge_orig_node(bat_priv, orig_node)) { in _batadv_purge_orig()
943 batadv_gw_node_delete(bat_priv, orig_node); in _batadv_purge_orig()
945 batadv_tt_global_del_orig(orig_node->bat_priv, in _batadv_purge_orig()
958 batadv_gw_node_purge(bat_priv); in _batadv_purge_orig()
959 batadv_gw_election(bat_priv); in _batadv_purge_orig()
965 struct batadv_priv *bat_priv; in batadv_purge_orig() local
968 bat_priv = container_of(delayed_work, struct batadv_priv, orig_work); in batadv_purge_orig()
969 _batadv_purge_orig(bat_priv); in batadv_purge_orig()
971 &bat_priv->orig_work, in batadv_purge_orig()
975 void batadv_purge_orig_ref(struct batadv_priv *bat_priv) in batadv_purge_orig_ref() argument
977 _batadv_purge_orig(bat_priv); in batadv_purge_orig_ref()
983 struct batadv_priv *bat_priv = netdev_priv(net_dev); in batadv_orig_seq_print_text() local
993 bat_priv->bat_algo_ops->name); in batadv_orig_seq_print_text()
997 if (!bat_priv->bat_algo_ops->bat_orig_print) { in batadv_orig_seq_print_text()
1003 bat_priv->bat_algo_ops->bat_orig_print(bat_priv, seq, in batadv_orig_seq_print_text()
1021 struct batadv_priv *bat_priv; in batadv_orig_hardif_seq_print_text() local
1030 bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_orig_hardif_seq_print_text()
1031 if (!bat_priv->bat_algo_ops->bat_orig_print) { in batadv_orig_hardif_seq_print_text()
1045 hard_iface->soft_iface->name, bat_priv->bat_algo_ops->name); in batadv_orig_hardif_seq_print_text()
1047 bat_priv->bat_algo_ops->bat_orig_print(bat_priv, seq, hard_iface); in batadv_orig_hardif_seq_print_text()
1058 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_orig_hash_add_if() local
1059 struct batadv_algo_ops *bao = bat_priv->bat_algo_ops; in batadv_orig_hash_add_if()
1060 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_orig_hash_add_if()
1094 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_orig_hash_del_if() local
1095 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_orig_hash_del_if()
1099 struct batadv_algo_ops *bao = bat_priv->bat_algo_ops; in batadv_orig_hash_del_if()