Searched refs:gw_node (Results 1 – 3 of 3) sorted by relevance
| /linux/net/batman-adv/ |
| H A D | gateway_client.c | 64 struct batadv_gw_node *gw_node; in batadv_gw_node_release() local 66 gw_node = container_of(ref, struct batadv_gw_node, refcount); in batadv_gw_node_release() 68 batadv_orig_node_put(gw_node->orig_node); in batadv_gw_node_release() 69 kfree_rcu(gw_node, rcu); in batadv_gw_node_release() 81 struct batadv_gw_node *gw_node; in batadv_gw_get_selected_gw_node() local 84 gw_node = rcu_dereference(bat_priv->gw.curr_gw); in batadv_gw_get_selected_gw_node() 85 if (!gw_node) in batadv_gw_get_selected_gw_node() 88 if (!kref_get_unless_zero(&gw_node->refcount)) in batadv_gw_get_selected_gw_node() 89 gw_node = NULL; in batadv_gw_get_selected_gw_node() 93 return gw_node; in batadv_gw_get_selected_gw_node() [all …]
|
| H A D | bat_v.c | 520 static int batadv_v_gw_throughput_get(struct batadv_gw_node *gw_node, u32 *bw) in batadv_v_gw_throughput_get() argument 527 orig_node = gw_node->orig_node; in batadv_v_gw_throughput_get() 542 *bw = min_t(u32, *bw, gw_node->bandwidth_down); in batadv_v_gw_throughput_get() 561 struct batadv_gw_node *gw_node, *curr_gw = NULL; in batadv_v_gw_get_best_gw_node() local 565 hlist_for_each_entry_rcu(gw_node, &bat_priv->gw.gateway_list, list) { in batadv_v_gw_get_best_gw_node() 566 if (!kref_get_unless_zero(&gw_node->refcount)) in batadv_v_gw_get_best_gw_node() 569 if (batadv_v_gw_throughput_get(gw_node, &bw) < 0) in batadv_v_gw_get_best_gw_node() 577 curr_gw = gw_node; in batadv_v_gw_get_best_gw_node() 582 batadv_gw_node_put(gw_node); in batadv_v_gw_get_best_gw_node() 656 struct batadv_gw_node *gw_node) in batadv_v_gw_dump_entry() argument [all …]
|
| H A D | gateway_client.h | 47 static inline void batadv_gw_node_put(struct batadv_gw_node *gw_node) in batadv_gw_node_put() argument 49 if (!gw_node) in batadv_gw_node_put() 52 kref_put(&gw_node->refcount, batadv_gw_node_release); in batadv_gw_node_put()
|