Lines Matching refs:orig_node
143 struct batadv_orig_node *orig_node; in batadv_iv_ogm_orig_get() local
146 orig_node = batadv_orig_hash_find(bat_priv, addr); in batadv_iv_ogm_orig_get()
147 if (orig_node) in batadv_iv_ogm_orig_get()
148 return orig_node; in batadv_iv_ogm_orig_get()
150 orig_node = batadv_orig_node_new(bat_priv, addr); in batadv_iv_ogm_orig_get()
151 if (!orig_node) in batadv_iv_ogm_orig_get()
154 spin_lock_init(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_orig_get()
156 kref_get(&orig_node->refcount); in batadv_iv_ogm_orig_get()
158 batadv_choose_orig, orig_node, in batadv_iv_ogm_orig_get()
159 &orig_node->hash_entry); in batadv_iv_ogm_orig_get()
163 return orig_node; in batadv_iv_ogm_orig_get()
167 batadv_orig_node_put(orig_node); in batadv_iv_ogm_orig_get()
169 batadv_orig_node_put(orig_node); in batadv_iv_ogm_orig_get()
177 struct batadv_orig_node *orig_node, in batadv_iv_ogm_neigh_new() argument
182 neigh_node = batadv_neigh_node_get_or_create(orig_node, in batadv_iv_ogm_neigh_new()
187 neigh_node->orig_node = orig_neigh; in batadv_iv_ogm_neigh_new()
682 static void batadv_iv_ogm_forward(struct batadv_orig_node *orig_node, in batadv_iv_ogm_forward() argument
746 struct batadv_orig_node *orig_node; in batadv_iv_ogm_slide_own_bcast_window() local
756 hlist_for_each_entry_rcu(orig_node, head, hash_entry) { in batadv_iv_ogm_slide_own_bcast_window()
758 &orig_node->ifinfo_list, in batadv_iv_ogm_slide_own_bcast_window()
763 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_slide_own_bcast_window()
769 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_slide_own_bcast_window()
884 static u8 batadv_iv_orig_ifinfo_sum(struct batadv_orig_node *orig_node, in batadv_iv_orig_ifinfo_sum() argument
890 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, if_outgoing); in batadv_iv_orig_ifinfo_sum()
894 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_orig_ifinfo_sum()
896 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_orig_ifinfo_sum()
917 struct batadv_orig_node *orig_node, in batadv_iv_ogm_orig_update() argument
940 &orig_node->neigh_list, list) { in batadv_iv_ogm_orig_update()
980 orig_node, orig_tmp); in batadv_iv_ogm_orig_update()
1013 router = batadv_orig_router_get(orig_node, if_outgoing); in batadv_iv_ogm_orig_update()
1034 sum_orig = batadv_iv_orig_ifinfo_sum(router->orig_node, in batadv_iv_ogm_orig_update()
1036 sum_neigh = batadv_iv_orig_ifinfo_sum(neigh_node->orig_node, in batadv_iv_ogm_orig_update()
1042 batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node); in batadv_iv_ogm_orig_update()
1068 static bool batadv_iv_ogm_calc_tq(struct batadv_orig_node *orig_node, in batadv_iv_ogm_calc_tq() argument
1114 if (orig_node == orig_neigh_node) in batadv_iv_ogm_calc_tq()
1117 orig_node->last_seen = jiffies; in batadv_iv_ogm_calc_tq()
1183 orig_node->orig, orig_neigh_node->orig, total_count, in batadv_iv_ogm_calc_tq()
1218 struct batadv_orig_node *orig_node; in batadv_iv_ogm_update_seqnos() local
1232 orig_node = batadv_iv_ogm_orig_get(bat_priv, batadv_ogm_packet->orig); in batadv_iv_ogm_update_seqnos()
1233 if (!orig_node) in batadv_iv_ogm_update_seqnos()
1236 orig_ifinfo = batadv_orig_ifinfo_new(orig_node, if_outgoing); in batadv_iv_ogm_update_seqnos()
1238 batadv_orig_node_put(orig_node); in batadv_iv_ogm_update_seqnos()
1242 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_update_seqnos()
1246 if (!hlist_empty(&orig_node->neigh_list) && in batadv_iv_ogm_update_seqnos()
1255 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) { in batadv_iv_ogm_update_seqnos()
1298 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_update_seqnos()
1299 batadv_orig_node_put(orig_node); in batadv_iv_ogm_update_seqnos()
1315 struct batadv_orig_node *orig_node, in batadv_iv_ogm_process_per_outif() argument
1372 router = batadv_orig_router_get(orig_node, if_outgoing); in batadv_iv_ogm_process_per_outif()
1374 router_router = batadv_orig_router_get(router->orig_node, in batadv_iv_ogm_process_per_outif()
1396 batadv_tvlv_ogm_receive(bat_priv, ogm_packet, orig_node); in batadv_iv_ogm_process_per_outif()
1402 orig_neigh_node = orig_node; in batadv_iv_ogm_process_per_outif()
1411 batadv_nc_update_nc_node(bat_priv, orig_node, orig_neigh_node, in batadv_iv_ogm_process_per_outif()
1426 is_bidirect = batadv_iv_ogm_calc_tq(orig_node, orig_neigh_node, in batadv_iv_ogm_process_per_outif()
1433 orig_ifinfo = batadv_orig_ifinfo_new(orig_node, if_outgoing); in batadv_iv_ogm_process_per_outif()
1442 batadv_iv_ogm_orig_update(bat_priv, orig_node, in batadv_iv_ogm_process_per_outif()
1465 batadv_iv_ogm_forward(orig_node, ethhdr, ogm_packet, in batadv_iv_ogm_process_per_outif()
1490 batadv_iv_ogm_forward(orig_node, ethhdr, ogm_packet, in batadv_iv_ogm_process_per_outif()
1521 struct batadv_orig_node *orig_node, in batadv_iv_ogm_process_reply() argument
1538 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, if_incoming); in batadv_iv_ogm_process_reply()
1543 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_process_reply()
1550 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock); in batadv_iv_ogm_process_reply()
1565 struct batadv_orig_node *orig_neigh_node, *orig_node; in batadv_iv_ogm_process() local
1667 orig_node = batadv_iv_ogm_orig_get(bat_priv, ogm_packet->orig); in batadv_iv_ogm_process()
1668 if (!orig_node) in batadv_iv_ogm_process()
1671 batadv_iv_ogm_process_per_outif(skb, ogm_offset, orig_node, in batadv_iv_ogm_process()
1685 batadv_iv_ogm_process_per_outif(skb, ogm_offset, orig_node, in batadv_iv_ogm_process()
1692 batadv_orig_node_put(orig_node); in batadv_iv_ogm_process()
1793 batadv_iv_ogm_orig_print_neigh(struct batadv_orig_node *orig_node, in batadv_iv_ogm_orig_print_neigh() argument
1800 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) { in batadv_iv_ogm_orig_print_neigh()
1826 struct batadv_orig_node *orig_node; in batadv_iv_ogm_orig_print() local
1840 hlist_for_each_entry_rcu(orig_node, head, hash_entry) { in batadv_iv_ogm_orig_print()
1841 neigh_node = batadv_orig_router_get(orig_node, in batadv_iv_ogm_orig_print()
1854 last_seen_jiffies = jiffies - orig_node->last_seen; in batadv_iv_ogm_orig_print()
1860 orig_node->orig, last_seen_secs, in batadv_iv_ogm_orig_print()
1865 batadv_iv_ogm_orig_print_neigh(orig_node, if_outgoing, in batadv_iv_ogm_orig_print()
1927 struct batadv_orig_node *orig_node, in batadv_iv_ogm_orig_dump_subentry() argument
1935 last_seen_msecs = jiffies_to_msecs(jiffies - orig_node->last_seen); in batadv_iv_ogm_orig_dump_subentry()
1950 orig_node->orig) || in batadv_iv_ogm_orig_dump_subentry()
1989 struct batadv_orig_node *orig_node, int *sub_s) in batadv_iv_ogm_orig_dump_entry() argument
1997 neigh_node_best = batadv_orig_router_get(orig_node, if_outgoing); in batadv_iv_ogm_orig_dump_entry()
2008 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) { in batadv_iv_ogm_orig_dump_entry()
2016 orig_node, neigh_node, in batadv_iv_ogm_orig_dump_entry()
2053 struct batadv_orig_node *orig_node; in batadv_iv_ogm_orig_dump_bucket() local
2057 hlist_for_each_entry_rcu(orig_node, head, hash_entry) { in batadv_iv_ogm_orig_dump_bucket()
2062 if_outgoing, orig_node, in batadv_iv_ogm_orig_dump_bucket()
2421 struct batadv_orig_node *orig_node; in batadv_iv_gw_get_best_gw_node() local
2425 orig_node = gw_node->orig_node; in batadv_iv_gw_get_best_gw_node()
2426 router = batadv_orig_router_get(orig_node, BATADV_IF_DEFAULT); in batadv_iv_gw_get_best_gw_node()
2493 struct batadv_orig_node *orig_node) in batadv_iv_gw_is_eligible() argument
2519 router_orig = batadv_orig_router_get(orig_node, BATADV_IF_DEFAULT); in batadv_iv_gw_is_eligible()
2571 router = batadv_orig_router_get(gw_node->orig_node, BATADV_IF_DEFAULT); in batadv_iv_gw_write_buffer_text()
2583 gw_node->orig_node->orig, in batadv_iv_gw_write_buffer_text()
2647 router = batadv_orig_router_get(gw_node->orig_node, BATADV_IF_DEFAULT); in batadv_iv_gw_dump_entry()
2676 gw_node->orig_node->orig) || in batadv_iv_gw_dump_entry()