Lines Matching refs:orig_node

68 				 struct batadv_orig_node *orig_node);
73 struct batadv_orig_node *orig_node,
374 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node, in batadv_tt_global_size_mod() argument
379 vlan = batadv_orig_node_vlan_new(orig_node, vid); in batadv_tt_global_size_mod()
384 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
389 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_global_size_mod()
401 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node, in batadv_tt_global_size_inc() argument
404 batadv_tt_global_size_mod(orig_node, vid, 1); in batadv_tt_global_size_inc()
413 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node, in batadv_tt_global_size_dec() argument
416 batadv_tt_global_size_mod(orig_node, vid, -1); in batadv_tt_global_size_dec()
444 batadv_orig_node_put(orig_entry->orig_node); in batadv_tt_orig_list_entry_release()
777 orig_entry->orig_node); in batadv_tt_local_add()
851 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node, in batadv_tt_prepare_tvlv_global_data() argument
864 spin_lock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
865 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
887 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
891 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) { in batadv_tt_prepare_tvlv_global_data()
902 spin_unlock_bh(&orig_node->vlan_list_lock); in batadv_tt_prepare_tvlv_global_data()
1532 const struct batadv_orig_node *orig_node) in batadv_tt_global_orig_entry_find() argument
1540 if (tmp_orig_entry->orig_node != orig_node) in batadv_tt_global_orig_entry_find()
1567 const struct batadv_orig_node *orig_node, in batadv_tt_global_entry_has_orig() argument
1573 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node); in batadv_tt_global_entry_has_orig()
1619 struct batadv_orig_node *orig_node, int ttvn, in batadv_tt_global_orig_entry_add() argument
1626 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node); in batadv_tt_global_orig_entry_add()
1641 kref_get(&orig_node->refcount); in batadv_tt_global_orig_entry_add()
1642 batadv_tt_global_size_inc(orig_node, tt_global->common.vid); in batadv_tt_global_orig_entry_add()
1643 orig_entry->orig_node = orig_node; in batadv_tt_global_orig_entry_add()
1682 struct batadv_orig_node *orig_node, in batadv_tt_global_add() argument
1694 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid)) in batadv_tt_global_add()
1762 orig_node, NULL)) in batadv_tt_global_add()
1801 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn, in batadv_tt_global_add()
1807 orig_node->orig); in batadv_tt_global_add()
1856 router = batadv_orig_router_get(orig_entry->orig_node, in batadv_transtable_best_orig()
1909 vlan = batadv_orig_node_vlan_get(best_entry->orig_node, in batadv_tt_global_print_entry()
1915 best_entry->orig_node->orig); in batadv_tt_global_print_entry()
1919 last_ttvn = atomic_read(&best_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1924 best_entry->ttvn, best_entry->orig_node->orig, in batadv_tt_global_print_entry()
1941 vlan = batadv_orig_node_vlan_get(orig_entry->orig_node, in batadv_tt_global_print_entry()
1947 orig_entry->orig_node->orig); in batadv_tt_global_print_entry()
1951 last_ttvn = atomic_read(&orig_entry->orig_node->last_ttvn); in batadv_tt_global_print_entry()
1956 orig_entry->ttvn, orig_entry->orig_node->orig, in batadv_tt_global_print_entry()
2038 vlan = batadv_orig_node_vlan_get(orig->orig_node, in batadv_tt_global_dump_subentry()
2053 last_ttvn = atomic_read(&orig->orig_node->last_ttvn); in batadv_tt_global_dump_subentry()
2057 orig->orig_node->orig) || in batadv_tt_global_dump_subentry()
2245 batadv_tt_global_size_dec(orig_entry->orig_node, in _batadv_tt_global_del_orig_entry()
2283 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig_node() argument
2294 if (orig_entry->orig_node == orig_node) { in batadv_tt_global_del_orig_node()
2298 orig_node->orig, in batadv_tt_global_del_orig_node()
2315 struct batadv_orig_node *orig_node, in batadv_tt_global_del_roaming() argument
2329 if (orig_entry->orig_node != orig_node) { in batadv_tt_global_del_roaming()
2345 orig_node, message); in batadv_tt_global_del_roaming()
2360 struct batadv_orig_node *orig_node, in batadv_tt_global_del() argument
2373 orig_node, message); in batadv_tt_global_del()
2405 orig_node, message); in batadv_tt_global_del()
2425 struct batadv_orig_node *orig_node, in batadv_tt_global_del_orig() argument
2457 orig_node, message); in batadv_tt_global_del_orig()
2471 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in batadv_tt_global_del_orig()
2608 struct batadv_orig_node *orig_node = NULL; in batadv_transtable_search() local
2633 orig_node = best_entry->orig_node; in batadv_transtable_search()
2634 if (orig_node && !kref_get_unless_zero(&orig_node->refcount)) in batadv_transtable_search()
2635 orig_node = NULL; in batadv_transtable_search()
2644 return orig_node; in batadv_transtable_search()
2672 struct batadv_orig_node *orig_node, in batadv_tt_global_crc() argument
2716 orig_node); in batadv_tt_global_crc()
2838 struct batadv_orig_node *orig_node, in batadv_tt_save_orig_buffer() argument
2845 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2847 kfree(orig_node->tt_buff); in batadv_tt_save_orig_buffer()
2848 orig_node->tt_buff_len = 0; in batadv_tt_save_orig_buffer()
2849 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC); in batadv_tt_save_orig_buffer()
2850 if (orig_node->tt_buff) { in batadv_tt_save_orig_buffer()
2851 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len); in batadv_tt_save_orig_buffer()
2852 orig_node->tt_buff_len = tt_buff_len; in batadv_tt_save_orig_buffer()
2855 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_save_orig_buffer()
2884 struct batadv_orig_node *orig_node) in batadv_tt_req_node_new() argument
2890 if (batadv_compare_eth(tt_req_node_tmp, orig_node) && in batadv_tt_req_node_new()
2901 ether_addr_copy(tt_req_node->addr, orig_node->orig); in batadv_tt_req_node_new()
2955 const struct batadv_orig_node *orig_node = data_ptr; in batadv_tt_global_valid() local
2965 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node, in batadv_tt_global_valid()
3039 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node, in batadv_tt_global_check_crc() argument
3055 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv, in batadv_tt_global_check_crc()
3056 orig_node->orig, in batadv_tt_global_check_crc()
3060 vlan = batadv_orig_node_vlan_get(orig_node, in batadv_tt_global_check_crc()
3077 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) in batadv_tt_global_check_crc()
3109 struct batadv_orig_node *orig_node) in batadv_tt_global_update_crc() argument
3116 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) { in batadv_tt_global_update_crc()
3120 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, in batadv_tt_global_update_crc()
3124 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid); in batadv_tt_global_update_crc()
3368 struct batadv_orig_node *orig_node; in batadv_send_my_tt_response() local
3384 orig_node = batadv_orig_hash_find(bat_priv, req_src); in batadv_send_my_tt_response()
3385 if (!orig_node) in batadv_send_my_tt_response()
3447 orig_node->orig, full_table ? 'F' : '.', req_ttvn); in batadv_send_my_tt_response()
3461 if (orig_node) in batadv_send_my_tt_response()
3462 batadv_orig_node_put(orig_node); in batadv_send_my_tt_response()
3490 struct batadv_orig_node *orig_node, in _batadv_tt_update_changes() argument
3500 batadv_tt_global_del(bat_priv, orig_node, in _batadv_tt_update_changes()
3506 if (!batadv_tt_global_add(bat_priv, orig_node, in _batadv_tt_update_changes()
3519 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized); in _batadv_tt_update_changes()
3527 struct batadv_orig_node *orig_node; in batadv_tt_fill_gtable() local
3529 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_tt_fill_gtable()
3530 if (!orig_node) in batadv_tt_fill_gtable()
3534 batadv_tt_global_del_orig(bat_priv, orig_node, -1, in batadv_tt_fill_gtable()
3537 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries, in batadv_tt_fill_gtable()
3540 spin_lock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3541 kfree(orig_node->tt_buff); in batadv_tt_fill_gtable()
3542 orig_node->tt_buff_len = 0; in batadv_tt_fill_gtable()
3543 orig_node->tt_buff = NULL; in batadv_tt_fill_gtable()
3544 spin_unlock_bh(&orig_node->tt_buff_lock); in batadv_tt_fill_gtable()
3546 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_fill_gtable()
3549 if (orig_node) in batadv_tt_fill_gtable()
3550 batadv_orig_node_put(orig_node); in batadv_tt_fill_gtable()
3554 struct batadv_orig_node *orig_node, in batadv_tt_update_changes() argument
3558 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3561 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change, in batadv_tt_update_changes()
3563 atomic_set(&orig_node->last_ttvn, ttvn); in batadv_tt_update_changes()
3609 struct batadv_orig_node *orig_node = NULL; in batadv_handle_tt_response() local
3619 orig_node = batadv_orig_hash_find(bat_priv, resp_src); in batadv_handle_tt_response()
3620 if (!orig_node) in batadv_handle_tt_response()
3623 spin_lock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3635 batadv_tt_update_changes(bat_priv, orig_node, num_entries, in batadv_handle_tt_response()
3640 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_handle_tt_response()
3642 spin_unlock_bh(&orig_node->tt_lock); in batadv_handle_tt_response()
3655 if (orig_node) in batadv_handle_tt_response()
3656 batadv_orig_node_put(orig_node); in batadv_handle_tt_response()
3758 struct batadv_orig_node *orig_node) in batadv_send_roam_adv() argument
3775 orig_node->orig, client, batadv_print_vid(vid)); in batadv_send_roam_adv()
3783 orig_node->orig, BATADV_TVLV_ROAM, 1, in batadv_send_roam_adv()
4018 struct batadv_orig_node *orig_node, in batadv_tt_update_orig() argument
4023 u8 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn); in batadv_tt_update_orig()
4030 &orig_node->capa_initialized); in batadv_tt_update_orig()
4046 spin_lock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
4048 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes, in batadv_tt_update_orig()
4055 batadv_tt_global_update_crc(bat_priv, orig_node); in batadv_tt_update_orig()
4057 spin_unlock_bh(&orig_node->tt_lock); in batadv_tt_update_orig()
4068 if (!batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
4076 !batadv_tt_global_check_crc(orig_node, tt_vlan, in batadv_tt_update_orig()
4081 orig_node->orig, ttvn, orig_ttvn, in batadv_tt_update_orig()
4083 batadv_send_tt_request(bat_priv, orig_node, ttvn, in batadv_tt_update_orig()
4153 struct batadv_orig_node *orig_node, in batadv_tt_add_temporary_global_entry() argument
4163 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid, in batadv_tt_add_temporary_global_entry()
4165 atomic_read(&orig_node->last_ttvn))) in batadv_tt_add_temporary_global_entry()
4170 addr, batadv_print_vid(vid), orig_node->orig); in batadv_tt_add_temporary_global_entry()
4355 struct batadv_orig_node *orig_node = NULL; in batadv_roam_tvlv_unicast_handler_v1() local
4367 orig_node = batadv_orig_hash_find(bat_priv, src); in batadv_roam_tvlv_unicast_handler_v1()
4368 if (!orig_node) in batadv_roam_tvlv_unicast_handler_v1()
4378 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client, in batadv_roam_tvlv_unicast_handler_v1()
4380 atomic_read(&orig_node->last_ttvn) + 1); in batadv_roam_tvlv_unicast_handler_v1()
4383 if (orig_node) in batadv_roam_tvlv_unicast_handler_v1()
4384 batadv_orig_node_put(orig_node); in batadv_roam_tvlv_unicast_handler_v1()