Lines Matching refs:orig_node
80 struct batadv_orig_node *orig_node);
85 struct batadv_orig_node *orig_node,
387 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node, in batadv_tt_global_size_mod() argument
392 vlan = batadv_orig_node_vlan_new(orig_node, vid); in batadv_tt_global_size_mod()
397 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
402 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
414 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node, in batadv_tt_global_size_inc() argument
417 batadv_tt_global_size_mod(orig_node, vid, 1); in batadv_tt_global_size_inc()
426 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node, in batadv_tt_global_size_dec() argument
429 batadv_tt_global_size_mod(orig_node, vid, -1); in batadv_tt_global_size_dec()
457 batadv_orig_node_put(orig_entry->orig_node); in batadv_tt_orig_list_entry_release()
778 orig_entry->orig_node); in batadv_tt_local_add()
852 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node, in batadv_tt_prepare_tvlv_global_data() argument
865 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
866 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
888 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
892 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
903 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
1524 const struct batadv_orig_node *orig_node) in batadv_tt_global_orig_entry_find() argument
1532 if (tmp_orig_entry->orig_node != orig_node) in batadv_tt_global_orig_entry_find()
1559 const struct batadv_orig_node *orig_node, in batadv_tt_global_entry_has_orig() argument
1565 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node); in batadv_tt_global_entry_has_orig()
1611 struct batadv_orig_node *orig_node, int ttvn, in batadv_tt_global_orig_entry_add() argument
1618 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node); in batadv_tt_global_orig_entry_add()
1633 kref_get(&orig_node->refcount); in batadv_tt_global_orig_entry_add()
1634 batadv_tt_global_size_inc(orig_node, tt_global->common.vid); in batadv_tt_global_orig_entry_add()
1635 orig_entry->orig_node = orig_node; in batadv_tt_global_orig_entry_add()
1674 struct batadv_orig_node *orig_node, in batadv_tt_global_add() argument
1686 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_tt_global_add()
1754 orig_node, NULL)) in batadv_tt_global_add()
1793 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn, in batadv_tt_global_add()
1799 orig_node->orig); in batadv_tt_global_add()
1848 router = batadv_orig_router_get(orig_entry->orig_node, in batadv_transtable_best_orig()
1901 vlan = batadv_orig_node_vlan_get(best_entry->orig_node, in batadv_tt_global_print_entry()
1907 best_entry->orig_node->orig); in batadv_tt_global_print_entry()
1911 last_ttvn = atomic_read(&best_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1916 best_entry->ttvn, best_entry->orig_node->orig, in batadv_tt_global_print_entry()
1933 vlan = batadv_orig_node_vlan_get(orig_entry->orig_node, in batadv_tt_global_print_entry()
1939 orig_entry->orig_node->orig); in batadv_tt_global_print_entry()
1943 last_ttvn = atomic_read(&orig_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1948 orig_entry->ttvn, orig_entry->orig_node->orig, in batadv_tt_global_print_entry()
2030 vlan = batadv_orig_node_vlan_get(orig->orig_node, in batadv_tt_global_dump_subentry()
2045 last_ttvn = atomic_read(&orig->orig_node->last_ttvn); in batadv_tt_global_dump_subentry()
2049 orig->orig_node->orig) || in batadv_tt_global_dump_subentry()
2237 batadv_tt_global_size_dec(orig_entry->orig_node, in _batadv_tt_global_del_orig_entry()
2275 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig_node() argument
2286 if (orig_entry->orig_node == orig_node) { in batadv_tt_global_del_orig_node()
2290 orig_node->orig, in batadv_tt_global_del_orig_node()
2307 struct batadv_orig_node *orig_node, in batadv_tt_global_del_roaming() argument
2321 if (orig_entry->orig_node != orig_node) { in batadv_tt_global_del_roaming()
2337 orig_node, message); in batadv_tt_global_del_roaming()
2352 struct batadv_orig_node *orig_node, in batadv_tt_global_del() argument
2365 orig_node, message); in batadv_tt_global_del()
2397 orig_node, message); in batadv_tt_global_del()
2417 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig() argument
2449 orig_node, message); in batadv_tt_global_del_orig()
2463 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in batadv_tt_global_del_orig()
2600 struct batadv_orig_node *orig_node = NULL; in batadv_transtable_search() local
2625 orig_node = best_entry->orig_node; in batadv_transtable_search()
2626 if (orig_node && !kref_get_unless_zero(&orig_node->refcount)) in batadv_transtable_search()
2627 orig_node = NULL; in batadv_transtable_search()
2636 return orig_node; in batadv_transtable_search()
2664 struct batadv_orig_node *orig_node, in batadv_tt_global_crc() argument
2708 orig_node); in batadv_tt_global_crc()
2830 struct batadv_orig_node *orig_node, in batadv_tt_save_orig_buffer() argument
2837 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2839 kfree(orig_node->tt_buff); in batadv_tt_save_orig_buffer()
2840 orig_node->tt_buff_len = 0; in batadv_tt_save_orig_buffer()
2841 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC); in batadv_tt_save_orig_buffer()
2842 if (orig_node->tt_buff) { in batadv_tt_save_orig_buffer()
2843 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len); in batadv_tt_save_orig_buffer()
2844 orig_node->tt_buff_len = tt_buff_len; in batadv_tt_save_orig_buffer()
2847 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2876 struct batadv_orig_node *orig_node) in batadv_tt_req_node_new() argument
2882 if (batadv_compare_eth(tt_req_node_tmp, orig_node) && in batadv_tt_req_node_new()
2893 ether_addr_copy(tt_req_node->addr, orig_node->orig); in batadv_tt_req_node_new()
2947 const struct batadv_orig_node *orig_node = data_ptr; in batadv_tt_global_valid() local
2957 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node, in batadv_tt_global_valid()
3031 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node, in batadv_tt_global_check_crc() argument
3047 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv, in batadv_tt_global_check_crc()
3048 orig_node->orig, in batadv_tt_global_check_crc()
3052 vlan = batadv_orig_node_vlan_get(orig_node, in batadv_tt_global_check_crc()
3069 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) in batadv_tt_global_check_crc()
3101 struct batadv_orig_node *orig_node) in batadv_tt_global_update_crc() argument
3108 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_global_update_crc()
3112 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, in batadv_tt_global_update_crc()
3116 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid); in batadv_tt_global_update_crc()
3360 struct batadv_orig_node *orig_node; in batadv_send_my_tt_response() local
3376 orig_node = batadv_orig_hash_find(bat_priv, req_src); in batadv_send_my_tt_response()
3377 if (!orig_node) in batadv_send_my_tt_response()
3439 orig_node->orig, full_table ? 'F' : '.', req_ttvn); in batadv_send_my_tt_response()
3453 if (orig_node) in batadv_send_my_tt_response()
3454 batadv_orig_node_put(orig_node); in batadv_send_my_tt_response()
3482 struct batadv_orig_node *orig_node, in _batadv_tt_update_changes() argument
3492 batadv_tt_global_del(bat_priv, orig_node, in _batadv_tt_update_changes()
3498 if (!batadv_tt_global_add(bat_priv, orig_node, in _batadv_tt_update_changes()
3511 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in _batadv_tt_update_changes()
3519 struct batadv_orig_node *orig_node; in batadv_tt_fill_gtable() local
3521 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_tt_fill_gtable()
3522 if (!orig_node) in batadv_tt_fill_gtable()
3526 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in batadv_tt_fill_gtable()
3529 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries, in batadv_tt_fill_gtable()
3532 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3533 kfree(orig_node->tt_buff); in batadv_tt_fill_gtable()
3534 orig_node->tt_buff_len = 0; in batadv_tt_fill_gtable()
3535 orig_node->tt_buff = NULL; in batadv_tt_fill_gtable()
3536 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3538 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_fill_gtable()
3541 if (orig_node) in batadv_tt_fill_gtable()
3542 batadv_orig_node_put(orig_node); in batadv_tt_fill_gtable()
3546 struct batadv_orig_node *orig_node, in batadv_tt_update_changes() argument
3550 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3553 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3555 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_update_changes()
3601 struct batadv_orig_node *orig_node = NULL; in batadv_handle_tt_response() local
3611 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_handle_tt_response()
3612 if (!orig_node) in batadv_handle_tt_response()
3615 spin_lock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3627 batadv_tt_update_changes(bat_priv, orig_node, num_entries, in batadv_handle_tt_response()
3632 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_handle_tt_response()
3634 spin_unlock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3647 if (orig_node) in batadv_handle_tt_response()
3648 batadv_orig_node_put(orig_node); in batadv_handle_tt_response()
3750 struct batadv_orig_node *orig_node) in batadv_send_roam_adv() argument
3767 orig_node->orig, client, batadv_print_vid(vid)); in batadv_send_roam_adv()
3775 orig_node->orig, BATADV_TVLV_ROAM, 1, in batadv_send_roam_adv()
4008 struct batadv_orig_node *orig_node, in batadv_tt_update_orig() argument
4013 u8 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_tt_update_orig()
4020 &orig_node->capa_initialized); in batadv_tt_update_orig()
4036 spin_lock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
4038 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes, in batadv_tt_update_orig()
4045 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_tt_update_orig()
4047 spin_unlock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
4058 if (!batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
4066 !batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
4071 orig_node->orig, ttvn, orig_ttvn, in batadv_tt_update_orig()
4073 batadv_send_tt_request(bat_priv, orig_node, ttvn, in batadv_tt_update_orig()
4143 struct batadv_orig_node *orig_node, in batadv_tt_add_temporary_global_entry() argument
4153 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid, in batadv_tt_add_temporary_global_entry()
4155 atomic_read(&orig_node->last_ttvn))) in batadv_tt_add_temporary_global_entry()
4160 addr, batadv_print_vid(vid), orig_node->orig); in batadv_tt_add_temporary_global_entry()
4345 struct batadv_orig_node *orig_node = NULL; in batadv_roam_tvlv_unicast_handler_v1() local
4357 orig_node = batadv_orig_hash_find(bat_priv, src); in batadv_roam_tvlv_unicast_handler_v1()
4358 if (!orig_node) in batadv_roam_tvlv_unicast_handler_v1()
4368 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client, in batadv_roam_tvlv_unicast_handler_v1()
4370 atomic_read(&orig_node->last_ttvn) + 1); in batadv_roam_tvlv_unicast_handler_v1()
4373 if (orig_node) in batadv_roam_tvlv_unicast_handler_v1()
4374 batadv_orig_node_put(orig_node); in batadv_roam_tvlv_unicast_handler_v1()