Lines Matching refs:orig_node
47 * @orig_node: orig node which is to be configured
54 struct batadv_orig_node *orig_node,
61 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, recv_if);
65 spin_lock_bh(&orig_node->neigh_list_lock);
80 spin_unlock_bh(&orig_node->neigh_list_lock);
86 "Deleting route towards: %pM\n", orig_node->orig);
87 batadv_tt_global_del_orig(bat_priv, orig_node, -1,
94 orig_node->orig, neigh_node->addr);
99 orig_node->orig, neigh_node->addr,
110 * @orig_node: orig node which is to be configured
115 struct batadv_orig_node *orig_node,
121 if (!orig_node)
124 router = batadv_orig_router_get(orig_node, recv_if);
127 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node);
220 struct batadv_orig_node *orig_node = NULL;
234 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig);
235 if (!orig_node)
249 res = batadv_send_skb_to_orig(skb, orig_node, NULL);
271 batadv_orig_node_put(orig_node);
282 struct batadv_orig_node *orig_node = NULL;
300 orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->orig);
301 if (!orig_node)
315 res = batadv_send_skb_to_orig(skb, orig_node, NULL);
324 batadv_orig_node_put(orig_node);
345 struct batadv_orig_node *orig_node = NULL;
400 orig_node = batadv_orig_hash_find(bat_priv, icmph->dst);
401 if (!orig_node)
414 res = batadv_send_skb_to_orig(skb, orig_node, recv_if);
422 batadv_orig_node_put(orig_node);
468 * batadv_last_bonding_get() - Get last_bonding_candidate of orig_node
469 * @orig_node: originator node whose last bonding candidate should be retrieved
476 batadv_last_bonding_get(struct batadv_orig_node *orig_node)
480 spin_lock_bh(&orig_node->neigh_list_lock);
481 last_bonding_candidate = orig_node->last_bonding_candidate;
485 spin_unlock_bh(&orig_node->neigh_list_lock);
491 * batadv_last_bonding_replace() - Replace last_bonding_candidate of orig_node
492 * @orig_node: originator node whose bonding candidates should be replaced
496 batadv_last_bonding_replace(struct batadv_orig_node *orig_node,
501 spin_lock_bh(&orig_node->neigh_list_lock);
502 old_candidate = orig_node->last_bonding_candidate;
506 orig_node->last_bonding_candidate = new_candidate;
507 spin_unlock_bh(&orig_node->neigh_list_lock);
515 * @orig_node: the destination node
518 * Return: the router which should be used for this orig_node on
523 struct batadv_orig_node *orig_node,
536 if (!orig_node)
539 router = batadv_orig_router_get(orig_node, recv_if);
559 last_candidate = batadv_last_bonding_get(orig_node);
563 hlist_for_each_entry_rcu(cand, &orig_node->ifinfo_list, list) {
629 batadv_last_bonding_replace(orig_node, next_candidate);
635 batadv_last_bonding_replace(orig_node, first_candidate);
637 batadv_last_bonding_replace(orig_node, NULL);
660 struct batadv_orig_node *orig_node = NULL;
676 orig_node = batadv_orig_hash_find(bat_priv, unicast_packet->dest);
678 if (!orig_node)
706 res = batadv_send_skb_to_orig(skb, orig_node, recv_if);
721 batadv_orig_node_put(orig_node);
747 struct batadv_orig_node *orig_node = NULL;
760 orig_node = batadv_transtable_search(bat_priv, NULL, dst_addr,
762 if (!orig_node)
765 if (batadv_compare_eth(orig_node->orig, unicast_packet->dest))
768 orig_addr = orig_node->orig;
769 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn);
781 batadv_orig_node_put(orig_node);
791 struct batadv_orig_node *orig_node;
840 orig_node = batadv_orig_hash_find(bat_priv,
842 /* if it is not possible to find the orig_node representing the
846 if (!orig_node)
849 curr_ttvn = (u8)atomic_read(&orig_node->last_ttvn);
850 batadv_orig_node_put(orig_node);
945 struct batadv_orig_node *orig_node = NULL, *orig_node_gw = NULL;
1006 orig_node = batadv_orig_hash_find(bat_priv,
1021 orig_node);
1024 batadv_orig_node_put(orig_node);
1169 struct batadv_orig_node *orig_node = NULL;
1204 orig_node = batadv_orig_hash_find(bat_priv, bcast_packet->orig);
1206 if (!orig_node)
1209 spin_lock_bh(&orig_node->bcast_seqno_lock);
1213 if (batadv_test_bit(orig_node->bcast_bits, orig_node->last_bcast_seqno,
1217 seq_diff = seqno - orig_node->last_bcast_seqno;
1222 &orig_node->bcast_seqno_reset, NULL))
1228 if (batadv_bit_get_packet(bat_priv, orig_node->bcast_bits, seq_diff, 1))
1229 orig_node->last_bcast_seqno = seqno;
1231 spin_unlock_bh(&orig_node->bcast_seqno_lock);
1247 if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))
1258 batadv_interface_rx(recv_if->soft_iface, skb, hdr_size, orig_node);
1265 spin_unlock_bh(&orig_node->bcast_seqno_lock);
1270 batadv_orig_node_put(orig_node);