Home
last modified time | relevance | path

Searched refs:gw_node (Results 1 – 3 of 3) sorted by relevance

/linux/net/batman-adv/
H A Dgateway_client.c64 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 Dbat_v.c520 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 Dgateway_client.h47 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()