Lines Matching refs:orig_node

67 				 struct batadv_orig_node *orig_node);
72 struct batadv_orig_node *orig_node,
365 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node, in batadv_tt_global_size_mod() argument
370 vlan = batadv_orig_node_vlan_new(orig_node, vid); in batadv_tt_global_size_mod()
375 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
380 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
392 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node, in batadv_tt_global_size_inc() argument
395 batadv_tt_global_size_mod(orig_node, vid, 1); in batadv_tt_global_size_inc()
404 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node, in batadv_tt_global_size_dec() argument
407 batadv_tt_global_size_mod(orig_node, vid, -1); in batadv_tt_global_size_dec()
435 batadv_orig_node_put(orig_entry->orig_node); in batadv_tt_orig_list_entry_release()
771 orig_entry->orig_node); in batadv_tt_local_add()
840 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node, in batadv_tt_prepare_tvlv_global_data() argument
853 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
854 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
876 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
880 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
892 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
1442 const struct batadv_orig_node *orig_node) in batadv_tt_global_orig_entry_find() argument
1450 if (tmp_orig_entry->orig_node != orig_node) in batadv_tt_global_orig_entry_find()
1477 const struct batadv_orig_node *orig_node, in batadv_tt_global_entry_has_orig() argument
1483 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node); in batadv_tt_global_entry_has_orig()
1529 struct batadv_orig_node *orig_node, int ttvn, in batadv_tt_global_orig_entry_add() argument
1536 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node); in batadv_tt_global_orig_entry_add()
1551 kref_get(&orig_node->refcount); in batadv_tt_global_orig_entry_add()
1552 batadv_tt_global_size_inc(orig_node, tt_global->common.vid); in batadv_tt_global_orig_entry_add()
1553 orig_entry->orig_node = orig_node; in batadv_tt_global_orig_entry_add()
1591 struct batadv_orig_node *orig_node, in batadv_tt_global_add() argument
1603 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_tt_global_add()
1671 orig_node, NULL)) in batadv_tt_global_add()
1710 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn, in batadv_tt_global_add()
1716 orig_node->orig); in batadv_tt_global_add()
1763 router = batadv_orig_router_get(orig_entry->orig_node, in batadv_transtable_best_orig()
1810 vlan = batadv_orig_node_vlan_get(orig->orig_node, in batadv_tt_global_dump_subentry()
1825 last_ttvn = atomic_read(&orig->orig_node->last_ttvn); in batadv_tt_global_dump_subentry()
1829 orig->orig_node->orig) || in batadv_tt_global_dump_subentry()
2015 batadv_tt_global_size_dec(orig_entry->orig_node, in _batadv_tt_global_del_orig_entry()
2053 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig_node() argument
2064 if (orig_entry->orig_node == orig_node) { in batadv_tt_global_del_orig_node()
2068 orig_node->orig, in batadv_tt_global_del_orig_node()
2085 struct batadv_orig_node *orig_node, in batadv_tt_global_del_roaming() argument
2099 if (orig_entry->orig_node != orig_node) { in batadv_tt_global_del_roaming()
2115 orig_node, message); in batadv_tt_global_del_roaming()
2130 struct batadv_orig_node *orig_node, in batadv_tt_global_del() argument
2143 orig_node, message); in batadv_tt_global_del()
2175 orig_node, message); in batadv_tt_global_del()
2193 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig() argument
2225 orig_node, message); in batadv_tt_global_del_orig()
2239 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in batadv_tt_global_del_orig()
2376 struct batadv_orig_node *orig_node = NULL; in batadv_transtable_search() local
2401 orig_node = best_entry->orig_node; in batadv_transtable_search()
2402 if (orig_node && !kref_get_unless_zero(&orig_node->refcount)) in batadv_transtable_search()
2403 orig_node = NULL; in batadv_transtable_search()
2410 return orig_node; in batadv_transtable_search()
2438 struct batadv_orig_node *orig_node, in batadv_tt_global_crc() argument
2482 orig_node); in batadv_tt_global_crc()
2607 struct batadv_orig_node *orig_node, in batadv_tt_save_orig_buffer() argument
2614 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2616 kfree(orig_node->tt_buff); in batadv_tt_save_orig_buffer()
2617 orig_node->tt_buff_len = 0; in batadv_tt_save_orig_buffer()
2618 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC); in batadv_tt_save_orig_buffer()
2619 if (orig_node->tt_buff) { in batadv_tt_save_orig_buffer()
2620 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len); in batadv_tt_save_orig_buffer()
2621 orig_node->tt_buff_len = tt_buff_len; in batadv_tt_save_orig_buffer()
2624 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2653 struct batadv_orig_node *orig_node) in batadv_tt_req_node_new() argument
2659 if (batadv_compare_eth(tt_req_node_tmp, orig_node) && in batadv_tt_req_node_new()
2670 ether_addr_copy(tt_req_node->addr, orig_node->orig); in batadv_tt_req_node_new()
2724 const struct batadv_orig_node *orig_node = data_ptr; in batadv_tt_global_valid() local
2734 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node, in batadv_tt_global_valid()
2808 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node, in batadv_tt_global_check_crc() argument
2824 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv, in batadv_tt_global_check_crc()
2825 orig_node->orig, in batadv_tt_global_check_crc()
2829 vlan = batadv_orig_node_vlan_get(orig_node, in batadv_tt_global_check_crc()
2846 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) in batadv_tt_global_check_crc()
2878 struct batadv_orig_node *orig_node) in batadv_tt_global_update_crc() argument
2885 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_global_update_crc()
2889 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, in batadv_tt_global_update_crc()
2893 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid); in batadv_tt_global_update_crc()
3133 struct batadv_orig_node *orig_node; in batadv_send_my_tt_response() local
3149 orig_node = batadv_orig_hash_find(bat_priv, req_src); in batadv_send_my_tt_response()
3150 if (!orig_node) in batadv_send_my_tt_response()
3212 orig_node->orig, full_table ? 'F' : '.', req_ttvn); in batadv_send_my_tt_response()
3226 batadv_orig_node_put(orig_node); in batadv_send_my_tt_response()
3253 struct batadv_orig_node *orig_node, in _batadv_tt_update_changes() argument
3263 batadv_tt_global_del(bat_priv, orig_node, in _batadv_tt_update_changes()
3269 if (!batadv_tt_global_add(bat_priv, orig_node, in _batadv_tt_update_changes()
3282 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in _batadv_tt_update_changes()
3290 struct batadv_orig_node *orig_node; in batadv_tt_fill_gtable() local
3292 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_tt_fill_gtable()
3293 if (!orig_node) in batadv_tt_fill_gtable()
3297 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in batadv_tt_fill_gtable()
3300 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries, in batadv_tt_fill_gtable()
3303 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3304 kfree(orig_node->tt_buff); in batadv_tt_fill_gtable()
3305 orig_node->tt_buff_len = 0; in batadv_tt_fill_gtable()
3306 orig_node->tt_buff = NULL; in batadv_tt_fill_gtable()
3307 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3309 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_fill_gtable()
3312 batadv_orig_node_put(orig_node); in batadv_tt_fill_gtable()
3316 struct batadv_orig_node *orig_node, in batadv_tt_update_changes() argument
3320 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3323 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3325 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_update_changes()
3370 struct batadv_orig_node *orig_node = NULL; in batadv_handle_tt_response() local
3380 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_handle_tt_response()
3381 if (!orig_node) in batadv_handle_tt_response()
3384 spin_lock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3396 batadv_tt_update_changes(bat_priv, orig_node, num_entries, in batadv_handle_tt_response()
3401 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_handle_tt_response()
3403 spin_unlock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3416 batadv_orig_node_put(orig_node); in batadv_handle_tt_response()
3518 struct batadv_orig_node *orig_node) in batadv_send_roam_adv() argument
3535 orig_node->orig, client, batadv_print_vid(vid)); in batadv_send_roam_adv()
3543 orig_node->orig, BATADV_TVLV_ROAM, 1, in batadv_send_roam_adv()
3777 struct batadv_orig_node *orig_node, in batadv_tt_update_orig() argument
3782 u8 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_tt_update_orig()
3789 &orig_node->capa_initialized); in batadv_tt_update_orig()
3805 spin_lock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3807 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes, in batadv_tt_update_orig()
3814 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_tt_update_orig()
3816 spin_unlock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3827 if (!batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3835 !batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3840 orig_node->orig, ttvn, orig_ttvn, in batadv_tt_update_orig()
3842 batadv_send_tt_request(bat_priv, orig_node, ttvn, in batadv_tt_update_orig()
3912 struct batadv_orig_node *orig_node, in batadv_tt_add_temporary_global_entry() argument
3922 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid, in batadv_tt_add_temporary_global_entry()
3924 atomic_read(&orig_node->last_ttvn))) in batadv_tt_add_temporary_global_entry()
3929 addr, batadv_print_vid(vid), orig_node->orig); in batadv_tt_add_temporary_global_entry()
4114 struct batadv_orig_node *orig_node = NULL; in batadv_roam_tvlv_unicast_handler_v1() local
4126 orig_node = batadv_orig_hash_find(bat_priv, src); in batadv_roam_tvlv_unicast_handler_v1()
4127 if (!orig_node) in batadv_roam_tvlv_unicast_handler_v1()
4137 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client, in batadv_roam_tvlv_unicast_handler_v1()
4139 atomic_read(&orig_node->last_ttvn) + 1); in batadv_roam_tvlv_unicast_handler_v1()
4142 batadv_orig_node_put(orig_node); in batadv_roam_tvlv_unicast_handler_v1()