Lines Matching refs:bat_algo_ops
44 struct batadv_algo_ops *bat_algo_ops = NULL, *bat_algo_ops_tmp;
50 bat_algo_ops = bat_algo_ops_tmp;
54 return bat_algo_ops;
59 * @bat_algo_ops: mesh algorithm callbacks to add
63 int batadv_algo_register(struct batadv_algo_ops *bat_algo_ops)
67 bat_algo_ops_tmp = batadv_algo_get(bat_algo_ops->name);
70 bat_algo_ops->name);
75 if (!bat_algo_ops->iface.enable ||
76 !bat_algo_ops->iface.disable ||
77 !bat_algo_ops->iface.update_mac ||
78 !bat_algo_ops->iface.primary_set ||
79 !bat_algo_ops->neigh.cmp ||
80 !bat_algo_ops->neigh.is_similar_or_better) {
82 bat_algo_ops->name);
86 INIT_HLIST_NODE(&bat_algo_ops->list);
87 hlist_add_head(&bat_algo_ops->list, &batadv_algo_list);
107 struct batadv_algo_ops *bat_algo_ops;
109 bat_algo_ops = batadv_algo_get(name);
110 if (!bat_algo_ops)
113 bat_priv->algo_ops = bat_algo_ops;
120 struct batadv_algo_ops *bat_algo_ops;
127 bat_algo_ops = batadv_algo_get(algo_name);
128 if (!bat_algo_ops) {
155 * @bat_algo_ops: Algorithm to be dumped
160 struct batadv_algo_ops *bat_algo_ops)
169 if (nla_put_string(msg, BATADV_ATTR_ALGO_NAME, bat_algo_ops->name))
191 struct batadv_algo_ops *bat_algo_ops;
195 hlist_for_each_entry(bat_algo_ops, &batadv_algo_list, list) {
200 bat_algo_ops)) {