Lines Matching defs:orig_node

68 				 struct batadv_orig_node *orig_node);
73 struct batadv_orig_node *orig_node,
333 * for orig_node identified by vid
334 * @orig_node: the originator for which the table has to be modified
338 static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node,
343 vlan = batadv_orig_node_vlan_new(orig_node, vid);
348 spin_lock_bh(&orig_node->vlan_list_lock);
353 spin_unlock_bh(&orig_node->vlan_list_lock);
362 * @orig_node: the originator which global table size has to be decreased
365 static void batadv_tt_global_size_inc(struct batadv_orig_node *orig_node,
368 batadv_tt_global_size_mod(orig_node, vid, 1);
374 * @orig_node: the originator which global table size has to be decreased
377 static void batadv_tt_global_size_dec(struct batadv_orig_node *orig_node,
380 batadv_tt_global_size_mod(orig_node, vid, -1);
395 batadv_orig_node_put(orig_entry->orig_node);
725 orig_entry->orig_node);
779 * @orig_node: originator for which the TT data has to be prepared
794 batadv_tt_prepare_tvlv_global_data(struct batadv_orig_node *orig_node,
807 spin_lock_bh(&orig_node->vlan_list_lock);
808 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) {
829 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn);
833 hlist_for_each_entry(vlan, &orig_node->vlan_list, list) {
845 spin_unlock_bh(&orig_node->vlan_list_lock);
1392 * @orig_node: the originator for which the orig_list_entry has to be found
1394 * retrieve the orig_tt_list_entry belonging to orig_node from the
1401 const struct batadv_orig_node *orig_node)
1409 if (tmp_orig_entry->orig_node != orig_node)
1426 * @orig_node: the originator to search in the list
1428 * from @orig_node
1430 * find out if an orig_node is already in the list of a tt_global_entry.
1436 const struct batadv_orig_node *orig_node,
1442 orig_entry = batadv_tt_global_orig_entry_find(entry, orig_node);
1482 * @orig_node: the originator to add an orig entry for
1488 struct batadv_orig_node *orig_node, int ttvn,
1495 orig_entry = batadv_tt_global_orig_entry_find(tt_global, orig_node);
1510 kref_get(&orig_node->refcount);
1511 batadv_tt_global_size_inc(orig_node, tt_global->common.vid);
1512 orig_entry->orig_node = orig_node;
1533 * @orig_node: the originator announcing the client
1545 * The caller must hold the orig_node refcount.
1550 struct batadv_orig_node *orig_node,
1562 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig, vid))
1630 orig_node, NULL))
1669 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn,
1675 orig_node->orig);
1722 router = batadv_orig_router_get(orig_entry->orig_node,
1769 vlan = batadv_orig_node_vlan_get(orig->orig_node,
1784 last_ttvn = atomic_read(&orig->orig_node->last_ttvn);
1788 orig->orig_node->orig) ||
1966 batadv_tt_global_size_dec(orig_entry->orig_node,
1992 * batadv_tt_global_del_orig_node() - remove orig_node from a global tt entry
1994 * @tt_global_entry: the global entry to remove the orig_node from
1995 * @orig_node: the originator announcing the client
1998 * Remove the given orig_node and its according orig_entry from the given
2004 struct batadv_orig_node *orig_node,
2015 if (orig_entry->orig_node == orig_node) {
2019 orig_node->orig,
2036 struct batadv_orig_node *orig_node,
2050 if (orig_entry->orig_node != orig_node) {
2066 orig_node, message);
2073 * @orig_node: an originator serving this client
2081 struct batadv_orig_node *orig_node,
2094 orig_node, message);
2126 orig_node, message);
2138 * @orig_node: the originator owning the entries to remove
2144 struct batadv_orig_node *orig_node,
2176 orig_node, message);
2190 clear_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized);
2327 struct batadv_orig_node *orig_node = NULL;
2352 orig_node = best_entry->orig_node;
2353 if (orig_node && !kref_get_unless_zero(&orig_node->refcount))
2354 orig_node = NULL;
2361 return orig_node;
2366 * to the given orig_node
2368 * @orig_node: originator for which the CRC should be computed
2389 struct batadv_orig_node *orig_node,
2433 orig_node);
2558 struct batadv_orig_node *orig_node,
2565 spin_lock_bh(&orig_node->tt_buff_lock);
2567 kfree(orig_node->tt_buff);
2568 orig_node->tt_buff_len = 0;
2569 orig_node->tt_buff = kmalloc(tt_buff_len, GFP_ATOMIC);
2570 if (orig_node->tt_buff) {
2571 memcpy(orig_node->tt_buff, tt_buff, tt_buff_len);
2572 orig_node->tt_buff_len = tt_buff_len;
2575 spin_unlock_bh(&orig_node->tt_buff_lock);
2597 * @orig_node: orig node this request is being issued for
2600 * has already been issued for this orig_node, NULL otherwise.
2604 struct batadv_orig_node *orig_node)
2610 if (batadv_compare_eth(tt_req_node_tmp, orig_node) &&
2621 ether_addr_copy(tt_req_node->addr, orig_node->orig);
2660 * @data_ptr: an orig_node object (may be NULL)
2675 const struct batadv_orig_node *orig_node = data_ptr;
2685 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node,
2756 * @orig_node: originator for which the CRCs have to be checked
2763 static bool batadv_tt_global_check_crc(struct batadv_orig_node *orig_node,
2776 /* if orig_node is a backbone node for this VLAN, don't check
2779 if (batadv_bla_is_backbone_gw_orig(orig_node->bat_priv,
2780 orig_node->orig,
2784 vlan = batadv_orig_node_vlan_get(orig_node,
2801 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list)
2828 * batadv_tt_global_update_crc() - update all the global CRCs for this orig_node
2830 * @orig_node: the orig_node for which the CRCs have to be updated
2833 struct batadv_orig_node *orig_node)
2840 hlist_for_each_entry_rcu(vlan, &orig_node->vlan_list, list) {
2841 /* if orig_node is a backbone node for this VLAN, don't compute
2844 if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig,
2848 crc = batadv_tt_global_crc(bat_priv, orig_node, vlan->vid);
2883 * reply from the same orig_node yet
3005 /* Copy the last orig_node's OGM buffer */
3084 struct batadv_orig_node *orig_node;
3100 orig_node = batadv_orig_hash_find(bat_priv, req_src);
3101 if (!orig_node)
3131 /* Copy the last orig_node's OGM buffer */
3165 orig_node->orig, full_table ? 'F' : '.', req_ttvn);
3179 batadv_orig_node_put(orig_node);
3206 struct batadv_orig_node *orig_node,
3216 batadv_tt_global_del(bat_priv, orig_node,
3222 if (!batadv_tt_global_add(bat_priv, orig_node,
3235 set_bit(BATADV_ORIG_CAPA_HAS_TT, &orig_node->capa_initialized);
3243 struct batadv_orig_node *orig_node;
3245 orig_node = batadv_orig_hash_find(bat_priv, resp_src);
3246 if (!orig_node)
3250 batadv_tt_global_del_orig(bat_priv, orig_node, -1,
3253 _batadv_tt_update_changes(bat_priv, orig_node, tt_change, num_entries,
3256 spin_lock_bh(&orig_node->tt_buff_lock);
3257 kfree(orig_node->tt_buff);
3258 orig_node->tt_buff_len = 0;
3259 orig_node->tt_buff = NULL;
3260 spin_unlock_bh(&orig_node->tt_buff_lock);
3262 atomic_set(&orig_node->last_ttvn, ttvn);
3265 batadv_orig_node_put(orig_node);
3269 struct batadv_orig_node *orig_node,
3273 _batadv_tt_update_changes(bat_priv, orig_node, tt_change,
3276 batadv_tt_save_orig_buffer(bat_priv, orig_node, tt_change,
3278 atomic_set(&orig_node->last_ttvn, ttvn);
3323 struct batadv_orig_node *orig_node = NULL;
3332 orig_node = batadv_orig_hash_find(bat_priv, resp_src);
3333 if (!orig_node)
3336 spin_lock_bh(&orig_node->tt_lock);
3345 batadv_tt_update_changes(bat_priv, orig_node, num_entries,
3349 /* Recalculate the CRC for this orig_node and store it */
3350 batadv_tt_global_update_crc(bat_priv, orig_node);
3352 spin_unlock_bh(&orig_node->tt_lock);
3365 batadv_orig_node_put(orig_node);
3416 * reply from the same orig_node yet
3458 * @orig_node: message destination
3467 struct batadv_orig_node *orig_node)
3484 orig_node->orig, client, batadv_print_vid(vid));
3492 orig_node->orig, BATADV_TVLV_ROAM, 1,
3718 * @orig_node: the orig_node of the ogm
3726 struct batadv_orig_node *orig_node,
3731 u8 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn);
3738 &orig_node->capa_initialized);
3754 spin_lock_bh(&orig_node->tt_lock);
3756 batadv_tt_update_changes(bat_priv, orig_node, tt_num_changes,
3763 batadv_tt_global_update_crc(bat_priv, orig_node);
3765 spin_unlock_bh(&orig_node->tt_lock);
3776 if (!batadv_tt_global_check_crc(orig_node, tt_vlan,
3784 !batadv_tt_global_check_crc(orig_node, tt_vlan,
3789 orig_node->orig, ttvn, orig_ttvn,
3791 batadv_send_tt_request(bat_priv, orig_node, ttvn,
3854 * @orig_node: orig node which the temporary entry should be associated with
3861 struct batadv_orig_node *orig_node,
3871 if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid,
3873 atomic_read(&orig_node->last_ttvn)))
3878 addr, batadv_print_vid(vid), orig_node->orig);
3927 * @orig: the orig_node of the ogm
4062 struct batadv_orig_node *orig_node = NULL;
4074 orig_node = batadv_orig_hash_find(bat_priv, src);
4075 if (!orig_node)
4085 batadv_tt_global_add(bat_priv, orig_node, roaming_adv->client,
4087 atomic_read(&orig_node->last_ttvn) + 1);
4090 batadv_orig_node_put(orig_node);