Lines Matching refs:orig_node
61 struct batadv_orig_node *orig_node);
66 struct batadv_orig_node *orig_node,
295 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node, in batadv_tt_global_size_mod() argument
300 vlan = batadv_orig_node_vlan_new(orig_node, vid); in batadv_tt_global_size_mod()
305 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
307 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
320 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node, in batadv_tt_global_size_inc() argument
323 batadv_tt_global_size_mod(orig_node, vid, 1); in batadv_tt_global_size_inc()
332 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node, in batadv_tt_global_size_dec() argument
335 batadv_tt_global_size_mod(orig_node, vid, -1); in batadv_tt_global_size_dec()
346 batadv_orig_node_free_ref(orig_entry->orig_node); in batadv_tt_orig_list_entry_release()
657 orig_entry->orig_node); in batadv_tt_local_add()
730 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node, in batadv_tt_prepare_tvlv_global_data() argument
744 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
766 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
770 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
1250 const struct batadv_orig_node *orig_node) in batadv_tt_global_orig_entry_find() argument
1258 if (tmp_orig_entry->orig_node != orig_node) in batadv_tt_global_orig_entry_find()
1276 const struct batadv_orig_node *orig_node) in batadv_tt_global_entry_has_orig() argument
1281 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node); in batadv_tt_global_entry_has_orig()
1292 struct batadv_orig_node *orig_node, int ttvn) in batadv_tt_global_orig_entry_add() argument
1296 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node); in batadv_tt_global_orig_entry_add()
1310 atomic_inc(&orig_node->refcount); in batadv_tt_global_orig_entry_add()
1311 batadv_tt_global_size_inc(orig_node, tt_global->common.vid); in batadv_tt_global_orig_entry_add()
1312 orig_entry->orig_node = orig_node; in batadv_tt_global_orig_entry_add()
1347 struct batadv_orig_node *orig_node, in batadv_tt_global_add() argument
1359 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_tt_global_add()
1423 orig_node)) in batadv_tt_global_add()
1461 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn); in batadv_tt_global_add()
1466 orig_node->orig); in batadv_tt_global_add()
1515 router = batadv_orig_router_get(orig_entry->orig_node, in batadv_transtable_best_orig()
1567 vlan = batadv_orig_node_vlan_get(best_entry->orig_node, in batadv_tt_global_print_entry()
1573 best_entry->orig_node->orig); in batadv_tt_global_print_entry()
1577 last_ttvn = atomic_read(&best_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1582 best_entry->ttvn, best_entry->orig_node->orig, in batadv_tt_global_print_entry()
1599 vlan = batadv_orig_node_vlan_get(orig_entry->orig_node, in batadv_tt_global_print_entry()
1605 orig_entry->orig_node->orig); in batadv_tt_global_print_entry()
1609 last_ttvn = atomic_read(&orig_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1614 orig_entry->ttvn, orig_entry->orig_node->orig, in batadv_tt_global_print_entry()
1683 batadv_tt_global_size_dec(orig_entry->orig_node, in _batadv_tt_global_del_orig_entry()
1721 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig_node() argument
1732 if (orig_entry->orig_node == orig_node) { in batadv_tt_global_del_orig_node()
1736 orig_node->orig, in batadv_tt_global_del_orig_node()
1753 struct batadv_orig_node *orig_node, in batadv_tt_global_del_roaming() argument
1767 if (orig_entry->orig_node != orig_node) { in batadv_tt_global_del_roaming()
1783 orig_node, message); in batadv_tt_global_del_roaming()
1797 struct batadv_orig_node *orig_node, in batadv_tt_global_del() argument
1810 orig_node, message); in batadv_tt_global_del()
1842 orig_node, message); in batadv_tt_global_del()
1861 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig() argument
1893 orig_node, message); in batadv_tt_global_del_orig()
1907 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in batadv_tt_global_del_orig()
2046 struct batadv_orig_node *orig_node = NULL; in batadv_transtable_search() local
2071 orig_node = best_entry->orig_node; in batadv_transtable_search()
2072 if (orig_node && !atomic_inc_not_zero(&orig_node->refcount)) in batadv_transtable_search()
2073 orig_node = NULL; in batadv_transtable_search()
2082 return orig_node; in batadv_transtable_search()
2110 struct batadv_orig_node *orig_node, in batadv_tt_global_crc() argument
2153 orig_node)) in batadv_tt_global_crc()
2249 struct batadv_orig_node *orig_node, in batadv_tt_save_orig_buffer() argument
2256 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2258 kfree(orig_node->tt_buff); in batadv_tt_save_orig_buffer()
2259 orig_node->tt_buff_len = 0; in batadv_tt_save_orig_buffer()
2260 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC); in batadv_tt_save_orig_buffer()
2261 if (orig_node->tt_buff) { in batadv_tt_save_orig_buffer()
2262 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len); in batadv_tt_save_orig_buffer()
2263 orig_node->tt_buff_len = tt_buff_len; in batadv_tt_save_orig_buffer()
2266 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2295 struct batadv_orig_node *orig_node) in batadv_tt_req_node_new() argument
2301 if (batadv_compare_eth(tt_req_node_tmp, orig_node) && in batadv_tt_req_node_new()
2311 ether_addr_copy(tt_req_node->addr, orig_node->orig); in batadv_tt_req_node_new()
2341 const struct batadv_orig_node *orig_node = data_ptr; in batadv_tt_global_valid() local
2351 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node); in batadv_tt_global_valid()
2414 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node, in batadv_tt_global_check_crc() argument
2430 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv, in batadv_tt_global_check_crc()
2431 orig_node->orig, in batadv_tt_global_check_crc()
2435 vlan = batadv_orig_node_vlan_get(orig_node, in batadv_tt_global_check_crc()
2472 struct batadv_orig_node *orig_node) in batadv_tt_global_update_crc() argument
2479 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_global_update_crc()
2483 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, in batadv_tt_global_update_crc()
2487 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid); in batadv_tt_global_update_crc()
2723 struct batadv_orig_node *orig_node; in batadv_send_my_tt_response() local
2739 orig_node = batadv_orig_hash_find(bat_priv, req_src); in batadv_send_my_tt_response()
2740 if (!orig_node) in batadv_send_my_tt_response()
2802 orig_node->orig, full_table ? 'F' : '.', req_ttvn); in batadv_send_my_tt_response()
2816 if (orig_node) in batadv_send_my_tt_response()
2817 batadv_orig_node_free_ref(orig_node); in batadv_send_my_tt_response()
2845 struct batadv_orig_node *orig_node, in _batadv_tt_update_changes() argument
2855 batadv_tt_global_del(bat_priv, orig_node, in _batadv_tt_update_changes()
2861 if (!batadv_tt_global_add(bat_priv, orig_node, in _batadv_tt_update_changes()
2874 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in _batadv_tt_update_changes()
2882 struct batadv_orig_node *orig_node; in batadv_tt_fill_gtable() local
2884 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_tt_fill_gtable()
2885 if (!orig_node) in batadv_tt_fill_gtable()
2889 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in batadv_tt_fill_gtable()
2892 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries, in batadv_tt_fill_gtable()
2895 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
2896 kfree(orig_node->tt_buff); in batadv_tt_fill_gtable()
2897 orig_node->tt_buff_len = 0; in batadv_tt_fill_gtable()
2898 orig_node->tt_buff = NULL; in batadv_tt_fill_gtable()
2899 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
2901 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_fill_gtable()
2904 if (orig_node) in batadv_tt_fill_gtable()
2905 batadv_orig_node_free_ref(orig_node); in batadv_tt_fill_gtable()
2909 struct batadv_orig_node *orig_node, in batadv_tt_update_changes() argument
2913 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
2916 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
2918 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_update_changes()
2964 struct batadv_orig_node *orig_node = NULL; in batadv_handle_tt_response() local
2974 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_handle_tt_response()
2975 if (!orig_node) in batadv_handle_tt_response()
2978 spin_lock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
2990 batadv_tt_update_changes(bat_priv, orig_node, num_entries, in batadv_handle_tt_response()
2995 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_handle_tt_response()
2997 spin_unlock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3010 if (orig_node) in batadv_handle_tt_response()
3011 batadv_orig_node_free_ref(orig_node); in batadv_handle_tt_response()
3107 struct batadv_orig_node *orig_node) in batadv_send_roam_adv() argument
3124 orig_node->orig, client, BATADV_PRINT_VID(vid)); in batadv_send_roam_adv()
3132 orig_node->orig, BATADV_TVLV_ROAM, 1, in batadv_send_roam_adv()
3367 struct batadv_orig_node *orig_node, in batadv_tt_update_orig() argument
3372 u8 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_tt_update_orig()
3379 &orig_node->capa_initialized); in batadv_tt_update_orig()
3395 spin_lock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3397 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes, in batadv_tt_update_orig()
3404 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_tt_update_orig()
3406 spin_unlock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3417 if (!batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3425 !batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3430 orig_node->orig, ttvn, orig_ttvn, in batadv_tt_update_orig()
3432 batadv_send_tt_request(bat_priv, orig_node, ttvn, in batadv_tt_update_orig()
3493 struct batadv_orig_node *orig_node, in batadv_tt_add_temporary_global_entry() argument
3499 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid, in batadv_tt_add_temporary_global_entry()
3501 atomic_read(&orig_node->last_ttvn))) in batadv_tt_add_temporary_global_entry()
3506 addr, BATADV_PRINT_VID(vid), orig_node->orig); in batadv_tt_add_temporary_global_entry()
3691 struct batadv_orig_node *orig_node = NULL; in batadv_roam_tvlv_unicast_handler_v1() local
3703 orig_node = batadv_orig_hash_find(bat_priv, src); in batadv_roam_tvlv_unicast_handler_v1()
3704 if (!orig_node) in batadv_roam_tvlv_unicast_handler_v1()
3714 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client, in batadv_roam_tvlv_unicast_handler_v1()
3716 atomic_read(&orig_node->last_ttvn) + 1); in batadv_roam_tvlv_unicast_handler_v1()
3719 if (orig_node) in batadv_roam_tvlv_unicast_handler_v1()
3720 batadv_orig_node_free_ref(orig_node); in batadv_roam_tvlv_unicast_handler_v1()