Lines Matching refs:orig_node
38 struct batadv_orig_node *orig_node);
43 struct batadv_orig_node *orig_node,
274 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node, in batadv_tt_global_size_mod() argument
279 vlan = batadv_orig_node_vlan_new(orig_node, vid); in batadv_tt_global_size_mod()
284 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
286 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
299 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node, in batadv_tt_global_size_inc() argument
302 batadv_tt_global_size_mod(orig_node, vid, 1); in batadv_tt_global_size_inc()
311 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node, in batadv_tt_global_size_dec() argument
314 batadv_tt_global_size_mod(orig_node, vid, -1); in batadv_tt_global_size_dec()
325 batadv_orig_node_free_ref(orig_entry->orig_node); in batadv_tt_orig_list_entry_release()
631 orig_entry->orig_node); in batadv_tt_local_add()
704 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node, in batadv_tt_prepare_tvlv_global_data() argument
715 list_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
737 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
741 list_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
1218 const struct batadv_orig_node *orig_node) in batadv_tt_global_orig_entry_find() argument
1226 if (tmp_orig_entry->orig_node != orig_node) in batadv_tt_global_orig_entry_find()
1244 const struct batadv_orig_node *orig_node) in batadv_tt_global_entry_has_orig() argument
1249 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node); in batadv_tt_global_entry_has_orig()
1260 struct batadv_orig_node *orig_node, int ttvn) in batadv_tt_global_orig_entry_add() argument
1264 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node); in batadv_tt_global_orig_entry_add()
1278 atomic_inc(&orig_node->refcount); in batadv_tt_global_orig_entry_add()
1279 batadv_tt_global_size_inc(orig_node, tt_global->common.vid); in batadv_tt_global_orig_entry_add()
1280 orig_entry->orig_node = orig_node; in batadv_tt_global_orig_entry_add()
1315 struct batadv_orig_node *orig_node, in batadv_tt_global_add() argument
1328 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_tt_global_add()
1392 orig_node)) in batadv_tt_global_add()
1424 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn); in batadv_tt_global_add()
1429 orig_node->orig); in batadv_tt_global_add()
1478 router = batadv_orig_router_get(orig_entry->orig_node, in batadv_transtable_best_orig()
1530 vlan = batadv_orig_node_vlan_get(best_entry->orig_node, in batadv_tt_global_print_entry()
1536 best_entry->orig_node->orig); in batadv_tt_global_print_entry()
1540 last_ttvn = atomic_read(&best_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1545 best_entry->ttvn, best_entry->orig_node->orig, in batadv_tt_global_print_entry()
1562 vlan = batadv_orig_node_vlan_get(orig_entry->orig_node, in batadv_tt_global_print_entry()
1568 orig_entry->orig_node->orig); in batadv_tt_global_print_entry()
1572 last_ttvn = atomic_read(&orig_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1577 orig_entry->ttvn, orig_entry->orig_node->orig, in batadv_tt_global_print_entry()
1641 batadv_tt_global_size_dec(orig_entry->orig_node, in batadv_tt_global_del_orig_entry()
1676 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig_node() argument
1687 if (orig_entry->orig_node == orig_node) { in batadv_tt_global_del_orig_node()
1691 orig_node->orig, in batadv_tt_global_del_orig_node()
1708 struct batadv_orig_node *orig_node, in batadv_tt_global_del_roaming() argument
1722 if (orig_entry->orig_node != orig_node) { in batadv_tt_global_del_roaming()
1738 orig_node, message); in batadv_tt_global_del_roaming()
1752 struct batadv_orig_node *orig_node, in batadv_tt_global_del() argument
1765 orig_node, message); in batadv_tt_global_del()
1797 orig_node, message); in batadv_tt_global_del()
1816 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig() argument
1848 orig_node, message); in batadv_tt_global_del_orig()
1862 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in batadv_tt_global_del_orig()
2001 struct batadv_orig_node *orig_node = NULL; in batadv_transtable_search() local
2026 orig_node = best_entry->orig_node; in batadv_transtable_search()
2027 if (orig_node && !atomic_inc_not_zero(&orig_node->refcount)) in batadv_transtable_search()
2028 orig_node = NULL; in batadv_transtable_search()
2037 return orig_node; in batadv_transtable_search()
2065 struct batadv_orig_node *orig_node, in batadv_tt_global_crc() argument
2108 orig_node)) in batadv_tt_global_crc()
2203 struct batadv_orig_node *orig_node, in batadv_tt_save_orig_buffer() argument
2210 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2212 kfree(orig_node->tt_buff); in batadv_tt_save_orig_buffer()
2213 orig_node->tt_buff_len = 0; in batadv_tt_save_orig_buffer()
2214 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC); in batadv_tt_save_orig_buffer()
2215 if (orig_node->tt_buff) { in batadv_tt_save_orig_buffer()
2216 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len); in batadv_tt_save_orig_buffer()
2217 orig_node->tt_buff_len = tt_buff_len; in batadv_tt_save_orig_buffer()
2220 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2243 struct batadv_orig_node *orig_node) in batadv_new_tt_req_node() argument
2249 if (batadv_compare_eth(tt_req_node_tmp, orig_node) && in batadv_new_tt_req_node()
2259 ether_addr_copy(tt_req_node->addr, orig_node->orig); in batadv_new_tt_req_node()
2289 const struct batadv_orig_node *orig_node = data_ptr; in batadv_tt_global_valid() local
2299 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node); in batadv_tt_global_valid()
2362 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node, in batadv_tt_global_check_crc() argument
2378 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv, in batadv_tt_global_check_crc()
2379 orig_node->orig, in batadv_tt_global_check_crc()
2383 vlan = batadv_orig_node_vlan_get(orig_node, in batadv_tt_global_check_crc()
2420 struct batadv_orig_node *orig_node) in batadv_tt_global_update_crc() argument
2427 list_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_global_update_crc()
2431 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, in batadv_tt_global_update_crc()
2435 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid); in batadv_tt_global_update_crc()
2670 struct batadv_orig_node *orig_node; in batadv_send_my_tt_response() local
2686 orig_node = batadv_orig_hash_find(bat_priv, req_src); in batadv_send_my_tt_response()
2687 if (!orig_node) in batadv_send_my_tt_response()
2749 orig_node->orig, full_table ? 'F' : '.', req_ttvn); in batadv_send_my_tt_response()
2763 if (orig_node) in batadv_send_my_tt_response()
2764 batadv_orig_node_free_ref(orig_node); in batadv_send_my_tt_response()
2792 struct batadv_orig_node *orig_node, in _batadv_tt_update_changes() argument
2802 batadv_tt_global_del(bat_priv, orig_node, in _batadv_tt_update_changes()
2808 if (!batadv_tt_global_add(bat_priv, orig_node, in _batadv_tt_update_changes()
2821 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in _batadv_tt_update_changes()
2829 struct batadv_orig_node *orig_node; in batadv_tt_fill_gtable() local
2831 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_tt_fill_gtable()
2832 if (!orig_node) in batadv_tt_fill_gtable()
2836 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in batadv_tt_fill_gtable()
2839 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries, in batadv_tt_fill_gtable()
2842 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
2843 kfree(orig_node->tt_buff); in batadv_tt_fill_gtable()
2844 orig_node->tt_buff_len = 0; in batadv_tt_fill_gtable()
2845 orig_node->tt_buff = NULL; in batadv_tt_fill_gtable()
2846 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
2848 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_fill_gtable()
2851 if (orig_node) in batadv_tt_fill_gtable()
2852 batadv_orig_node_free_ref(orig_node); in batadv_tt_fill_gtable()
2856 struct batadv_orig_node *orig_node, in batadv_tt_update_changes() argument
2860 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
2863 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
2865 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_update_changes()
2910 struct batadv_orig_node *orig_node = NULL; in batadv_handle_tt_response() local
2920 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_handle_tt_response()
2921 if (!orig_node) in batadv_handle_tt_response()
2924 spin_lock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
2936 batadv_tt_update_changes(bat_priv, orig_node, num_entries, in batadv_handle_tt_response()
2941 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_handle_tt_response()
2943 spin_unlock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
2956 if (orig_node) in batadv_handle_tt_response()
2957 batadv_orig_node_free_ref(orig_node); in batadv_handle_tt_response()
3054 struct batadv_orig_node *orig_node) in batadv_send_roam_adv() argument
3071 orig_node->orig, client, BATADV_PRINT_VID(vid)); in batadv_send_roam_adv()
3079 orig_node->orig, BATADV_TVLV_ROAM, 1, in batadv_send_roam_adv()
3312 struct batadv_orig_node *orig_node, in batadv_tt_update_orig() argument
3317 uint8_t orig_ttvn = (uint8_t)atomic_read(&orig_node->last_ttvn); in batadv_tt_update_orig()
3324 &orig_node->capa_initialized); in batadv_tt_update_orig()
3340 spin_lock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3342 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes, in batadv_tt_update_orig()
3349 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_tt_update_orig()
3351 spin_unlock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
3362 if (!batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3370 !batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
3375 orig_node->orig, ttvn, orig_ttvn, in batadv_tt_update_orig()
3377 batadv_send_tt_request(bat_priv, orig_node, ttvn, in batadv_tt_update_orig()
3438 struct batadv_orig_node *orig_node, in batadv_tt_add_temporary_global_entry() argument
3444 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid, in batadv_tt_add_temporary_global_entry()
3446 atomic_read(&orig_node->last_ttvn))) in batadv_tt_add_temporary_global_entry()
3451 addr, BATADV_PRINT_VID(vid), orig_node->orig); in batadv_tt_add_temporary_global_entry()
3636 struct batadv_orig_node *orig_node = NULL; in batadv_roam_tvlv_unicast_handler_v1() local
3648 orig_node = batadv_orig_hash_find(bat_priv, src); in batadv_roam_tvlv_unicast_handler_v1()
3649 if (!orig_node) in batadv_roam_tvlv_unicast_handler_v1()
3659 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client, in batadv_roam_tvlv_unicast_handler_v1()
3661 atomic_read(&orig_node->last_ttvn) + 1); in batadv_roam_tvlv_unicast_handler_v1()
3664 if (orig_node) in batadv_roam_tvlv_unicast_handler_v1()
3665 batadv_orig_node_free_ref(orig_node); in batadv_roam_tvlv_unicast_handler_v1()