Lines Matching refs:orig_node
48 * @orig_node: orig node which is to be configured
55 struct batadv_orig_node *orig_node,
62 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, recv_if);
66 spin_lock_bh(&orig_node->neigh_list_lock);
81 spin_unlock_bh(&orig_node->neigh_list_lock);
87 "Deleting route towards: %pM\n", orig_node->orig);
88 batadv_tt_global_del_orig(bat_priv, orig_node, -1,
95 orig_node->orig, neigh_node->addr);
100 orig_node->orig, neigh_node->addr,
112 * @orig_node: orig node which is to be configured
117 struct batadv_orig_node *orig_node,
123 if (!orig_node)
126 router = batadv_orig_router_get(orig_node, recv_if);
129 _batadv_update_route(bat_priv, orig_node, recv_if, neigh_node);
223 struct batadv_orig_node *orig_node = NULL;
246 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig);
247 if (!orig_node)
261 res = batadv_send_skb_to_orig(skb, orig_node, NULL);
284 if (orig_node)
285 batadv_orig_node_put(orig_node);
296 struct batadv_orig_node *orig_node = NULL;
314 orig_node = batadv_orig_hash_find(bat_priv, icmp_packet->orig);
315 if (!orig_node)
329 res = batadv_send_skb_to_orig(skb, orig_node, NULL);
339 if (orig_node)
340 batadv_orig_node_put(orig_node);
361 struct batadv_orig_node *orig_node = NULL;
416 orig_node = batadv_orig_hash_find(bat_priv, icmph->dst);
417 if (!orig_node)
430 res = batadv_send_skb_to_orig(skb, orig_node, recv_if);
438 if (orig_node)
439 batadv_orig_node_put(orig_node);
485 * batadv_last_bonding_get() - Get last_bonding_candidate of orig_node
486 * @orig_node: originator node whose last bonding candidate should be retrieved
493 batadv_last_bonding_get(struct batadv_orig_node *orig_node)
497 spin_lock_bh(&orig_node->neigh_list_lock);
498 last_bonding_candidate = orig_node->last_bonding_candidate;
502 spin_unlock_bh(&orig_node->neigh_list_lock);
508 * batadv_last_bonding_replace() - Replace last_bonding_candidate of orig_node
509 * @orig_node: originator node whose bonding candidates should be replaced
513 batadv_last_bonding_replace(struct batadv_orig_node *orig_node,
518 spin_lock_bh(&orig_node->neigh_list_lock);
519 old_candidate = orig_node->last_bonding_candidate;
523 orig_node->last_bonding_candidate = new_candidate;
524 spin_unlock_bh(&orig_node->neigh_list_lock);
533 * @orig_node: the destination node
536 * Return: the router which should be used for this orig_node on
541 struct batadv_orig_node *orig_node,
554 if (!orig_node)
557 router = batadv_orig_router_get(orig_node, recv_if);
577 last_candidate = batadv_last_bonding_get(orig_node);
581 hlist_for_each_entry_rcu(cand, &orig_node->ifinfo_list, list) {
647 batadv_last_bonding_replace(orig_node, next_candidate);
653 batadv_last_bonding_replace(orig_node, first_candidate);
655 batadv_last_bonding_replace(orig_node, NULL);
679 struct batadv_orig_node *orig_node = NULL;
695 orig_node = batadv_orig_hash_find(bat_priv, unicast_packet->dest);
697 if (!orig_node)
725 res = batadv_send_skb_to_orig(skb, orig_node, recv_if);
740 batadv_orig_node_put(orig_node);
766 struct batadv_orig_node *orig_node = NULL;
778 orig_node = batadv_transtable_search(bat_priv, NULL, dst_addr,
780 if (!orig_node)
783 if (batadv_compare_eth(orig_node->orig, unicast_packet->dest))
786 orig_addr = orig_node->orig;
787 orig_ttvn = (u8)atomic_read(&orig_node->last_ttvn);
800 if (orig_node)
801 batadv_orig_node_put(orig_node);
811 struct batadv_orig_node *orig_node;
860 orig_node = batadv_orig_hash_find(bat_priv,
862 /* if it is not possible to find the orig_node representing the
866 if (!orig_node)
869 curr_ttvn = (u8)atomic_read(&orig_node->last_ttvn);
870 batadv_orig_node_put(orig_node);
965 struct batadv_orig_node *orig_node = NULL, *orig_node_gw = NULL;
1026 orig_node = batadv_orig_hash_find(bat_priv,
1041 orig_node);
1044 if (orig_node)
1045 batadv_orig_node_put(orig_node);
1191 struct batadv_orig_node *orig_node = NULL;
1226 orig_node = batadv_orig_hash_find(bat_priv, bcast_packet->orig);
1228 if (!orig_node)
1231 spin_lock_bh(&orig_node->bcast_seqno_lock);
1235 if (batadv_test_bit(orig_node->bcast_bits, orig_node->last_bcast_seqno,
1239 seq_diff = seqno - orig_node->last_bcast_seqno;
1244 &orig_node->bcast_seqno_reset, NULL))
1250 if (batadv_bit_get_packet(bat_priv, orig_node->bcast_bits, seq_diff, 1))
1251 orig_node->last_bcast_seqno = seqno;
1253 spin_unlock_bh(&orig_node->bcast_seqno_lock);
1267 if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))
1278 batadv_interface_rx(recv_if->soft_iface, skb, hdr_size, orig_node);
1285 spin_unlock_bh(&orig_node->bcast_seqno_lock);
1289 if (orig_node)
1290 batadv_orig_node_put(orig_node);